User Tools

Site Tools


ubootfororionsocs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
ubootfororionsocs [2011/07/13 12:26]
89.234.168.65
ubootfororionsocs [2011/07/15 21:06]
simon
Line 1: Line 1:
-====== ​Extending ​U-Boot support for Orion SoC  ​======+====== U-Boot support for Orion SoCs  ​======
  
 ===== Overview ===== ===== Overview =====
Line 20: Line 20:
   * Technologic Systems TS-78xx   * Technologic Systems TS-78xx
  
-===== Sources ​=====+===== U-Boot ​=====
  
-Sources are available in a Git repository ​[[http://​git.lacie-nas.org/?​p=u-boot-lacie.git;​a=summary|u-boot-lacie.git]]. At least, the following branches should be availables:+See out [[uboot|U-Boot main page]].
  
-  * **stable** is used to build the images distributed via a [[ftp://​lacie-nas.org/​u-boot|FTP repository]]. +===== To-do list =====
-  * **master** is a development branch, holding the patches waiting to be merged mainline.+
  
-Checkout command: +   * adapt orion5x ​edminiv2 ​or relocation ​(wip in -next
- +   ​add initial support for net5big ​(based upon reloc adaptation
-  git clone http://​git.lacie-nas.org/​u-boot-lacie.git +   * add initial support for net2big ​(based upon reloc adaptation
-or +   ​add I2C support ​to net5big 
-  git clone git://​lacie-nas.org/​u-boot-lacie.git +   * add PCI support ​to net5big 
- +   ​add SATA over PCI support to net5big
-===== Build ===== +
- +
-To compile U-Boot images, you could use the following commands ​(toolchain path, cross-compiler and board names to be replaced):​ +
- +
-  PATH=/​usr/​local/​x-tools/​arm-2010q1/​bin/:​$PATH CROSS_COMPILE=arm-none-eabi- make netspace_v2_config +
-  PATH=/​usr/​local/​x-tools/​arm-2010q1/​bin/:​$PATH CROSS_COMPILE=arm-none-eabi- make u-boot.kwb +
-   +
-===== Downloads ===== +
- +
-For the supported boards, some pre-compiled U-Boot images are availables ​in the [[ftp://​lacie-nas.org/​u-boot|FTP repository]]. +
- +
-===== Update from LaCie to mainline ===== +
- +
-==== Why ==== +
- +
-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 mapcan't be changed. By default, U-Boot will load the Linux kernel from partition 10 (update) or from partition 6 as a fallback (default). +
- +
-==== Update step by step ==== +
- +
-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. +
- +
-=== Preparations === +
- +
-  Get [[CLUNC|CLUNC]] +
-  * Get U-Boot netconsole utility +
-  * Enable a TFTP server +
-  * Install the new u-boot image in the TFTP root directory ​(could be /​var/​tftpboot). +
- +
-  $ wget ftp://​ftp.lacie-nas.org/​u-boot/​u-boot-netspace_v2.kwb -O /​var/​tftpboot/​u-boot-netspace_v2.kwb +
-   +
-=== Run CLUNC and connect to the LaCie U-Boot console === +
- +
-  $ ./clunc -i <​NAS_IP>​ +
-  Marvell>>​ version +
-  U-Boot 1.1.4 (Jan 17 2011 - 21:48:29Marvell version: 3.4.16 ​ LaCie 1.5.9 256MB +
-   +
-=== Flash the new U-Boot image === +
- +
-  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 +
-   +
-=== Restart === +
- +
-  Marvell>>​ reset +
- +
-  ​Install the U-Boot **netconsole** tool.+
    
-Note that U-Boot mainline don't provide a magic packet mechanism to configure the IP address. It means that [[CLUNC|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. 
- 
-  * Connect to U-Boot via netconsole and interrupt boot process (Ctrl-C). 
- 
-  $ ./​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> 
- 
-===== Some usage examples ===== 
- 
-==== Save environment on SPI flash ==== 
- 
-  Marvell>>​ set bootargs console=ttyS0,​115200 
-  Marvell>>​ saveenv 
-  Saving Environment to SPI Flash... 
-  SF: Detected MX25L4005A with page size 256, total 512 KiB 
-  Erasing SPI flash...Writing to SPI flash...done 
- 
-==== USB boot ==== 
- 
-  Marvell>>​ usb start 
-  Marvell>>​ usb storage 
-    Device 0: Vendor: UFD      Rev: 7.77 Prod: 
-              Type: Hard Disk 
-              Capacity: 125.0 MB = 0.1 GB (256000 x 512) 
-  Marvell>>​ fatls usb 0:1 
-              boot/ 
-  ​ 
-  0 file(s), 1 dir(s) 
-  ​ 
-  Marvell>>​ fatls usb 0:1 /boot 
-              ./ 
-              ../ 
-    4902372 ​  ​uimage-kw-2.6.37-rc3-miniroot ​ 
-  ​ 
-  1 file(s), 2 dir(s) 
-  ​ 
-  Marvell>>​ fatload usb 0:1 0x800000 /​boot/​uimage-kw-2.6.37-rc3-miniroot 4902372 
-  reading /​boot/​uimage-kw-2.6.37-rc3-miniroot 
-  ​ 
-  4902372 bytes read 
-  Marvell>>​ setenv bootargs console=ttyS0,​115200 
-  Marvell>>​ bootm 0x800000 
-  ## Booting kernel from Legacy Image at 00800000 ... 
-     Image Name:   ​Linux-2.6.37-rc3-00799-g2dd0ff5- 
-     Image Type:   ARM Linux Kernel Image (uncompressed) 
-     Data Size:    4902308 Bytes = 4.7 MiB 
-     Load Address: 00008000 
-     Entry Point: ​ 00008000 
-     ​Verifying Checksum ... OK 
-     ​Loading Kernel Image ... OK 
-  OK 
-  ​ 
-  Starting kernel ... 
- 
-==== Disk boot ==== 
- 
-  SoC:   ​Kirkwood 88F6281_A0 
-  DRAM:  256 MiB 
-  SF: Detected MX25L4005A with page size 256, total 512 KiB 
-  *** Warning - bad CRC, using default environment 
-  ​ 
-  In:    serial 
-  Out:   ​serial 
-  Err:   ​serial 
-  Net:   ​egiga0 
-  88E1116 Initialized on egiga0 
-  Marvell>>​ ide reset 
-  ​ 
-  Reset IDE: Bus 0: ........OK 
-    Device 0: Model: SAMSUNG HD103SI ​ Firm: 1AG01118 Ser#: S1Y5J1KS504652 
-              Type: Hard Disk 
-              Supports 48-bit addressing 
-              Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512) 
-  ​ 
-  Marvell>>​ ide part 0 
-  ​ 
-  Partition Map for IDE device 0  --   ​Partition Type: DOS 
-  ​ 
-  Partition ​    Start Sector ​    Num Sectors ​    Type 
-      1                 ​63 ​        ​1975932 ​     83 
-      2          195334335 ​      ​195334335 ​     83 
-  Marvell>>​ ext2ls ide 0:1 /boot 
-  Failed to mount ext2 filesystem... 
-  <​DIR> ​      4096 . 
-  <​DIR> ​      4096 .. 
-           ​4507632 uImage-kw-2.6.36-rc2-pm-miniroot 
-  ​ 
-  Marvell>>​ ext2load ide 0:1 0x800000 /​boot/​uImage-kw-2.6.36-rc2-pm-miniroot 
-  Loading file "/​boot/​uImage-kw-2.6.36-rc2-pm-miniroot"​ from ide device 0:1 (hda1) 
-  4507632 bytes read 
-  Marvell>>​ bootm 0x800000 
-  ## Booting kernel from Legacy Image at 00800000 ... 
-     Image Name:   ​Linux-2.6.36-rc2-00011-g63a3f43- 
-     Image Type:   ARM Linux Kernel Image (uncompressed) 
-     Data Size:    4507568 Bytes = 4.3 MiB 
-     Load Address: 00008000 
-     Entry Point: ​ 00008000 
-     ​Verifying Checksum ... OK 
-     ​Loading Kernel Image ... OK 
-  OK 
-  ​ 
-  Starting kernel ... 
- 
-==== Update U-Boot ==== 
- 
-  ns2> setenv ipaddr 192.168.0.17;​ setenv serverip 192.168.0.13;​ 
-  ns2> tftpboot 0x800000 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-netspace_v2.kwb'​. 
-  Load address: 0x800000 
-  Loading: ##########################################​ 
-  done 
-  Bytes transferred = 214220 (344cc hex) 
-  ns2> fl probe 0:0 
-  SF: Detected MX25L4005A with page size 256, total 512 KiB 
-  512 KiB MX25L4005A at 0:0 is now current device 
-  ns2> sf erase 0 0x40000 
-  Usage: sf erase offset len 
-  ns2> sf erase 0 0x40000 
-  ns2> sf write 0x800000 0 0x40000 
-  ns2> reset 
-  resetting ... 
-  ​ 
-  ​ 
-  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 
-  *** 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> 
- 
 ===== Links ===== ===== Links =====
  
ubootfororionsocs.txt · Last modified: 2011/07/17 13:04 by 82.234.233.9