This is an old revision of the document!
The Orion family of SoCs includes the following machines:
This repo provides two branches:
WARNING: testing is volatile: it may roll back on a patch that eventually proved bad, or move sideways from one version of a patch to another. Its history will be shaky. Hey, this is a testing branch. On the other hand, master will only be a merge of custodian trees, so you can reasonably expect it to contain commits that will end up in mainline u-boot.
_ ____ _ | | __ _ / ___(_) ___ | | / _` | | | |/ _ \ | |___ (_| | |___| | __/ |_____\__,_|\____|_|\___| _ _ ____ _ | | | | | __ ) ___ ___ | |_ | | | |___| _ \ / _ \ / _ \| __| | |_| |___| |_) | (_) | (_) | |_ \___/ |____/ \___/ \___/ \__| ** LOADER ** ** MARVELL BOARD: ASTON_NS REV: 222 LE Hold rear button - long : FAIL U-Boot 1.1.4 (Jan 17 2011 - 21:48:29) Marvell version: 3.4.16 LaCie 1.5.9 256MB U-Boot code: 06000000 -> 060701D0 BSS: -> 060BDAA0 Soc: 88F6281 A0 (DDR2) CPU running @ 800Mhz L2 running @ 400Mhz SysClock = 200Mhz , TClock = 166Mhz DRAM CAS Latency = 3 tRP = 3 tRAS = 9 tRCD=3 DRAM CS[0] base 0x00000000 size 256MB DRAM Total size 256MB 16bit width [512kB@f8000000] Flash: 512 kB Addresses 98M - 0M are saved for the U-Boot usage. Mem malloc Initialization (98M - 97M): Done *** Warning - bad CRC, using default environment CPU : Marvell Feroceon (Rev 1) Streaming disabled Write allocate disabled USB 0: host mode PEX 0: interface detected no Link. Net: egiga0 [PRIME] Waiting for LUMP (3) Abort no lump receive; continuing
The LaCie stock U-Boot comes with a huge limitation. The boot sequence is hardcoded within the U-Boot binary. At reset, U-Boot reinitialize the boot environment variables with the built-in ones. As a consequence, the LaCie system layout (or partition map) can't be changed. By default, U-Boot will load the Linux kernel from partition 10 (update) or from partition 6 as a fallback (default).
This section present step by step how to update the stock U-Boot with a mainline version. Both a serial or a network console can be used to connect to U-Boot. For this how-to, the netconsole way is preferred because the user don't have to build/buy a serial cable.
$ ./clunc -i <NAS_IP>
$ wget ftp://ftp.lacie-nas.org/u-boot/u-boot-netspace_v2.kwb -O /var/tftpboot/u-boot-netspace_v2.kwb
${serverip}
with the tftp server IP address and replace ${ipaddr}
with a valid and free IP address.Marvell>> setenv ipaddr ${ipaddr}; setenv serverip ${serverip}
Marvell>> bubt u-boot-netspace_v2.kwb Using egiga0 device TFTP from server 192.168.0.13; our IP address is 192.168.0.17 Filename 'u-boot-new.kwb'. Load address: 0x2000000 Loading: ########################################## done Bytes transferred = 214220 (344cc hex) Un-Protect Flash Monitor space **Warning** If U-Boot Endiannes is going to change (LE->BE or BE->LE), Then Env parameters should be overriden.. Override Env parameters? (y/n) n Erase 0 - 125 sectors... ................................................................. ............................................................. Copy to Flash... done Protect Flash Monitor space
Marvell>> reset
Note that U-Boot mainline don't provide a magic packet mechanism to configure the IP address. It means that clunc becomes useless from this point. The netconsole configuration rely on some environment variables: ipaddr, ncip, stdin, stdout and stderr (for more information, please refer to the file README.NetConsole included in U-Boot sources). After the update, this variables will be initialized with the default (or built-in) values: the IP address is 192.168.1.111 and the netconsole is configured to broadcast messages. As a consequence, the server IP must belong to the subnetwork 192.168.1.0. Moreover netcat don't handle the broadcast messages. Instead, the U-Boot tools netconsole and ncb must be used.
$ ./tools/netconsole 192.168.1.111 U-Boot 2010.12-00216-g5bbbf69 (Jan 24 2011 - 21:38:00) LaCie Network Space v2 SoC: Kirkwood 88F6281_A0 DRAM: 256 MiB SF: Detected MX25L4005A with page size 256, total 512 KiB SF: disable write protection *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: egiga0 88E1116 Initialized on egiga0 Hit any key to stop autoboot: 3 ns2>