expanding os_type() support to Solaris and Ubuntu, throwing if is_passthrough?