Work in progress for next gen of NetbookBootInstaller by Meklort
- Image by Slaff via Flickr
In order to simplify the NetbookCD install process, we need some way to patch the dvd *after* it’s been loaded up. There are a few different ways to do this, however the easiest way is to use a feature built directly into the kernel, XNU.
It turns out that if the RAMDisk property exists in the device tree, xnu will automatically setup and mount a memory device that was previously loaded by the bootloader (in our case, Chameleon). Chameleon already supports loading ramdisks, so I’ve modified it to load a second, “Postboot.img” ramdisk form the preboot ramdisk (only way to get it off of the previously removed cd), and then setup the correct properties for the kernel. Now, in the event that apple removes the automount feature in xnu, we can easily write a simple kernel extension that does the equivalent (by using the mdevadd function).
I’ve uploaded an example postboot image as well as the patches to chameleon. They could be a *lot* better, but they work. The uploaded patch includes the following changes:
- Notifies xnu of a ramdisk, if it loads one.
- Modifies chameleon to look for Extensions/10.x/Extensions.mkext in the ramdisk like it does in the boot drive. (This allows for one boot cd instead of two like the current releases).
- Included some of the hibernation patches from netkas / pcefi 10.4.
- Modifies the memory layout so that a larger ramdisk can be used (NOTE: this is *not* needed, I only used it so that I could boot PureDarwin Nano from a ramdisk).
- The included patch also includes backing up the original dsdt (which has been used for some time with NetbookInstaller).
read the rest via How To: Turn a Dell Mini 10v Into the Ultimate OSX Netbook.