These instructions apply to a -prebuilt- kernel. An alternative is to compile the kernel. The first step is of course to acquire the kernel. Examples would be 2.2.1 for LinuxPPC or the so-called Generic 07 kernel for MkLinux. The description below was accurate as of the date on this page. Links and Kernel versions do change. If a link here is broken, it is still likely to be not far off the mark. Be sure to let me know if you find a broken link or inaccuracies.
installing a new kernel
- LinuxPPC
- Download a gzipped 2.2.x kernel (likely to have the name vmlinux.gz) from who the hell knows where. The linuxppc.org site is totally screwed up and finding such a kernel is a crap shoot. GOOD LUCK! Hopefully those guys will get their shit together someday. And don't think the mirrors will help. They don't mirror the linuxppc.org site.
- If you find the kernel (IOW you're on a roll), download the modules (likely to have the name modules-2.2.x.tar.gz)
- Unpack the kernel: gunzip vmlinux.gz
- Unpack the modutils: tar -xvzf modules-2.2.x.tar.gz. This is best done from the / directory, and creates the /lib/modules/2.2.x directory and places the necessary files in them. You should note that you already have a /lib/modules/2.1.24 directory in place from the R4 install.
- The target directory for the kernel is /boot, which already has a vmlinux in it (version 2.1.24). In this directory you could rename the 2.1.24 kernel to avoid overwriting it; however, the accepted practice when there are multiple kernels is to name each one according to its version number and create a symbolic link to the one that will be active for the subsequent boot: ln -s the_kernel_name vmlinux.
- With these caveats, move the new 2.2.x kernel to the /boot directory. Note that this procedure is for those booting via Open Firmware. If BootX is instead being used, the vmlinux kernel must be carried to the MacOS boot volume in binary form and placed in the System Folder. In this case, there is no need for any kernel in the /boot directory; however, it is recommended that one be there anyway as a secondary boot strategy if there are problems using BootX.
- Reboot the system from the console using shutdown -r now. After the restart the 2.2.1 kernel will be running. Note that this procedure is for booting via Open Firmware. If BootX is instead being used, the kernel resides on the MacOS boot volume, the BootX splash screen will be displayed by the MacOS, and LinuxPPC can be selected. Learning how to boot via Open Firmware is educational, but some machines cannot use it. BootX is definitely easier.
- MkLinux
- Download vmlinux.generic-0X.gz from
ftp://globegate.utm.edu/pub/MkLinux/kernels/stable/ using Linux.
- Unpack the kernel: gunzip vmlinux.generic-0X.gz.
- The target directory for the kernel is /mach_servers, which already has a vmlinux in it (version 2.0.xx). In this directory you could rename the 2.0.xx kernel if you want to avoid overwriting it; however, the accepted practice when there are multiple kernels is to name each one according to its version number and create a symbolic link to the one that will be active for the subsequent boot: ln -s the_kernel_name vmlinux.
- With these caveats, move the generic-0X kernel to the /mach_servers directory.
- Reboot into the MacOS (if you reboot now into MkLinux, you may not be successful).
- Download Mach_Kernel.generic-0X.gz in binary mode from ftp://globegate.utm.edu/pub/MkLinux/kernels/stable/ using the Mac.
- Unpack the Mach_Kernel in MacOS using Stuffit Expander, and replace the underscore with a space.
- Put Mach Kernel in the Extensions folder of the System folder on the Mac boot drive, replacing the previous Mach Kernel.
- Reboot the system and select MkLinux at the splash screen. You will now be running the so-called Generic 0X kernel, 2.0.3X-osfmach3. If BootX is being used, it is possible to configure BootX to boot MkLinux as well as LinuxPPC and MacOS.