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 revisionPrevious revision
Next revision
Previous revision
ubootfororionsocs [2011/07/13 14:26] 89.234.168.65ubootfororionsocs [2011/07/17 15:04] (current) 82.234.233.9
Line 1: Line 1:
-====== Extending U-Boot support for Orion SoC  ======+====== U-Boot support for Orion SoCs  ======
  
 ===== Overview ===== ===== Overview =====
  
-The Orion family of SoCs includes the following machines:+See our [[uboot|U-Boot main page]].
  
-  * Buffalo/Revolution Kurbox Pro +===== To-do list =====
-  * Buffalo/Revolution Linkstation Mini +
-  * Buffalo/Revolution Terastation Pro II/Live +
-  * Lacie ED Mini V2 +
-  * Lacie Internet Space V1 (V2 uses kirkwood) +
-  * Lacie 2Big +
-  * Lacie 5Big +
-  * Lacie d2 Network +
-  * Lacie Big Disk Network +
-  * Marvell Orion-2 Development Board, Marvell Orion-VoIP FXO, Marvell Orion-VoIP GE, Marvell Orion-NAS Reference Design, Marvell Orion-1-90 AP GE Reference Design +
-  * Maxtor Shared Storage II +
-  * QNAP TS-109/TS-209 +
-  * QNAP TS-409 +
-  * Technologic Systems TS-78xx+
  
-===== Sources ===== +   adapt orion5x edminiv2 or relocation (wip in -next
- +   add initial support for net5big (based upon reloc adaptation
-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: +   * add initial support for net2big (based upon reloc adaptation
- +   add I2C support to net5big 
-  **stable** is used to build the images distributed via a [[ftp://lacie-nas.org/u-boot|FTP repository]]. +   * add PCI support to net5big 
-  * **master** is a development branch, holding the patches waiting to be merged mainline. +   add SATA over PCI support to net5big
- +
-Checkout command: +
- +
-  git clone http://git.lacie-nas.org/u-boot-lacie.git +
-or +
-  git clone git://lacie-nas.org/u-boot-lacie.git +
- +
-===== 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 =====
- 
-  * [[http://www.marvell.com/files/products/media/88F5182_Functional_Errata.pdf|88F5182 Functional Errata]] 
-  * [[http://www.marvell.com/files/products/media/88F5182_Data_Sheet.pdf|88F5182 Datasheet]] 
-  * [[http://www.marvell.com/files/products/media/88F5182_User_Manual.pdf|88F5182 User Manual]] 
- 
ubootfororionsocs.1310559973.txt.gz · Last modified: 2011/07/13 14:26 by 89.234.168.65