These are reverse-engineered PowerPC assembly sources of the Mac OS NanoKernel. The work of reversing this unusual operating system kernel has been part of the CDG5 project.
Different git branches of this repository build different versions of
the NanoKernel. The master
branch builds a byte-perfect copy of the
first public release, which is found in the ROM of the first "Piltdown
Man" series of Power Macintoshes. Other master-*
branches build
subsequent versions, through the multitasking v2.x series right up to
the final public v2.28 release.
A binary of the NanoKernel shipped inside the 4 MB mask ROM of every "OldWorld" PowerPC Mac, and inside the disk-based "Mac OS ROM" file for "NewWorld" PowerPC Macs. Mac OS 8.6 and later also shipped with a disk-based kernel in the System file (resource 'krnl' 0), which can replace the running ROM-based kernel part-way through the boot process OldWorld system.
These sources can be built by Apple's PPCAsm
assembler with the help
of ksherlock's mpw runtime
environment. A Python script neatly wraps the build process and provides
commentary on the standard output. The NanoKernel binary is packaged
into several useful formats named NanoKernelBuild*
.
./EasyBuild
- all 1994 Power Macs (6100/7100/8100 and Workgroup Servers)
- early-1995 PDM spec bump
- built 1995-03-24 Power Mac/Performa 5200, 5300, 6200, 6300
- 1995-04-21 Power Mac 7200, 7500, 8500, 9500
- 1995-05-18 Power Mac 7200, 7500, 8500, 9500
- 1995-06-29 PowerBook 2300 (and 500 series PowerPC upgrade)
- 1996-01-26 Power Mac/Performa 6400
- 1996-11-14 Power Mac 6500
- 1997-11-10 Power Macintosh G3
- 1998 Wallstreet PowerBooks