Download Kernel Source
First off you need to get the standard Linux 2.4 kernel source. The best place to get it from is Paulus' rsync archive, by using this rsync command:
rsync -avz penguinppc.org::linux-pmac-stable /usr/src/linux
This will download about 20 MB of Linux 2.4 source code to /usr/src/linux.
Download Nubus Patch
While Paulus' Linux 2.4 contains some Nubus PowerMac patches, it likely does not have the most up to date patches. Therefore, you should get the newest patch avalible at ftp://nubus-pmac.sourceforge.net/pub/nubus-pmac.
Once you get this patch, you can patch the kernel using this command:
gzip -cd /path/to/patch-2.4.0-xxx-xxxx.gz | patch -p1
MkLinux Booter or BootX Booter
At this point, you need choose which booter you want to use with your new kernel.
Most users will want to use BootX, as it is easiest to use and maintained.
If your monitor is hooked up to a HPV video card (such as the default with the PowerMac 7100 and the PowerComputing 120) you must use the MkLinux Booter.
PowerMac 7100 users, may alternatively use the HDI45 connectior that is on the motherboard of your machine.
Kernel Compile for the MkLinux Booter
Note: Due to the way the MkLinux Booter works, you must compile an PowerPC Linux ramdisk.image.gz (used to install most PowerPC Linux distros like LinuxPPC, Debian, etc.) inside of the Mach Kernel file. To do this, you must copy the gzip'd ramdisk.image.gz file to /usr/src/linux/arch/ppc/appleboot, before starting the compile.
Type in this commands, to clean the kernel, and create the nubus configuration.
make clean
make nubus_config
Next you need to run make menuconfig. Select any specfic drivers you need for your hardware.
Make any depends:
make dep
Make the fake Mach Kernel:
make zImage.initrd
/usr/src/linux/arch/ppc/appleboot will have your "fake" Mach Kernel file, named Mach Kernel.initrd
Copy this file into your Mac OS Extensions folder, and use MkLinux to boot with it.
If you compiled in a ramdisk, you should specify the ramdisk_size in lilo.conf, by modifing the mach_options line like this:
mach_options="ramdisk_size=8192"
Kernel Compile for the BootX Booter
Type in this commands, to clean the kernel, and create the nubus configuration.
make clean
make nubus_config
Next you need to run make menuconfig. Select any specfic drivers you need for your hardware.
Make any depends:
make dep
Make the Monolithic Linux Kernel:
make vmlinux
/usr/src/linux/ will find the kernel, named vmlinux.
Copy this file into your BootX-ludo folder, leave it named vmlinux.
Good Luck. Send comments, questions, etc. to Andrew Arthur, .


