玄箱Pro、直します。

超初心者が、玄箱PROでLinuxを勉強する無謀なブログです。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
別窓 | スポンサー広告
∧top | under∨

HDDブート

そういえば、仕様書にあるHDDブートってやったことないなぁ。

ということで、今頃ですがやってみました、HDDブート。

仕様書によると

動作は保障しない


とのこと(笑)。もうなんだっていいです、はい。

1.未フォーマット状態のHDDを接続し、通常ブートさせる。
2.CD-ROMの「development_kit」内の書き(『下記』の誤植)ファイルを共有ディレクトリ、「mtd device」にコピーする。
3.上記状態で、製品背面のinitswを押す。
4.Infoledが点滅し、フォーマット、開発環境の展開、u-bootの環境変数の書き換えが行われる。


とのこと。
下記ファイルとは

hddrootfs.tar.gz
ChangeMeDevHDD
ChangeMeUbootEnv
uImage.buffalo

の4つ。
ひとまずこの通りにやってみた。

作業終了でreboot。

へぇ、HDDブートの時はサングラス男出ないんだね。
HDDブートの時の環境変数です。

baudrate=115200
loads_echo=0
rootpath=/nfs/arm
cpuName=926
CASset=min
MALLOC_len=4
bootargs_end=:::DB88FXX81:eth0:none
ethact=egiga0
ethaddr=00:16:01:A4:D5:55
buffalo_ver=BOOTVER=1.091
build_time=18:10:02
nand_uImage_offset=20000
def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)
kernel=uImage.buffalo
initrd=initrd.buffalo
filesize=1a7fa4
fileaddr=0
ipaddr=192.168.1.9
serverip=192.168.1.25
default_initrd_addr=0x02000000
uImage_block=0
uImage_offset=0x00020000
default_kernel_addr=0x00100000
bootargs_base=console=ttyS0,115200
bootargs_root=root=/dev/sda2 rw panic=5
bootargs=console=ttyS0,115200 root=/dev/sda2 rw panic=5 BOOTVER=1.09
bootcmd=ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)
nand_boot=no
stdin=serial
stdout=serial
stderr=serial
enaMonExt=no
enaFlashBuf=yes
enaCpuStream=no
ethprime=egiga0
bootdelay=3
disaMvPnp=no
overEthAddr=no
usb0Mode=host
usb1Mode=host


フラッシュブートからの変更点は

bootargs_root root=/dev/sda2 rw panic=5
bootcmd ide reset; ext2load ide 0:1
nand_boot no
bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)


の4点でしょうか。

有名な「LinkStation/玄箱をハックしよう」ではもっと詳しく、/etc/init.d/rcS内の変化を説明していただいてます。(→「初期化の違い」)。
ホントありがたい話です・・。

ためしに以下のように入力すると、フラッシュからのブートとなりました。

Marvell>> setenv bootargs_root root=/dev/mtdblock2 rw panic=5
Marvell>> setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset); bootm $(default_kernel_addr)'
Marvell>> setenv nand_boot yes
Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
Marvell>> boot


やっとこの辺の仕組みが理解できてきたかもしれません(汗)。

長かった・・。
スポンサーサイト
別窓 | memo:ブート方法 | コメント:0 | トラックバック:0
∧top | under∨
<<玄箱Proが起動するまで | 玄箱Pro、直します。 | /dev/mtdとは>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

トラックバックURL

FC2ブログユーザー専用トラックバックURLはこちら
∧top | under∨
| 玄箱Pro、直します。 |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。