after a big "tug of war" i completed the 1st draft
Would somebody be so kind to double check it?
##########################################################################################
1) Setup OpenOCD with guruplug installer @
http://www.plugcomputer.org/index.php/us/resources/downloads?func=fileinfo&id=65 (my prefference)
Or do it the manual way via:
http://plugcomputer.org/plugwiki/index.php/Setting_Up_OpenOCD_Under_Linux2) Enter the OpenOCD directory and download and untar the "flipflip" ultimate uboot config
cd openocd
wget http://oinkzwurgl.org/dl.php?file=guruplug-u-boot-flipflip-20101111.tar.gz
tar zxvf guruplug-u-boot-flipflip-20101111.tar.gz
cp guruplug-u-boot-flipflip-20101111/u-boot.elf .
mv u-boot.elf uboot.elf
3) Install tftpd
sudo apt-get install tftpd
4) Copy over the u-boot.kwb image to the tftp dir
cp guruplug-u-boot-flipflip-20101111/u-boot.kwb /srv/tftp/
5) Boot the guruplug via OpenOCD
sudo ./openocd -f ./board/guruplug.cfg -c init -c guruplug_load_uboot -c exit
6) Connect via minicom and set the ip address of the guruplug and set the tftp server ip adress (on the booted plug)
setenv ipaddr 192.168.10.110
setenv serverip 192.168.10.105
7) Load the u-boot.kwb from the tftp server
tftp 0x6400000 u-boot.kwb

Flash the loaded u-boot.kwb into NAND and reset
nand erase 0x00000000 0x0100000
nand write 0x6400000 0x0000000 0x80000
reset
The error message "*** Warning - bad CRC, using default environment" can be ignored. This is because the default "setenv" settings are used.
9) Verify u-boot version
After booting the plug verify the correct version installed by typing "version"at the Marvell prompt.
GuruPlug>> version
U-Boot 2010.09-02612-g27fb783-dirty (Nov 11 2010 - 22:51:37)
Marvell-GuruPlug (-: flipflip's version 20101111 :-)
GuruPlug>>
Nice ;-) lets rock and roll
*** Installing debian (source
http://bzed.de/posts/2010/05/installing_debian_on_the_guruplug_server_plus/)
10) Download uImage and uInitrd installer to your tftp server
wget http://http.us.debian.org/debian/dists/squeeze/main/installer-armel/current/images/kirkwood/netboot/marvell/guruplug/uImage
wget http://http.us.debian.org/debian/dists/squeeze/main/installer-armel/current/images/kirkwood/netboot/marvell/guruplug/uInitrd
11) Set your plugs environment variables to the correct achitecture
Find your arc
GuruPlug>> bdinfo
arch_number = 0x00000A63
boot_params = 0x00000100
DRAM bank = 0x00000000
-> start = 0x00000000
-> size = 0x10000000
DRAM bank = 0x00000001
-> start = 0x10000000
-> size = 0x10000000
DRAM bank = 0x00000002
-> start = 0x00000000
-> size = 0x00000000
DRAM bank = 0x00000003
-> start = 0x62616C69
-> size = 0x2A20656C
ethaddr = 02:50:43:f7:34:25
ip_addr = 192.168.10.110
baudrate = 115200 bps
TLB addr = 0x1FFF0000
relocaddr = 0x1FF50000
reloc off = 0x1F950000
irq_sp = 0x1FE2FF74
sp start = 0x1FE2FF70
FB base = 0x00000000
GuruPlug>>
Your Arc = "arch_number = 0x00000A63" Convert this hex number to decimal via:
http://easycalculation.com/hex-converter.phpThe result in decimal is: 2659
setenv
setenv arcNumber 2659
saveenv
reset
the "Bad CRC" error will be gone finally ;-)
12) REPLUG YOUR POWER! Why? beat me, just do it! I found that the installer might hang when its trying to boot the kernel if you dont. I tested this about 20 times and replugging power worked for me every time.
13) Running the Debian installer to install on the internal MicroSD card.
setenv ipaddr 192.168.10.110
setenv serverip 192.168.10.105
tftp 0x01100000 uInitrd
tftp 0x00800000 uImage
setenv bootargs console=ttyS0,115200
bootm 0x00800000 0x01100000
[code]
Follow the installer and do what makes you feel comfortable. Use ext3 for your /boot filesystem and use the ext4 journaling filesystem for other filesystems for optimal performance. Its tested and ext4 is much much much faster that ext3.
When The installation is done, continue to reboot
14) Find your boot files
Start usb
[code]
GuruPlug>> usb start
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... Device NOT ready
Request Sense returned 02 3A 00
2 Storage Device(s) found
GuruPlug>>
List your USB stree
GuruPlug>> usb tree
Device Tree:
1 Hub (480 Mb/s, 0mA)
| u-boot EHCI Host Controller
|
+-2 Hub (480 Mb/s, 100mA)
| USB2.0 Hub
|
+-3 Mass Storage (480 Mb/s, 500mA)
USB Storage 000000009909
GuruPlug>> usb storage
Device 0: Vendor: Generic Rev: 9909 Prod: STORAGE DEVICE
Type: Removable Hard Disk
Capacity: not available
Device 1: Vendor: Generic Rev: 9909 Prod: STORAGE DEVICE
Type: Removable Hard Disk
Capacity: 7580.0 MB = 7.4 GB (15523840 x 512)
GuruPlug>>
Device 1 is your internal MicroSD and this will be your target device.
List the partitions on the target
GuruPlug>> usb part 1
Partition Map for USB device 1 -- Partition Type: DOS
Partition Start Sector Num Sectors Type
1 2048 497664 83
2 499712 1953792 82
3 2453504 13068288 83
GuruPlug>>
Find where your uImage and uInitrd are located. Use ext2ls usb <device>:<partition> <path>
GuruPlug>> ext2ls usb 1:1 /
<DIR> 1024 .
<DIR> 1024 ..
<DIR> 12288 lost+found
1003346 System.map-2.6.32-5-kirkwood
1431872 vmlinuz-2.6.32-5-kirkwood
<SYM> 28 initrd.img
<SYM> 25 vmlinuz
1431936 uImage
84197 config-2.6.32-5-kirkwood
2571713 initrd.img-2.6.32-5-kirkwood
2571777 uInitrd
GuruPlug>>
Find your root "/" (in my case partition 3 on device 1)
GuruPlug>> ext2ls usb 1:3 /
<DIR> 4096 .
<DIR> 4096 ..
<DIR> 16384 lost+found
<DIR> 4096 var
<DIR> 4096 boot
<DIR> 4096 etc
<DIR> 4096 media
<DIR> 12288 lib
<DIR> 4096 usr
<DIR> 4096 tmp
<DIR> 4096 proc
<DIR> 4096 root
<DIR> 4096 dev
<DIR> 4096 bin
<DIR> 4096 mnt
<DIR> 4096 home
<DIR> 4096 sbin
<DIR> 4096 selinux
<DIR> 4096 sys
<DIR> 4096 srv
<DIR> 4096 opt
GuruPlug>>
15) Make your plug boot
Now that we've found the Kernel, initrd and root filesystem we can start building the boot parameters.
setenv mainlineLinux yes
setenv bootargs console=ttyS0,115200 root=/dev/sdb3
setenv bootcmd_usb 'usb start; ;ext2load usb 1:1 0x0800000 /uImage; ext2load usb 1:1 0x1100000 /uInitrd'
bootm 0x00800000 0x01100000
saveenv
run bootcmd
So if all went correct you should end up with a prompt telling you to enter a username and password. Meaning: We have succeeded!!
[/code][/code]