Compile a uBoot Kernel
From NAS-Central Buffalo - The Linkstation Wiki
| 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

