HOWTO U-Boot
From NAS-Central Buffalo - The Linkstation Wiki
(→Building your own U-boot binary) |
m (Capitalizations) |
||
| Line 5: | Line 5: | ||
== Introduction == | == Introduction == | ||
| - | The U- | + | The U-Boot project for the Kurobox is something that the community was waiting for since a long time ! [http://homepage2.nifty.com/nijino/kurobox/uboot.html Nijino] was the first one to provide a patch to adapt U-Boot to the Kurobox architecture and specifications ! |
It'll allow you to boot from a kernel on the hard drive, thing that was not possible since the buffalo's boot was only booting from the kernel in flash (that is a 2.4.17 kernel version). | It'll allow you to boot from a kernel on the hard drive, thing that was not possible since the buffalo's boot was only booting from the kernel in flash (that is a 2.4.17 kernel version). | ||
| Line 11: | Line 11: | ||
Functions : | Functions : | ||
* Will boot a kernel image in uImage format stored on a HDD | * Will boot a kernel image in uImage format stored on a HDD | ||
| - | * Will boot in EM (Emergency Mode) if pressing red button at bootup just after the HDD light stop blinking (The EM mode take around 2 minutes to start for me, so don't worry if after few seconds you still can't ping your | + | * Will boot in EM (Emergency Mode) if pressing red button at bootup just after the HDD light stop blinking (The EM mode take around 2 minutes to start for me, so don't worry if after few seconds you still can't ping your Kurobox) |
Limitations : | Limitations : | ||
| - | * This version of U- | + | * This version of U-Boot comes with no support for ethernet, so for now booting or connecting to u-boot from network is impossible. According to the Nijino, the author of the patch, Ethernet driver implementation will not be easy, so we may never see this function in our Kuroboxes ! |
| - | == Building the Linux kernel in U- | + | == Building the Linux kernel in U-Boot format == |
| - | To be able to build a kernel in uImage format, you'll need mkimage tool that is built when compiling U- | + | To be able to build a kernel in uImage format, you'll need mkimage tool that is built when compiling U-Boot (check [http://www.kurobox.com/mwiki/index.php/HOWTO_U-Boot#Building_your_own_U-Boot_binary Building you own U-Boot binary] section if you want to build it). |
You can download a compiled version of this tool [http://www.kurobox.com/sylver/u-boot/mkimage here]. Just download it, chmod 0755 it and move the file to /usr/bin. | You can download a compiled version of this tool [http://www.kurobox.com/sylver/u-boot/mkimage here]. Just download it, chmod 0755 it and move the file to /usr/bin. | ||
Now to compile the kernel, follow the usual way : | Now to compile the kernel, follow the usual way : | ||
| Line 32: | Line 32: | ||
To help people, i built some kernels in uImage format : | To help people, i built some kernels in uImage format : | ||
| - | * [http://www.kurobox.com/sylver/u-boot/linux-2.6.17.1-stdkuro-uboot.tar.gz Kernel 2.6.17.1 for standard | + | * [http://www.kurobox.com/sylver/u-boot/linux-2.6.17.1-stdkuro-uboot.tar.gz Kernel 2.6.17.1 for standard Kurobox] |
| - | * [http://www.kurobox.com/sylver/u-boot/linux-2.6.17.1-uboot.tar.gz Kernel 2.6.17.1 for | + | * [http://www.kurobox.com/sylver/u-boot/linux-2.6.17.1-uboot.tar.gz Kernel 2.6.17.1 for Kurobox HG] |
just get the file according to the Kurobox you have and "tar xzf" it from root (/) | just get the file according to the Kurobox you have and "tar xzf" it from root (/) | ||
| - | == Flash U- | + | == Flash U-Boot in your Kurobox == |
| - | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">!!!! Warning : this could brick your | + | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">!!!! Warning : this could brick your Kurobox in case of misuse/power failure/application crash !!!!<br /> Kurobox and Kurobox HG are not using the same boot, be carefull !!!!<br /> |
| - | !!!! Warning : this could brick your | + | !!!! Warning : this could brick your Kurobox in case of misuse/power failure/application crash !!!!<br /> Kurobox and Kurobox HG are not using the same boot, be carefull !!!!<br /> |
| - | !!!! Warning : this could brick your | + | !!!! Warning : this could brick your Kurobox in case of misuse/power failure/application crash !!!!<br /> Kurobox and Kurobox HG are not using the same boot, be carefull !!!!<br /> |
| - | !!!! Warning : this could brick your | + | !!!! Warning : this could brick your Kurobox in case of misuse/power failure/application crash !!!!<br /> Kurobox and Kurobox HG are not using the same boot, be carefull !!!!</p> |
| - | I have built (using gcc version 4.1.2 20060613 (prerelease) (Debian 4.1.1-5)) both versions of patched U- | + | I have built (using gcc version 4.1.2 20060613 (prerelease) (Debian 4.1.1-5)) both versions of patched U-Boot (1.1.4), both will try to boot the /boot/uImage on hda1. |
| - | === Standard | + | === Standard Kurobox === |
| - | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the standard | + | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the standard Kurobox only !!!! For Kurobox HG, check [http://www.kurobox.com/mwiki/index.php?title=HOWTO_U-Boot#Kurobox_HG Kurobox HG section] !!! </p> |
| - | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the standard | + | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the standard Kurobox only !!!! For Kurobox HG, check [http://www.kurobox.com/mwiki/index.php?title=HOWTO_U-Boot#Kurobox_HG Kurobox HG section] !!! </p> |
| - | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the standard | + | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the standard Kurobox only !!!! For Kurobox HG, check [http://www.kurobox.com/mwiki/index.php?title=HOWTO_U-Boot#Kurobox_HG Kurobox HG section] !!! </p> |
| - | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the standard | + | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the standard Kurobox only !!!! For Kurobox HG, check [http://www.kurobox.com/mwiki/index.php?title=HOWTO_U-Boot#Kurobox_HG Kurobox HG section] !!! </p> |
| - | ==== Kernel 2.4.x on standard | + | ==== Kernel 2.4.x on standard Kurobox only ==== |
| - | Boot your kernel as usual and download the U- | + | Boot your kernel as usual and download the U-Boot version for '''standard''' Kurobox : |
http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kurobox.tar.gz | http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kurobox.tar.gz | ||
untar it and check the checksum : | untar it and check the checksum : | ||
| Line 63: | Line 63: | ||
reboot | reboot | ||
If it doesn't work : | If it doesn't work : | ||
| - | * You bricked your | + | * You bricked your Kurobox, only JTAG will allow to restore it |
* The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button | * The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button | ||
==== Kernel 2.6.x on standard Kurobox only ==== | ==== Kernel 2.6.x on standard Kurobox only ==== | ||
<p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">WARNING : Process is harder when using a 2.6.x kernel ! If you're not sure, just get back to 2.4.x kernel !</p> | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">WARNING : Process is harder when using a 2.6.x kernel ! If you're not sure, just get back to 2.4.x kernel !</p> | ||
| - | Boot your kernel as usual and download the U- | + | Boot your kernel as usual and download the U-Boot version for '''standard''' Kurobox : |
wget http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kurobox.tar.gz | wget http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kurobox.tar.gz | ||
untar it and check the checksum : | untar it and check the checksum : | ||
| Line 106: | Line 106: | ||
reboot | reboot | ||
If it doesn't work : | If it doesn't work : | ||
| - | * You bricked your | + | * You bricked your Kurobox, only JTAG will allow to restore it |
* The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button | * The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button | ||
| - | === | + | === Kurobox HG === |
| - | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the | + | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the Kurobox HG only !!!! For standard Kurobox, check [http://www.kurobox.com/mwiki/index.php?title=HOWTO_U-Boot#Standard_Kurobox Standard Kurobox] !!! </p> |
| - | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the | + | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the Kurobox HG only !!!! For standard Kurobox, check [http://www.kurobox.com/mwiki/index.php?title=HOWTO_U-Boot#Standard_Kurobox Standard Kurobox] !!! </p> |
| - | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the | + | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the Kurobox HG only !!!! For standard Kurobox, check [http://www.kurobox.com/mwiki/index.php?title=HOWTO_U-Boot#Standard_Kurobox Standard Kurobox] !!! </p> |
| - | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the | + | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">This is for the Kurobox HG only !!!! For standard Kurobox, check [http://www.kurobox.com/mwiki/index.php?title=HOWTO_U-Boot#Standard_Kurobox Standard Kurobox] !!! </p> |
| - | ==== Kernel 2.4.x for | + | ==== Kernel 2.4.x for Kurobox HG only ==== |
| - | Boot your kernel as usual and download the U- | + | Boot your kernel as usual and download the U-Boot version for Kurobox '''HG''' : |
http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kuroboxhg.tar.gz | http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kuroboxhg.tar.gz | ||
untar it and check the checksum : | untar it and check the checksum : | ||
| Line 129: | Line 129: | ||
reboot | reboot | ||
If it doesn't work : | If it doesn't work : | ||
| - | * You bricked your | + | * You bricked your Kurobox, only JTAG will allow to restore it |
* The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button | * The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button | ||
| - | ==== Kernel 2.6.x for | + | ==== Kernel 2.6.x for Kurobox HG only ==== |
<p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">WARNING : Process is harder when using a 2.6.x kernel ! If you're not sure, just get back to 2.4.x kernel !</p> | <p style="border:dashed 1px red;background:Lemonchiffon;text-align:center;margin:0 5px">WARNING : Process is harder when using a 2.6.x kernel ! If you're not sure, just get back to 2.4.x kernel !</p> | ||
| - | Boot your kernel as usual and download the U- | + | Boot your kernel as usual and download the U-Boot version for Kurobox '''HG''' : |
wget http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kuroboxhg.tar.gz | wget http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kuroboxhg.tar.gz | ||
untar it and check the checksum : | untar it and check the checksum : | ||
| Line 173: | Line 173: | ||
reboot | reboot | ||
If it doesn't work : | If it doesn't work : | ||
| - | * You bricked your | + | * You bricked your Kurobox, only JTAG will allow to restore it |
* The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button | * The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button | ||
=== Linkstation === | === Linkstation === | ||
| Line 179: | Line 179: | ||
check on [http://www.linkstationwiki.net/index.php?title=Projects/u-boot_bootloader linkstationwiki] for any update ! | check on [http://www.linkstationwiki.net/index.php?title=Projects/u-boot_bootloader linkstationwiki] for any update ! | ||
| - | == Building your own U- | + | == Building your own U-Boot binary == |
First of all, there is some problems while trying to compile U-Boot 1.1.4 with Make v3.81 ! Install Make 3.80 before trying to compile U-Boot ! | First of all, there is some problems while trying to compile U-Boot 1.1.4 with Make v3.81 ! Install Make 3.80 before trying to compile U-Boot ! | ||
* Get Nijino patch : | * Get Nijino patch : | ||
wget http://homepage2.nifty.com/nijino/library/u-boot-1.1.4_kurobox.patch.bz2 | wget http://homepage2.nifty.com/nijino/library/u-boot-1.1.4_kurobox.patch.bz2 | ||
| - | * Get U- | + | * Get U-Boot 1.1.4 source code from a [http://prdownloads.sourceforge.net/u-boot/u-boot-1.1.4.tar.bz2?download mirror] and apply the patch |
wget http://surfnet.dl.sourceforge.net/sourceforge/u-boot/u-boot-1.1.4.tar.bz2 | wget http://surfnet.dl.sourceforge.net/sourceforge/u-boot/u-boot-1.1.4.tar.bz2 | ||
tar xfz u-boot-1.1.4.tar.gz && cd u-boot-1.1.4 | tar xfz u-boot-1.1.4.tar.gz && cd u-boot-1.1.4 | ||
bzip2 -dc ../u-boot-1.1.4_kurobox.patch.bz2 | patch -Np1 | bzip2 -dc ../u-boot-1.1.4_kurobox.patch.bz2 | patch -Np1 | ||
| - | * Configure U- | + | * Configure U-Boot for your target : |
| - | + | Kurobox | |
make KUROBOX_config | make KUROBOX_config | ||
| - | + | Kurobox HG | |
make KUROBOX_HG_config | make KUROBOX_HG_config | ||
| - | * Build U- | + | * Build U-Boot |
make | make | ||
| - | * Copy mkimage to /usr/bin (needed to build kernel images for U- | + | * Copy mkimage to /usr/bin (needed to build kernel images for U-Boot |
cp tools/mkimage /usr/bin/mkimage | cp tools/mkimage /usr/bin/mkimage | ||
chmod 0755 /usr/bin/mkimage | chmod 0755 /usr/bin/mkimage | ||
| - | You now have an u-boot.bin file, just follow this article to flash it in your | + | You now have an u-boot.bin file, just follow this article to flash it in your Kurobox ! |
== References == | == References == | ||
Revision as of 14:09, 4 July 2006
WARNING - THE NIJINO U-BOOT BOOTLOADER IS NOT FULLY TESTED. ALTHOUGH IT HAS BEEN INSTALLED SUCCESSFULLY ON BOTH STANDARD AND HG KURO BOXES, THERE HAS BEEN AT LEAST ONE KUROBOX BRICKED. THINK LONG AND HARD BEFORE PERFORMING THIS MODIFICATION. A BRICKED KURO REQUIRES JTAG ACCESS TO REPAIR AND IS NOT COVERED UNDER THE KUROBOX WARRANTY
Contents |
Introduction
The U-Boot project for the Kurobox is something that the community was waiting for since a long time ! Nijino was the first one to provide a patch to adapt U-Boot to the Kurobox architecture and specifications ! It'll allow you to boot from a kernel on the hard drive, thing that was not possible since the buffalo's boot was only booting from the kernel in flash (that is a 2.4.17 kernel version).
Known functions and limitations
Functions :
- Will boot a kernel image in uImage format stored on a HDD
- Will boot in EM (Emergency Mode) if pressing red button at bootup just after the HDD light stop blinking (The EM mode take around 2 minutes to start for me, so don't worry if after few seconds you still can't ping your Kurobox)
Limitations :
- This version of U-Boot comes with no support for ethernet, so for now booting or connecting to u-boot from network is impossible. According to the Nijino, the author of the patch, Ethernet driver implementation will not be easy, so we may never see this function in our Kuroboxes !
Building the Linux kernel in U-Boot format
To be able to build a kernel in uImage format, you'll need mkimage tool that is built when compiling U-Boot (check Building you own U-Boot binary section if you want to build it). You can download a compiled version of this tool here. Just download it, chmod 0755 it and move the file to /usr/bin. Now to compile the kernel, follow the usual way :
export ARCH=ppc make menuconfig make oldconfig
and then instead of the make vmlinux, do a
make uImage
it'll create a uImage file there : arch/ppc/boot/images/uImage, so after kernel compilation, do a
cp arch/ppc/boot/images/uImage /boot/
then follow with module compilation and installation as usual
make modules sudo make modules_install
To help people, i built some kernels in uImage format :
just get the file according to the Kurobox you have and "tar xzf" it from root (/)
Flash U-Boot in your Kurobox
!!!! Warning : this could brick your Kurobox in case of misuse/power failure/application crash !!!!
Kurobox and Kurobox HG are not using the same boot, be carefull !!!!
!!!! Warning : this could brick your Kurobox in case of misuse/power failure/application crash !!!!
Kurobox and Kurobox HG are not using the same boot, be carefull !!!!
!!!! Warning : this could brick your Kurobox in case of misuse/power failure/application crash !!!!
Kurobox and Kurobox HG are not using the same boot, be carefull !!!!
!!!! Warning : this could brick your Kurobox in case of misuse/power failure/application crash !!!!
Kurobox and Kurobox HG are not using the same boot, be carefull !!!!
I have built (using gcc version 4.1.2 20060613 (prerelease) (Debian 4.1.1-5)) both versions of patched U-Boot (1.1.4), both will try to boot the /boot/uImage on hda1.
Standard Kurobox
This is for the standard Kurobox only !!!! For Kurobox HG, check Kurobox HG section !!!
This is for the standard Kurobox only !!!! For Kurobox HG, check Kurobox HG section !!!
This is for the standard Kurobox only !!!! For Kurobox HG, check Kurobox HG section !!!
This is for the standard Kurobox only !!!! For Kurobox HG, check Kurobox HG section !!!
Kernel 2.4.x on standard Kurobox only
Boot your kernel as usual and download the U-Boot version for standard Kurobox :
http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kurobox.tar.gz
untar it and check the checksum :
> tar xzf u-boot-1.1.4-kurobox.tar.gz > cksum u-boot.bin 1870540566 164676 u-boot.bin
If all is ok, flash the boot !
dd if=u-boot.bin of=/dev/fl2 bs=1k
Make sure the boot is ok in flash :
> cmp u-boot.bin /dev/fl2 cmp: EOF on u-boot.bin
Make sure you have a valid /boot/uImage in hda1 and reboot ;)
reboot
If it doesn't work :
- You bricked your Kurobox, only JTAG will allow to restore it
- The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button
Kernel 2.6.x on standard Kurobox only
WARNING : Process is harder when using a 2.6.x kernel ! If you're not sure, just get back to 2.4.x kernel !
Boot your kernel as usual and download the U-Boot version for standard Kurobox :
wget http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kurobox.tar.gz
untar it and check the checksum :
> tar xzf u-boot-1.1.4-kurobox.tar.gz > cksum u-boot.bin 1870540566 164676 u-boot.bin
If all is ok, check your flash mapping : it should be
> cat /proc/mtd dev: size erasesize name mtd0: 00300000 00010000 "mtd_firmimg" mtd1: 00070000 00010000 "mtd_bootcode" mtd2: 00010000 00010000 "mtd_status" mtd3: 00080000 00010000 "mtd_conf" mtd4: 00400000 00010000 "mtd_allflash" mtd5: 000f0000 00010000 "mtd_data"
or
> cat /proc/mtd dev: size erasesize name mtd0: 00400000 00010000 "mtd_allflash" mtd1: 00300000 00010000 "mtd_firmimg" mtd2: 00070000 00010000 "mtd_bootcode" mtd3: 00010000 00010000 "mtd_status" mtd4: 00080000 00010000 "mtd_conf"
The right place to flash is mtd_bootcode, so you'll have to flash the u-boot.bin to /dev/mtdblock1 or to /dev/mtdblock2 ! So depending of the result of the previous command, do a
dd if=u-boot.bin of=/dev/mtdblock1 bs=1k
or a
dd if=u-boot.bin of=/dev/mtdblock2 bs=1k
Make sure the boot is ok in flash :
> cmp u-boot.bin /dev/mtd1 cmp: EOF on u-boot.bin
or
> cmp u-boot.bin /dev/mtd2 cmp: EOF on u-boot.bin
Make sure you have a valid /boot/uImage in hda1 and reboot ;)
reboot
If it doesn't work :
- You bricked your Kurobox, only JTAG will allow to restore it
- The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button
Kurobox HG
This is for the Kurobox HG only !!!! For standard Kurobox, check Standard Kurobox !!!
This is for the Kurobox HG only !!!! For standard Kurobox, check Standard Kurobox !!!
This is for the Kurobox HG only !!!! For standard Kurobox, check Standard Kurobox !!!
This is for the Kurobox HG only !!!! For standard Kurobox, check Standard Kurobox !!!
Kernel 2.4.x for Kurobox HG only
Boot your kernel as usual and download the U-Boot version for Kurobox HG :
http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kuroboxhg.tar.gz
untar it and check the checksum :
> tar xzf u-boot-1.1.4-kurobox.tar.gz > cksum u-boot.bin 2604640296 164676 u-boot.bin
If all is ok, flash the boot !
dd if=u-boot.bin of=/dev/fl2 bs=1k
Make sure the boot is ok in flash :
> cmp u-boot.bin /dev/fl2 cmp: EOF on u-boot.bin
Make sure you have a valid /boot/uImage in hda1 and reboot ;)
reboot
If it doesn't work :
- You bricked your Kurobox, only JTAG will allow to restore it
- The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button
Kernel 2.6.x for Kurobox HG only
WARNING : Process is harder when using a 2.6.x kernel ! If you're not sure, just get back to 2.4.x kernel !
Boot your kernel as usual and download the U-Boot version for Kurobox HG :
wget http://www.kurobox.com/sylver/u-boot/u-boot-1.1.4-kuroboxhg.tar.gz
untar it and check the checksum :
> tar xzf u-boot-1.1.4-kurobox.tar.gz > cksum u-boot.bin 2604640296 164676 u-boot.bin
If all is ok, check your flash mapping : it should be
> cat /proc/mtd dev: size erasesize name mtd0: 00300000 00010000 "mtd_firmimg" mtd1: 00070000 00010000 "mtd_bootcode" mtd2: 00010000 00010000 "mtd_status" mtd3: 00080000 00010000 "mtd_conf" mtd4: 00400000 00010000 "mtd_allflash" mtd5: 000f0000 00010000 "mtd_data"
or
> cat /proc/mtd dev: size erasesize name mtd0: 00400000 00010000 "mtd_allflash" mtd1: 00300000 00010000 "mtd_firmimg" mtd2: 00070000 00010000 "mtd_bootcode" mtd3: 00010000 00010000 "mtd_status" mtd4: 00080000 00010000 "mtd_conf"
The right place to flash is mtd_bootcode, so you'll have to flash the u-boot.bin to /dev/mtdblock1 or to /dev/mtdblock2 ! So depending of the result of the previous command, do a
dd if=u-boot.bin of=/dev/mtdblock1 bs=1k
or a
dd if=u-boot.bin of=/dev/mtdblock2 bs=1k
Make sure the boot is ok in flash :
> cmp u-boot.bin /dev/mtd1 cmp: EOF on u-boot.bin
or
> cmp u-boot.bin /dev/mtd2 cmp: EOF on u-boot.bin
Make sure you have a valid /boot/uImage in hda1 and reboot ;)
reboot
If it doesn't work :
- You bricked your Kurobox, only JTAG will allow to restore it
- The kernel in /boot/uImage is incorrect, try forcing booting kernel in flash using the red button
Linkstation
No Uboot for Linkstation yet, some guys are working on that ! check on linkstationwiki for any update !
Building your own U-Boot binary
First of all, there is some problems while trying to compile U-Boot 1.1.4 with Make v3.81 ! Install Make 3.80 before trying to compile U-Boot !
- Get Nijino patch :
wget http://homepage2.nifty.com/nijino/library/u-boot-1.1.4_kurobox.patch.bz2
- Get U-Boot 1.1.4 source code from a mirror and apply the patch
wget http://surfnet.dl.sourceforge.net/sourceforge/u-boot/u-boot-1.1.4.tar.bz2 tar xfz u-boot-1.1.4.tar.gz && cd u-boot-1.1.4 bzip2 -dc ../u-boot-1.1.4_kurobox.patch.bz2 | patch -Np1
- Configure U-Boot for your target :
Kurobox
make KUROBOX_config
Kurobox HG
make KUROBOX_HG_config
- Build U-Boot
make
- Copy mkimage to /usr/bin (needed to build kernel images for U-Boot
cp tools/mkimage /usr/bin/mkimage chmod 0755 /usr/bin/mkimage
You now have an u-boot.bin file, just follow this article to flash it in your Kurobox !

