Repository navigation
XNU,_the_kernel
Please note: This page has not been updated to take changes made in Darwin 10, or later into account.
This page is about the XNU kernel.
Both Apple vanilla mach_kernel and Voodoo xnu-dev are available and functional in PureDarwin.
It is a work in progress. Please contribute.
XNU is the kernel used by Darwin and Mac OS X (similar to what GNU/Linux kernel is in a Linux distro). XNU acronym stands for "X is Not Unix" (although Mac OS X has been Unix certified in 2007).
(please add some text)
- Not a microkernel (although using parts of the Mach microkernel)
- Not 64-bit (although able to run 64-bit binaries)
- Not so hard to recompile See here why the term kernel is used somewhat differently than you might expect.
- Mach 3.0
- BSD
- I/O Kit
XNU cannot boot by itself, since it always needs a certain set of kernel extensions (kexts) to be present. However, you can create a mach_kernel file that not only contains XNU itself, but also a defined set of kexts:
kextcache -a i386 -K /Volumes/PureDarwin/mach_kernel -c /tmp/mach_kernel.prelinked /Volumes/PureDarwin/System/Library/Extensions
The result is that you should have a file in /tmp/mach_kernel_prelinked that contains both XNU and the kexts.
Another example, fast boot and kext autoloaded:
kextcache -a i386 -s -l -n -c "$MOUNT/System/Library/Caches/com.apple.kernelcaches/kernelcache.DEADBEEF" -k -K "$MOUNT/mach_kernel" -m "$MOUNT/System/Library/Extensions.mkext" "$MOUNT/System/Library/Extensions"
The goal of this project is to make Darwin more usable by providing an installation ISO, documentation, and add-on software. You are welcome to join #puredarwin on irc.freenode.net or the Gitter chat if you would like to join PureDarwin development and to add to this site.
The Wiki pages were recently moved from Google Sites and in the conversion process some formatting was lost. Please help fixing the markdown of this page by editing it. But please delete nothing, especially not (broken) images; fix them instead (see the main page of the Wiki for an example).