Unless the firmware expects a partitular partition table / filesystem on the
boot device. It sounds like the boot firmware in Macs is more like Grub than
the boot firmware in PCs. That is, the PC BIOS boot loads 512 bytes and
expects it to be 8086 machine code (or something like that) -- PC BIOSs don't
really have any sort of filesystem support. The Mac firmware apprears to
expect that the disk has a certain kind of partition table with a partitular
file system. I guess it 'mounts' this file system and loads a program / kernel
from this file system and fires that up. This is not really any different from
what RHEL does on generic PCs: a /boot file system with the kernel/initrd and
the rest of the disk formatted using LVM, with logical volumes (swap, root,
etc.) -- grub cannot manage LVM, but can manage ext2/3/4. The kernel, once
fired up, can deal with LVM. Basically, you use a 2 stage boot load process.
It sounds like you do one or two things:
1) Have a /boot partition & file system (MacOS file system) with the kernel
and initrd, with whatever config file(s) needed by the firmware to load and
start the kernel and initrd. Then there are additional partitions /
filesystems for root, swap, etc.
2) Have a MacOS file system with a Linux boot loader (ala Syslinux). The
Mac boot loader loads this program, which in turn looks for an *ext2/3/4*
/boot (or root) file system and loads the kernel and initrd from there and
fires that up.
>
> I have seen the VmWare approach. But why use emulation if a native
> approach can be used? It is foreign to me to put another layer of
> software between my programs and the hardware - it somewhat defeats the
> purpose of having fast hardware.
>
> Ross
>
--
Robert Heller --
978-544-6933 /
hel...@deepsoft.com
Deepwoods Software --
http://www.deepsoft.com/
() ascii ribbon campaign -- against html e-mail
/\
www.asciiribbon.org -- against proprietary attachments