Compile a uBoot Kernel

From NAS-Central Buffalo - The Linkstation Wiki

(Difference between revisions)
Jump to: navigation, search
Line 7: Line 7:
then download the kernel sources
then download the kernel sources
-
# emerge -ua gentoo-sources
+
# emerge -ua gentoo-sources
make a link to the kernel sources
make a link to the kernel sources
-
# cd /usr/src
+
# cd /usr/src
-
# ln -sfn linux-2.6.26-gentoo-r2 linux
+
# ln -sfn linux-2.6.26-gentoo-r2 linux
Line 19: Line 19:
Clean up before you begin
Clean up before you begin
-
# cd /usr/src/linux
+
# cd /usr/src/linux
-
# make mrproper
+
# make mrproper
Use the default KuroBox config
Use the default KuroBox config
-
# cp arch/powerpc/configs/linkstation_defconfig .config
+
# cp arch/powerpc/configs/linkstation_defconfig .config
Make sure the config is sane
Make sure the config is sane
-
# make menuconfig
+
# make menuconfig
The default config is minimal.  You'll have to enable support for any non-standard things you may be using.  I use reiserfs and netatalk, so I enabled support for that filesystem and also for appletalk.
The default config is minimal.  You'll have to enable support for any non-standard things you may be using.  I use reiserfs and netatalk, so I enabled support for that filesystem and also for appletalk.
Line 33: Line 33:
===Compile your kernel===
===Compile your kernel===
-
# make uImage && make modules && make modules_install
+
# make uImage && make modules && make modules_install
Sit back and listen to music.  Go to the store.  Wash the dog.
Sit back and listen to music.  Go to the store.  Wash the dog.
Line 40: Line 40:
===Backup your old kernel and dtb file===
===Backup your old kernel and dtb file===
-
# cp /boot/uImage /boot/uImage.bak
+
# cp /boot/uImage /boot/uImage.bak
-
# cp /boot/kuroboxHG.dtb /boot/kuroboxHG.dtb.bak
+
# cp /boot/kuroboxHG.dtb /boot/kuroboxHG.dtb.bak
Line 47: Line 47:
===Compile the dtb file===
===Compile the dtb file===
-
# cd /usr/src/linux/arch/powerpc/boot/dts
+
# cd /usr/src/linux/arch/powerpc/boot/dts
-
# ../dtc -I dts -O dtb -V 16 -o /tmp/kuroboxHG.dtb kuroboxHG.dts
+
# ../dtc -I dts -O dtb -V 16 -o /tmp/kuroboxHG.dtb kuroboxHG.dts
-
# cp /tmp/kuroboxHG.dtb /boot/kuroboxHG.dtb
+
# cp /tmp/kuroboxHG.dtb /boot/kuroboxHG.dtb
Line 55: Line 55:
===Install the kernel===
===Install the kernel===
-
# cp /usr/src/linux/arch/powerpc/boot/uImage /boot/uImage
+
# cp /usr/src/linux/arch/powerpc/boot/uImage /boot/uImage
Line 61: Line 61:
===Reboot===
===Reboot===
-
# reboot
+
# reboot
With any luck, you'll be booting your new kernel.
With any luck, you'll be booting your new kernel.
Line 70: Line 70:
If something goes wrong, simply boot in EM mode and copy your old kernel back.
If something goes wrong, simply boot in EM mode and copy your old kernel back.
-
# cp /boot/uImage.bak /boot/uImage
+
# cp /boot/uImage.bak /boot/uImage
-
# cp /boot/kuroboxHG.dtb.bak /boot/kuroboxHG.dtb
+
# cp /boot/kuroboxHG.dtb.bak /boot/kuroboxHG.dtb
-
# echo -n "OKOK" > /dev/fl3
+
# echo -n "OKOK" > /dev/fl3

Revision as of 15:31, 24 November 2008

This is a tutorial of how to compile a uBoot kernel from vanilla gentoo-sources.

Contents

Get the sources

Right now (24 Nov 2008) the latest stable version is gentoo-sources-2.6.26-r2. If you want a newer kernel, simply edit /etc/portage/package.keywords and add this line: sys-kernel/gentoo-sources ~ppc

then download the kernel sources

# emerge -ua gentoo-sources

make a link to the kernel sources

# cd /usr/src
# ln -sfn linux-2.6.26-gentoo-r2 linux



Edit your kernel config

Clean up before you begin

# cd /usr/src/linux
# make mrproper

Use the default KuroBox config

# cp arch/powerpc/configs/linkstation_defconfig .config

Make sure the config is sane

# make menuconfig

The default config is minimal. You'll have to enable support for any non-standard things you may be using. I use reiserfs and netatalk, so I enabled support for that filesystem and also for appletalk.


Compile your kernel

# make uImage && make modules && make modules_install

Sit back and listen to music. Go to the store. Wash the dog.


Backup your old kernel and dtb file

# cp /boot/uImage /boot/uImage.bak
# cp /boot/kuroboxHG.dtb /boot/kuroboxHG.dtb.bak


Compile the dtb file

# cd /usr/src/linux/arch/powerpc/boot/dts
# ../dtc -I dts -O dtb -V 16 -o /tmp/kuroboxHG.dtb kuroboxHG.dts
# cp /tmp/kuroboxHG.dtb /boot/kuroboxHG.dtb


Install the kernel

# cp /usr/src/linux/arch/powerpc/boot/uImage /boot/uImage


Reboot

# reboot

With any luck, you'll be booting your new kernel.


Troubleshooting

If something goes wrong, simply boot in EM mode and copy your old kernel back.

# cp /boot/uImage.bak /boot/uImage
# cp /boot/kuroboxHG.dtb.bak /boot/kuroboxHG.dtb
# echo -n "OKOK" > /dev/fl3
Personal tools