- Copy the flashware image (flashware.img), uImage (uImage.openrd) to the USB key from openrd_usbrecovery.zip (part of OpenRD DVD). Also, copy the file system image (fedora jffs2 or ubifs) to the USB key from openrd_filesystem.zip (part of OpenRD DVD).
- Stop the auto-boot to enter the U-Boot prompt. At the U-Boot prompt, set the following parameters:
Marvell>> set loadaddr 0x2000000
Marvell>> set mtd1Size 0x400000 (setting mtd1 size to 4MB)
Marvell>> set filesize 0x45DD000 <size of the flashware.img in hex bytes>
Marvell>> saveenv
Marvell>> reset - After reset, stop the auto-boot to enter the U-Boot prompt. Connect the USB key, containing the flashware.img, uImage.openrd and file system images, to OpenRD board. Type the command below:
Marvell>> rcvr - OpenRD should then boot up from the flashware.img image in the USB key. Following logs shows entire procedure of using USB recovery.
** MARVELL BOARD: OpenRD-Client LE
U-Boot 1.1.4 (Apr 22 2009 - 20:18:28) Marvell version: 3.4.16
U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CEE80
Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz
DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000 size 256MB
DRAM CS[1] base 0x10000000 size 256MB
DRAM Total size 512MB 16bit width
Flash: 0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB
Checking for BootROM Routine Errors
No. of BootROM routine retries: 8
NAND: Nand ECC error
Running POST...
DDR2 data bus test PASSED
DDR2 address bus test PASSED
UART 1 internal loopback test on baudrate 9600 PASSED
UART 1 internal loopback test on baudrate 19200 PASSED
UART 1 internal loopback test on baudrate 115200 PASSED
Device: 0, Size: 512 MB, Page Size: 2 KB, Block Size: 128 KB
NAND detection test PASSED
Bad Block: 08e60000
Bad Block: 18720000
Bad Block: 1fb60000
NAND bad-block detection test PASSED
RTC test PASSED
6/6 tests PASSED
POST completed
CPU : Marvell Feroceon (Rev 1)
Streaming disabled
Write allocate disabled
Module 0 is AUDIO
Module 1 is RGMII
USB 0: host mode
PCI 0: PCI Express Root Complex Interface
PEX interface detected Link X1
Net: egiga0 [PRIME], egiga1
Hit any key to stop autoboot: 0
Marvell>>
Marvell>> setenv loadaddr 0x2000000
Marvell>> setenv mtd1Size 0x400000
Marvell>> setenv filesize 0x45DD000
Marvell>> saveenv
Saving Environment to NAND...
Erasing Nand...Writing to Nand... done
Marvell>> reset
?
** MARVELL BOARD: OpenRD-Client LE
U-Boot 1.1.4 (Apr 22 2009 - 20:18:28) Marvell version: 3.4.16
U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CEE80
Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz
DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000 size 256MB
DRAM CS[1] base 0x10000000 size 256MB
DRAM Total size 512MB 16bit width
Flash: 0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB
Checking for BootROM Routine Errors
No. of BootROM routine retries: 8
NAND: Nand ECC error
Running POST...
DDR2 data bus test PASSED
DDR2 address bus test PASSED
UART 1 internal loopback test on baudrate 9600 PASSED
UART 1 internal loopback test on baudrate 19200 PASSED
UART 1 internal loopback test on baudrate 115200 PASSED
Device: 0, Size: 512 MB, Page Size: 2 KB, Block Size: 128 KB
NAND detection test PASSED
Bad Block: 08e60000
Bad Block: 18720000
Bad Block: 1fb60000
NAND bad-block detection test PASSED
RTC test PASSED
6/6 tests PASSED
POST completed
CPU : Marvell Feroceon (Rev 1)
Streaming disabled
Write allocate disabled
Module 0 is AUDIO
Module 1 is RGMII
USB 0: host mode
PCI 0: PCI Express Root Complex Interface
PEX interface detected Link X1
Net: egiga0 [PRIME], egiga1
Hit any key to stop autoboot: 0
Marvell>> rcvr
USB: scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Trying to load image from USB flash drive using FAT FS
reading /flashware.img
** Unable to read "/flashware.img" from usb 0:1 **
Trying to load image from USB flash drive using ext2 FS partition 0
Failed to mount ext2 filesystem...
** Bad ext2 partition or disk - usb 0:0 **
Trying to load image from USB flash drive using ext2 FS partition 1
....
..............
73256960 bytes read
Update bootcmd
bootcmd: setenv bootargs $(console) root=/dev/ram0 rootfstype=squashfs initrd=0x2400000,0x41dd000 ramdisk_size=67444 recovery=usb serverip=0.0.0.0; bootm 0x2000000;
Booting the image (@ 0x2000000)...
## Booting image at 02000000 ...
Image Name: Linux-2.6.22.18
Created: 2009-04-22 15:01:37 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2405764 Bytes = 2.3 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK
Starting kernel ...
Uncompressing Linux...................................................................................................................................................
Linux version 2.6.22.18 (dhaval@devbox) (gcc version 4.2.1) #1 Wed Apr 22 20:31:28 IST 2009
CPU: ARM926EJ-S [56251311] revision 1 (ARMv5TE), cr=00053177
Machine: Feroceon-KW
Using UBoot passing parameters structure
Memory policy: ECC disabled, Data cache writeback
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
Built 1 zonelists. Total pages: 130048
Kernel command line: console=ttyS0,115200 root=/dev/ram0 rootfstype=squashfs initrd=0x2400000,0x41dd000 ramdisk_size=67444 recovery=usb serverip=0.0.0.0
PID hash table entries: 2048 (order: 11, 8192 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 256MB 256MB 0MB 0MB = 512MB total
Memory: 447360KB available (4376K code, 365K data, 140K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
CPU Interface
-------------
SDRAM_CS0 ....base 00000000, size 256MB
SDRAM_CS1 ....base 10000000, size 256MB
SDRAM_CS2 ....disable
SDRAM_CS3 ....disable
PEX0_MEM ....base e8000000, size 128MB
PEX0_IO ....base f2000000, size 1MB
INTER_REGS ....base f1000000, size 1MB
NFLASH_CS ....base fa000000, size 2MB
SPI_CS ....base f4000000, size 16MB
BOOT_ROM_CS ....no such
DEV_BOOTCS ....no such
CRYPT_ENG ....base f0000000, size 2MB
Marvell Development Board (LSP Version KW_LSP_4.2.7_patch2)-- OpenRD-Client Soc: 88F6281 A0 LE
Detected Tclk 200000000 and SysClk 400000000
MV Buttons Device Load
Marvell USB EHCI Host controller #0: c65fa600
PEX0 interface detected Link X1
PCI: bus0: Fast back to back transfers disabled
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Time: kw_clocksource clocksource has been installed.
NET: Registered protocol family 2
IP route cache hash table entries: 16384 (order: 4, 65536 bytes)
TCP established hash table entries: 65536 (order: 7, 524288 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
TCP reno registered
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 67444K
RTC registered
Use the XOR engines (acceleration) for enhancing the following functions:
o RAID 5 Xor calculation
o kernel memcpy
o kenrel memzero
Number of XOR engines to use: 4
cesadev_init(c0011674)
mvCesaInit: sessions=640, queue=64, pSram=f0000000
Warning: TS unit is powered off.
MV Buttons Driver Load
squashfs: version 3.3 (2007/10/31) Phillip Lougher
squashfs: LZMA suppport for slax.org by jro
NTFS driver 2.1.28 [Flags: R/W].
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered (default)
XGIfb: Options <NULL>
XGIfb: Relocate IO address: 1000 [00001030]
XGIfb: Enable PCI device
XGIfb: Video ROM usage disabled
XGIfb: Enable PCI device
XGIfb: Video ROM usage disabled
XGIfb: SR14=0 DramSzie 200000 ChannelNum 1
XGIfb: Framebuffer at 0xe8000000, mapped to 0xe0c00000, size 2048k
XGIfb: MMIO at 0xec000000, mapped to 0xe0880000, size 256k
XGIfb: XGIInitNew() ...12345678910111215171818118218319202122232425OK
XGIfb: Memory heap starting at 4096K
XGIfb: Using MMIO queue mode
XGIfb: No or unknown bridge type detected
XGIfb: Default mode is 1024x768x16 (60Hz)
Console: switching to colour frame buffer device 128x48
XGIfb: Installed XGIFB_GET_INFO ioctl (80046ef8)
fb0: frame buffer device, Version 0.8.01
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
serial8250.0: ttyS1 at MMIO 0xf1012100 (irq = 34) is a 16550A
RAMDISK driver initialized: 20 RAM disks of 67444K size 4096 blocksize
Loading Marvell Ethernet Driver:
o Cached descriptors in DRAM
o DRAM SW cache-coherency
o Single RX Queue support - ETH_DEF_RXQ=0
o Single TX Queue support - ETH_DEF_TXQ=0
o TCP segmentation offload enabled
o Receive checksum offload enabled
o Transmit checksum offload enabled
o Network Fast Processing (Routing) supported
o Driver ERROR statistics enabled
o Driver INFO statistics enabled
o Proc tool API enabled
o Rx descripors: q0=128
o Tx descripors: q0=532
o Loading network interface(s):
o eth0, ifindex = 1, GbE port = 0
o eth1, ifindex = 2, GbE port = 1
mvFpRuleDb (dc3c0000): 16384 entries, 65536 bytes
Intel(R) PRO/1000 Network Driver - version 7.3.20-k2-NAPI
Copyright (c) 1999-2006 Intel Corporation.
e100: Intel(R) PRO/100 Network Driver, 3.5.17-k4-NAPI
e100: Copyright(c) 1999-2006 Intel Corporation
Integrated Sata device found
scsi0 : Marvell SCSI to SATA adapter
scsi1 : Marvell SCSI to SATA adapter
NFTL driver: nftlcore.c $Revision: 1.98 $, nftlmount.c $Revision: 1.41 $
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 1139 at 0x08e60000
Bad eraseblock 3129 at 0x18720000
Bad eraseblock 4059 at 0x1fb60000
Using static partition definition
Creating 3 MTD partitions on "nand_mtd":
0x00000000-0x00100000 : "u-boot"
0x00100000-0x00300000 : "uImage"
0x00300000-0x20000000 : "root"
ehci_marvell ehci_marvell.70059: Marvell Orion EHCI
ehci_marvell ehci_marvell.70059: new USB bus registered, assigned bus number 1
ehci_marvell ehci_marvell.70059: irq 19, io base 0xf1050100
ehci_marvell ehci_marvell.70059: new USB bus registered, assigned bus number 1
ehci_marvell ehci_marvell.70059: irq 19, io base 0xf1050100
ehci_marvell ehci_marvell.70059: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
USB Universal Host Controller Interface driver v3.0
usb 1-1: new high speed USB device using ehci_marvell and address 2
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 7 ports detected
usb 1-1.1: new high speed USB device using ehci_marvell and address 3
usb 1-1.1: configuration #1 chosen from 1 choice
usbcore: registered new interface driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
Initializing USB Mass Storage driver...
scsi2 : SCSI emulation for USB Mass Storage devices
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
Linux telephony interface: v1.00
Marvell Telephony Driver:
Warning Tdm is Powered Off
md: linear personality registered for level -1
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
raid6: int32x1 98 MB/s
raid6: int32x2 114 MB/s
raid6: int32x4 123 MB/s
raid6: int32x8 111 MB/s
raid6: using algorithm int32x4 (123 MB/s)
md: raid6 personality registered for level 6
md: raid5 personality registered for level 5
md: raid4 personality registered for level 4
raid5: measuring checksumming speed
arm4regs : 1089.600 MB/sec
8regs : 758.800 MB/sec
32regs : 904.400 MB/sec
raid5: using function: arm4regs (1089.600 MB/sec)
device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised:
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
dm_crypt using the OCF package.
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mvsdmmc: irq =28 start f1090000
mvsdmmc: irq_detect=93
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.14 (Thu May 31 09:03:25 2007 UTC).
ALSA device list:
#0: Marvell mv88fx_snd ALSA driver
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
RAMDISK: squashfs filesystem found at block 0
RAMDISK: Loading 67444KiB [1 disk] into ram disk... done.
VFS: Mounted root (squashfs filesystem) readonly.
Freeing init memory: 140K
init started: BusyBox v1.7.0 (2008-02-26 19:25:17 IST)
starting pid 305, tty '': '/etc/init.d/rcS'
starting pid 307, tty '': '/bin/sh'
-sh-3.2# scsi 2:0:0:0: Direct-Access JetFlash TS2GJFV30 8.07 PQ: 0 ANSI: 2
sd 2:0:0:0: [sda] 4014078 512-byte hardware sectors (2055 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] 4014078 512-byte hardware sectors (2055 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 2:0:0:0: [sda] Attached SCSI removable disk
sd 2:0:0:0: Attached scsi generic sg0 type 0
-sh-3.2#


