Using a custom kernel and loader.o

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 21:11, 20 March 2006 by Dtaylor (Talk)

Jump to: navigation, search

Plenty of other people have already written how to's. You must have udev installed or the 2.6 kernel will not work. Check out this page on Migrating to the 2.6 kernel. Other useful pages are How to apply a kernel patch and this article on compling a kernel

Basically its....

cd /usr/src

Download the vanilla kernel source, untar it, and move into the source directory.

wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.tar.bz2
tar xvjf linux-2.6.15.tar.bz2
cd linux-2.6.15

Download the Kurobox kernel patch. Note: The following patch does not work with the standard Kurobox. Use the patch located at http://www.kurobox.com/downloads/gentoo/kurobox-sources-2.6.15.2.patch.bz2 for the standard Kurobox.

wget http://webpages.charter.net/trevorpowdrell/kurobox-sources-2.6.15.patch.bz2

Whatever patch you use, you need to unzip it and apply it. You may need to adjust the name of the patch.

bunzip2 kurobox-sources-2.6.15.patch.bz2
patch -p1 < kurobox-sources-2.6.15.patch

Next we need to configure the kernel. There is a basic configuration with each patch. For the Kurobox HG do this:

cp config_kuroboxhg .config

For the standard Kurobox do this:

cp config_kurobox .config

If you want to use the standard kernel type this:

make oldconfig

If you want to customize your kernel type this:

make menuconfig

Javascout explained how to turn off I2c kernel messages (which make the dmesg for the standard Kurobox useless). Just do this:

make menuconfig 
select device drivers 
select i2c section 
turn off the i2c debug messages (last 4 choices)

Make the kernel and make and install the modules

make vmlinux modules modules_install

Loader.o needs a binary of the new kernel. We'll convert our new kernel and put the new kernel in /boot

objcopy -O binary vmlinux /boot/vmlinux-2.6.15-kurobox

Change to /boot

cd /boot

If you don't have a copy of loader.o in /boot you should download a copy from the Gentoo downloads area. I'm not sure if this one works with the HG, but it does work with the standard Kurobox.

wget http://www.kurobox.com/downloads/gentoo/loader.o

Sync the drive, load the kernel into memory, and jump to the new kernel.

sync;insmod loader.o kernel=vmlinux-2.6.15-kurobox

If your new kernel works you can setup the Kurobox bootloader (more on this later).