Using a custom kernel and loader.o

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 07:18, 22 March 2006 by Javascout (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.

tar xvjf linux-2.6.15.tar.bz2
cd linux-2.6.15

Download the latest kernel patch. The 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 along with any supporting information. The more information the better).


Untar the downloaded file and apply the patch. You may need to adjust the name of the patch.

tar xvjf kurobox-patch-2.6.15.tar.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

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.


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).