[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Porting NetBSD to L-Card+
竹村です。
----- Original Message -----
From: "Naoto Shimazaki" <igy@arhc.org>
To: "TAKEMURA Shin" <takemura@netbsd.org>
Cc: <port-hpcmips-ja@jp.netbsd.org>
Sent: Sunday, December 29, 2002 11:41 AM
Subject: Re: Porting NetBSD to L-Card+
> 物理アドレスの 0x1fc00000 から 0x1fc80000 まで、
> KSEG1 空間では 0xbfc00000 から 0xbfc80000 までが
> モニタの text と data のようです。bss は
> 0xa0000000 から 0xa0020000 までの 128Kbyte ですね。
>
> Linux kernel は 0xbfd00000 から書くようです。
lcbootの読み込みアドレスを0xbfd40000に変更し、
0xbfd00000: lcboot
0xbfd40000: netbsd.gz
のようにflashに書き込んでみました。この領域はもともとは
linuxカーネルがある場所なのでちょっとだけ気が楽という
だけですが。
> もう少し気楽に遊ぶためには、独自モニタがしている処理を
> NetBSD カーネルの mach_init() の手前に当たる位置に
> もってきてあげ、オリジナルのモニタから直接起動できるように
> してあげる必要があると思ってます。
モニタが2段階になってしまいますが、一応オリジナルのモニタから
起動できています。
カーネルのコンフィギュレーションに以下のようなものをたしてみました。
1.6のソースは最新版ですが、それ以外は変更してません。
options KLOADER
wdc* at pcmcia? function ?
wd* at wdc? channel ? drive ? flags 0x0000
ne* at pcmcia? function ? # NE2000-compatible Ethernet
file-system NFS # Sun NFS-compatible filesystem (client)
options NFS_BOOT_BOOTP
NFSとKLOADERでネットワーク経由でカーネルを読み込むことが出来ます。
neは動きませんでした。wdは動くようです。
cs0でルートファイルシステムをNFSでマウントしているのですが、
シングルユーザモードからマルチユーザモードに移行する途中で
止まってしまってNFSにアクセスしなくなってしまいます。
しばらく放置すると数分後から
nfs_timer: ignoring error 55
というエラーがコンソールに無限に出力されます。55は
No buffer space available ですが、なんとなくcs0がうまく動いていないような
感じです。シングルユーザモードででも
dd if=/dev/zero of=foo bs=1024 count=4096
としてNFSで書き込んでいたら2MBぐらい書き込んだところで同じように
nfs_timer: ignoring error 55が出続ける症状になりました。
Linuxカーネルに戻してL-Cardからhttpで4MBのファイルをダウンロードする
テストを数回行ってみたところ正常にダウンロードできました。
(でも50kb/secしかスピードが出ませんでした)
島崎さんはcs0を使っていますか?
Takemura