U-Boot の更新

SheevaPlug

SheevaPlug_DocumentationPackage1.2.zip を展開してできた SheevaPlug Development Kit - Writing Jaunty Filesystem on the NAND flash-Rev1.2.pdf の Appendix A にしたがって、U-Boot を更新する

tftp サーバの準備

LinkStation LS-GL で動作している tftp サーバのトップに SheevaPlug_U-Boot1.2.zip を展開してできる u-boot-rd88f6281Sheevaplug_400db_nand.bin を置く
yasunari@ude:/srv/tftp$ pwd
/srv/tftp
yasunari@ude:/srv/tftp$ ls -l
total 7968
drwxr-s--- 2 yasunari root          48 Mar 22  2009 HS-DHGL_1.20
drwxr-s--- 2 yasunari root          48 May 27 21:32 LS-CHL_1.10
drwxrwxr-x 2 root     root          48 Jan 24  2009 LS-CL+HackKit
drwxr-sr-x 2 root     root          48 Mar 23  2009 LS-CL_1.07
drwxrwsr-x 2 yasunari root          48 Mar 20  2009 LS-GL_1.15
drwxr-sr-x 2 root     root          48 Mar 23  2009 LS-HGL_1.07b
drwxr-sr-x 2 root     root          48 Mar 23  2009 LS-LGL_2.01
drwxrwxr-x 2 root     root          48 Feb 20  2009 LS-QL_1.05+telnet
drwxr-s--- 2 yasunari root          48 Mar 27  2009 LS-QL_1.07b
drwxr-s--- 2 yasunari root          48 Jun  6 09:58 LS-QL_1.10b
drwxr-sr-x 2 yasunari root          48 Mar 25  2009 LS-WSGL_1.06
drwxrwxr-x 2 root     root          48 Jan 24  2009 LS-XHL_1.02
drwxrwxr-x 2 root     root          64 Jan 24  2009 LS-XHL_1.02+telnet
drwxr-s--- 2 yasunari root          48 Mar 27  2009 LS-XHL_1.04b
drwxr-s--- 2 yasunari root          48 May 22 22:22 LS-XHL_1.10
-rw-r--r-- 2 root     root     5969136 Dec 27  2008 initrd.buffalo
-rw-rw-r-- 1 yasunari yamasita  470808 Apr  9 13:23 u-boot-rd88f6281Sheevaplug_400db_nand.bin
-rw-r--r-- 2 root     root     1715900 Dec 30  2008 uImage.buffalo
yasunari@ude:/srv/tftp$

SheevaPlug の U-Boot プロンプトに入る

SheevaPlug を起動、USB デバイスを認識したらすかさず TeraTermPro を起動、 Enter を何度か押す
512 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0
Marvell>>
Marvell>>
Marvell>>

IP アドレスの設定

SheevPlug の IP アドレス 192.168.2.85 を設定する
Marvell>> set ipaddr 192.168.2.85
Marvell>>

tftp サーバのアドレスの設定

LinkStation LS-GL の 192.168.2.38 を設定する
Marvell>> set serverip 192.168.2.38
Marvell>> 

確認

Marvell>> printenv
baudrate=115200
loads_echo=0
rootpath=/mnt/ARM_FS/
netmask=255.255.0.0
console=console=ttyS0,115200
CASset=min
MALLOC_len=1
ethprime=egiga0
bootargs_root=root=/dev/mtdblock2 ro
ethmtu=1500
usb0Mode=host
nandEcc=1bit
ethact=egiga0
cesvcid=ULULULULULULPPULULULULULDA
bootargs_end=:::DB88FXX81:eth0:none
image_name=uImage
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
yuk_ethaddr=00:00:00:EE:51:81
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
ethaddr=00:50:43:01:CA:72
run_diag=no
bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000
stdin=serial
stdout=serial
stderr=serial
mainlineLinux=no
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
bootdelay=3
disaMvPnp=no
enaAutoRecovery=yes
ipaddr=192.168.2.85
serverip=192.168.2.38

Environment size: 1310/131068 bytes
Marvell>>

保存

Marvell>> saveenv
Saving Environment to NAND...
Erasing Nand...Writing to Nand... done
Marvell>>

tftp でアップデート

失敗したら SheevaPlug はレンガに
Marvell>> bubt u-boot-rd88f6281Sheevaplug_400db_nand.bin
egiga0 no link
mvEgigaInit: egiga1 mvEthPortEnable failed (error)
mvEgigaInit: egiga1 failed
Using egiga0 device
TFTP from server 192.168.2.38; our IP address is 192.168.2.85
Filename 'u-boot-rd88f6281Sheevaplug_400db_nand.bin'.
Load address: 0x2000000
Loading: *
だはは。ネットワークケーブルを刺すのを忘れていた。
CTRL-C で中断、ネットワークケーブルを刺し、もう一度
Marvell>> bubt u-boot-rd88f6281Sheevaplug_400db_nand.bin
Using egiga0 device
TFTP from server 192.168.2.38; our IP address is 192.168.2.85
Filename 'u-boot-rd88f6281Sheevaplug_400db_nand.bin'.
Load address: 0x2000000
Loading: #################################################################
         ###########################
done
Bytes transferred = 470808 (72f18 hex)

**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) 
SheevaPlug Development Kit - Writing Jaunty Filesystem on the NAND flash-Rev1.2.pdf の通りに、n を指定する
Override Env parameters? (y/n) n
Erase 0 - 655360 ...
Copy to Nand Flash...
done
Marvell>>
無事終わった???

MAC アドレスの復元

prinetenv したときのアドレスに
Marvell>> setenv ethaddr 00:50:43:01:CA:72
Marvell>>
決してこのままやマニュアル通りに設定しないように。

環境変数の保存

Marvell>> saveenv
Saving Environment to NAND...
Erasing Nand...Writing to Nand... done
Marvell>>

リセット

Marvell>> reset

         設_  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|
 ** MARVELL BOARD: SHEEVA PLUG LE

U-Boot 1.1.4 (Apr  9 2009 - 12:23:12) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CEE60

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

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0
Marvell>>
無事、4月9日版になった


←(前のページ)
ゴム足
当月のハックの記録
SheevaPlug/玄柴(KURO-SHEEVA)をハックしよう トップ
(次のページ)→
bootargs

Copyright (C) 2003-2009 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市