The first thing you have to do, is to read this:
http://loginroot.com/disclaimer/
Before installing uboot to guruplug server plus you have to set few things.
You have to be able to connect to Guruplug via serial connection.
The second thing, is to have tftp server up and running.
Also you need to have utp cable (to transfer the image to guruplug) and the boot image itself.
I used this image for my guruplug:
http://people.debian.org/~tbm/u-boot/2011.12-2/guruplug/u-boot.kwb
You can find more boot images (dockstar, dreamplug, guruplug, openrd_ultimate and sheevaplug) using this link:
http://people.debian.org/~tbm/u-boot/
After downloading uboot image, put it to tftp server root (/tftproot/ in my case).
Connect serial cable to your computer and guruplug.
Power on guruplug and watch the output on minicom. When you see
1 |
Hit any key to stop autoboot: 3 |
press any key. You shoud get something like this:
Connect your computer with guruplug via utp cable.
Lets set fixed guruplug IP addres:
1 |
Marvell>> setenv ipaddr 192.168.3.1 |
Now set on guruplug tftp server address:
1 |
Marvell>> setenv serverip 192.168.3.2 |
On tftp server you have to set IP address that you defined on guruplug (192.168.3.2 in my case).
On linux you can easily do this by one simple command (eth0 is my ethernet card):
1 |
$ sudo ifconfig eth0 192.168.3.2 |
So now, lets download my image u-boot.kwt from tftp server to NAND flash temporary address: 0xa000000
1 |
Marvell>> tftpboot 0xa000000 u-boot.kwb |
If you got something like this, then you are alright:
1 2 3 4 5 6 7 8 9 10 |
Marvell>> tftpboot 0xa000000 u-boot.kwb No link on egiga0 Using egiga1 device TFTP from server 192.168.3.2; our IP address is 192.168.3.1 Filename 'u-boot.kwb'. Load address: 0xa000000 Loading: ############################################# done Bytes transferred = 227200 (37780 hex) Marvell>> |
Now, let’s clean up space for image on flash:
1 |
Marvell>> nand erase 0x0 0x40000 |
Address field from 0x0 to 0x40000 is 262.144 bytes.
My uboot images size is 227.200 so I think it’s enough for it :)
Copy u-boot image from temporary address to our fresh free space:
1 |
Marvell>> nand write 0xa000000 0x0 0x40000 |
And everyone will agree, that this output means success:
1 2 3 4 5 |
Marvell>> nand write 0xa000000 0x0 0x40000 NAND write: device 0 offset 0x0, size 0x40000 262144 bytes written: OK Marvell>> |
Now just reset your device, and check if all actions were successful:
1 |
Marvell>> reset |
Our output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Marvell>> reset resetting ... U-Boot 2011.12 (Jan 08 2012 - 21:46:50) Marvell-GuruPlug SoC: Kirkwood 88F6281_A1 DRAM: 512 MiB WARNING: Caches not enabled NAND: 512 MiB In: serial Out: serial Err: serial Net: egiga0, egiga1 88E1121 Initialized on egiga0 88E1121 Initialized on egiga1 Hit any key to stop autoboot: 0 |
u-boot works!!!