[Uclinux-h8-devel] Re: 秋月 H8-3069 ネットワークボードで起動できない件

Back to archive index

Yoshinori Sato ysato****@users*****
2005年 5月 27日 (金) 15:36:55 JST


説明の手抜きはよくないですね。反省。

At Fri, 27 May 2005 14:14:09 +0900,
kazu****@obent***** wrote:
> 
> こんにちは。藤原です。
> 
> kernel2.4を使って佐藤さんに教えて頂いたコマンドを実行しました。
> -----------------------------------------------------------
> load -r -b 0x400000 linux.bin
> load -r -b 0x4f707c rootimage.bin
> exec -c "console=ttySC1,38400"
> -----------------------------------------------------------
> +**Warning** FLASH configuration checksum error or invalid key
> Use 'fconfig -i' to [re]initialize database
> DP83902A - eeprom ESA: 00:02:cb:01:8c:36
> .. waiting for BOOTP information
> Ethernet eth0: MAC address 00:02:cb:01:8c:36
> IP: 10.117.1.216/255.255.255.0, Gateway: 0.0.0.0
> Default server: 10.117.1.79
> 
> RedBoot(tm) bootstrap and debug environment [ROM]
> Non-certified release, version UNKNOWN - built 21:28:57, Apr 11 2004
> 
> Platform: Akizuki H8/3068 Network micom (H8/300H) 
> Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
> 
> RAM: 0x00400000-0x005f4000, [0x00400000-0x005e1000] available
> FLASH: 0x00000000 - 0x00080000, 8 blocks of 0x00010000 bytes each.
> RedBoot> load -r -b 0x400000 linux.bin
> Using default protocol (TFTP)
> Raw file loaded 0x00400000-0x004888a3, assumed entry at 0x00400000
> RedBoot> load -r -b 0x4f707c rootimage.bin
> Using default protocol (TFTP)
> Raw file loaded 0x004f707c-0x00566c7b, assumed entry at 0x004f707c
> RedBoot> exec -c "console=ttySC1,38400"
> Now booting linux kernel:
>  Entry Address 0x00400000
>  Cmdline : console=ttySC1,38400
> Linux version 2.4.21-uc0 (ysato @ mitou) (gcc バージョン 3.3) #278 2003年 8月 13日 水曜日 00:46:59 JST
(略)
> Blkmem copyright 1998,1999 D. Jeff Dionne
> Blkmem copyright 1998 Kenneth Albanowski
> Blkmem 1 disk images:
> 0: 4888A4-6F688CA3 [VIRTUAL 4888A4-6F688CA3] (RO)
> Kernel panic: VFS: Unable to mount root fs on 1f:00
>  
> これが何を意味するかいまいち分からないのですが、DRAMの違いが原因なのでしょうか。

単純にrootimage.binを見付けられなかっただけです。
ハード的な問題ではありません。

とりあえず二番目を
load -r -b 0x4888a4 rootimage.bin
で動くと思います。

> 試しに rootimage.binをロードするアドレスを0x4A0000 にしてみましたが
> 結果は同じでした。
> -----------------------------------------------------------
> load -r -b 0x400000 linux.bin
> load -r -b 0x4A0000 rootimage.bin
> exec -c "console=ttySC1,38400"
> -----------------------------------------------------------
> 
> もうちょっとがんばってみます。

"0x4888a4"というアドレスをどうやって出してくるか説明しておきます。
uClinux-distで使う場合はこのへん隠蔽されるので、面倒な場合はそっちに逃げるの
が吉。

rootimageは決められた場所に読み込む必要があるので、適当な所に読み込むと見付け
てもらえなかったり、大事なデータを壊して動かなくなったりします。

で、決められた場所というのは通常 kernel の直後になります。
具体的にどこになるかはいろいろな条件によって変わるので、そのへんに書いてある
ものを丸写ししてもダメです。頑張って読み取る必要があります。

以下、等幅フォントで読んでください。

1. RedBootのメッセージから拾う
> RedBoot> load -r -b 0x400000 linux.bin
> Using default protocol (TFTP)
> Raw file loaded 0x00400000-0x004888a3, assumed entry at 0x00400000
                             ~~~~~~~~~~←ここが linux.bin の最終アドレス
となった場合は 0x4888a3 までなので、その直後の 0x4888a4 から rootimage.bin を
読み込めばいいことになります。

2.blkdevのメッセージから拾う
探しにいく所までは必ず動くので、rootimage.binを読んでいない状態で起動して、
> Blkmem 1 disk images:
> 0: 4888A4-6F688CA3 [VIRTUAL 4888A4-6F688CA3] (RO)
     ~~~~~~ ←ここにrootimage.binがあることを期待している。
というメッセージを探して、どこを見に行っているか調べる事が出来ます。

3.ファイルを連結して一個にする
あまり更新しないならいちばんお手軽です。
どっちもべたバイナリなので、くっつけてしまえば連続して読み込まれます。

-- 
Yoshinori Sato
<ysato****@users*****>



Uclinux-h8-devel メーリングリストの案内
Back to archive index