Using a custom kernel and loader.o
From NAS-Central Buffalo - The Linkstation Wiki
Note: This is just groundwork and is nothing more than JavaScouts quick guide to his patch set ATT.
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 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
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.
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
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

