Using a custom kernel and loader.o

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 04:49, 22 March 2006 by 24.177.38.172 (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

I am leaving this information here but I believe it is out of date.

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.

Download the Kurobox kernel patch. The latest patch should support both kurobox and kuroboxhg. Please report any changes needed to config files or any bugs you find on the forums remember to include the type of box you are running.

wget http://webpages.charter.net/trevorpowdrell/kurobox-patch-2-6-15.tar.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-patch-2.6.15.patch.bz2
patch -p1 < kurobox-patch-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

There is no need to do this if you use the correct patch. 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).