Hello. Here is my xnu patch. Tested on i386-pc, i386-efi and x86_64-efi. On non-efi it needs efiemu otherwise you need only include/grub/autoefi.h file from efiemu patch. To resume xnu from hibernation do: xnu_resume Note: you don't need efiemu in this case How to boot xnu: [on pc only:] vbe_mode=0xYYY # desired vga mode fsb=133.3 # your fsb frequency xnu_kernel boot Modules can be inserted one of the following ways: 1) xnu_mkext 2) xnu_kext extension.kext 3) xnu_kext extension.kext/Info.plist extension.kext/extension 4) xnu_kextdir It's also possible to execute these commands multiple times The most typical case is xnu_kernel /mach_kernel rd=disk0sX xnu_mkext /System/Library/Extensions.mkext If you need to add values to device tree the command xnu_devtree This file uses the following format: valuename:valuedata; keyname{ contents } keyname, valuename and valuedata are in hex. If you need to adda ramdisk execute xnu_ramdisk ramdisk will be exposed as /dev/md0 which may be used as boot device with rd=md0. The areas which need more work (every help is welcome): 1) testing on different platforms 2) Detect "device-properties" value in device tree. There are several trivial values in device tree present in boot.efi but not in grub2. These ones are easy to add and AFAIK don't change anything. But the value "device-properties" is difficult. I already know it's format but not where the values come from. It contains info about gfx and sound card which may not work if this value is missing. The current workaround is xnu_devtree command with a dump of device-properties 3) autodetect fsb frequency 4) Support video splash 5) Define and use an unified interface to retrieve video information uniformly across platforms 6) Boot by UUID. I know how to do it but need md5 for it which is a part of pending luks patch 7) Scripts for automatic creating of grub.cfg entries 8) Support for prelinked kernel. It's compressed and I have yet looked how to decompress it (seems it's compressed with something called lzss) 9) Use claimmap once available (see my multiboot on efi patch) 10) Better collaboration with memory management once advanced mm's available 11) Resume from encrypted hibernation -- Regards Vladimir 'phcoder' Serbinenko