On Tuesday 07 December 2010 16:38 in alt.os.linux.debian, somebody
identifying as Aragorn, [email protected] wrote...
> Aragorn wrote:
>
>> As I see it, the best chances at implementing Wine itself on OS X
>> would be to have at least X.Org installed on it first.
>
> Admitted, I phrased my post poorly, but the idea was not to get wine
> to run on OS X, I was hoping for something *like* wine, but
> "emulating" OS X on Linux..
I must apologize myself. It would appear that I hadn't read your post
correctly. ;-)
> Let's see if someone knows anything... Though I guess FreeBSD makes it
> a bit different... Maybe I could run a virtual machine with some
> compatible FreeBSD version (if such a thing exists...)
Well, I think that for such a set-up, you would first have to install
either Xen - which is a bare metal hypervisor and would thus run
your "host" GNU/Linux system as a virtual machine itself - or use
VMWare in your host GNU/Linux system, and then perhaps install
a "hackintosh" version of OS X [1], but I'm pretty sure the latter
would be illegal, so it would not be fair to advise you to go that way.
I'm simply mentioning it from the technical point of view.
FreeBSD in itself is also not to be confused with OS X. Like GNU/Linux,
FreeBSD is a Free & Open Source Software UNIX-family operating system,
but there are quite a few differences. FreeBSD proper uses a
microkernel (called Mach) and uses a different init system, based upon
that of the proprietary BSD Unix versions, whereas GNU/Linux has
elements of both BSD and AT&T design in it, and uses the AT&T
Unix-style init sequence.
Other than that, FreeBSD is just like GNU/Linux and other UNIX/POSIX
systems. It uses a commandline shell - Bourne Shell, Korn Shell, C
Shell, Z shell, take your pick ;-) - and it can run an X11
implementation such as X.Org, with a window manager or desktop
environment of your choice - e.g. fvwm, KDE, Gnome with Compiz,
Enlightenment, XFCE, IceWM, et al.
OS X is based upon FreeBSD, but with some modifications. For starters,
OS X has a compound kernel, comprised of FreeBSD's Mach microkernel
with a proprietary add-on called XNU, developed by Apple. And although
OS X can run an X11 implementation just fine, it natively uses an
Apple-designed proprietary graphical user interface, which is not
compatible with the X11 protocol. This graphical user interface is
however essential to the functioning of Apple-specific software, and so
this is the main issue with regard to having an Apple ABI/API on
GNU/Linux or other UNIX systems.
OS X itself also boots differently from GNU/Linux or FreeBSD, because it
was specifically designed to be used on Apple hardware, and those are
machines with an EFI, rather than a legacy BIOS. There is a big
difference there, because EFI switches the x86 processor into protected
mode before any operating system is loaded, whereas a legacy x86 BIOS
runs in the processor's real mode - or, if needed, in "unreal" mode -
and it is the operating system's kernel loader [2] which has to switch
the processor into protected mode.
A machine with a legacy BIOS still basically boots the same way it would
under DOS - which is also the way DOS itself actually loads
applications into memory, i.e. it loads them and then passes control of
the machine to the application - whereas on a machine with an EFI
implementation, the bootloader becomes part of the EFI firmware. This
is thus one of the, again, illegal modifications to OS X in the
Hackintosh version, i.e. it had to be adapted to booting on a machine
with a legacy BIOS.
To return to the graphical environment, as I wrote in my initial reply,
an OS 9 implementation on top of GNU/Linux did exist at the time, but
this was not Free Software, and OS 9 is of course quite a different
thing from OS X. (OS X contains a compatibility layer for OS 9
applications, because they wouldn't be able to work in OS X's native
environment.)
[1] The "Hackintosh" is the nickname given to a version of OS X that
has been (illegally) modified to run on non-Apple hardware with
an Intel processor. It deserves to be noted that such a
"hacked OS X" will _only_ run on machines with an Intel x86
processor, and _not_ on any machines with AMD x86 processors.
[2] Not the bootloader, but the kernel loader. In Linux, this is a
section of real mode code which is part of the kernel image in
"/boot". The bootloader loads the kernel image into memory and
passes control of the machine to it. The kernel loader - also
called "kernel bootstrap code" - then sets up the pagetables,
moves the boot parameters to a safe location where the actual
kernel can retrieve them after the switch to protected mode,
and then it initializes protected mode and decompresses the
actual runtime kernel image, after which the real mode kernel
bootstrapping code is removed from memory. In Linux on x86,
the bootstrapping code is part of the kernel image in "/boot",
but other operating systems may use a separate file on disk
for the bootstrapping code and the actual runtime kernel image.
I don't know how this is implemented in BSD, but I do know that
GNU Hurd uses a separate kernel loader, and so does Windows NT.
Having the bootstrapping code separately makes it easier to port
a binary kernel between EFI and non-EFI machines which otherwise
use the same hardware, but in itself this is not very important.
EFI firmware based upon embedded Linux itself - e.g. CoreBoot -
does exist, as do actual distributions for such machines.
-- *Aragorn* (registered GNU/Linux user #223157)
--
Jerry Perkins - http://jperkins.us/
"If you don't read the newspaper you are uninformed, if you do read the newspaper
you are misinformed."
- Mark Twain
"I predict future happiness for Americans if they can prevent the government from
wasting the labors of the people under the pretense of taking care of them."
- Thomas Jefferson
--
You received this message because you are subscribed to the Google Groups
"NLUG" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nlug-talk?hl=en