[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: I want to try with my NWS-5000 and external SCSI HDD.
どうも、桝田@阪大です。
若干 topic はずれますが。
NetBSD/newsmips を NWS-5000 でローカルディスクから boot
出来ないか、と考え、NEWS-OS 4.2R の力を借りてみる実験をし
たのですが、もう一歩で止まってしまいました。
[やったこと]
・NEWS-OS 4.2R で、/usr/sony/etc/installboot を使って
boot00, boot0 をターゲットディスク書き込む。
・NEWS-OS 4.2R の boot をターゲットディスクの / にコピーする。(*1)
・とりあえず SCSI を enable にした kernel で diskless boot する。
・SCSI を enable にした kernel(1.5K)を基に ECOFF に変換する。
objcopy -O ecoff-bigmips -R .mdebug -p /netbsd /vmunix (*2)
・bo scsi(0,0,0)(=ターゲットディスク) でブートする。
--(脚注)--
(*1) diskless boot に使っている secondary boot を使うと、以下のように
なってしまいます。
> bo
APbus Primary Boot Program
NetBSD/newsmips Secondary Boot
Booting scsi(0,0,0)
2663128+92624\
** Bus error (instruction fetch) **
cause=0x10000018, status=0x00400003, badvaddr=0xffff1ec0, epc=0xb232e75c
Begin trace back...
pc=0xb232e75c, sp=0x8028f8a8
>
(*2) .mdebug セクションを削らないと kernel のロード後、ELF symbol table
が見つからない、と言われてしまいます。
--(ここまで)---
上記でうまくいったかのように見えたのですが、電源投入直後に
ローカルディスクから起動しようとすると、kernel のロード後、
symbol table がどうたら、という出力の*手前*で凍ります。
> bo
APbus Primary Boot Program
APbus Full Boot Program (0x87e00000-0x87e153df)
: scsi(0,0,0)/vmunix
text_start=0x80001000, data_start=0x80254540, entry=0x80001000
.text: address=0x80001000-0x8025453f, size=2438464
.rodata: address=0x80254540-0x8028b2bf, size=224640
.reginfo(伽(伽: address=0x8028b2c0-0x8028b2d7, size=24
.data: address=0x8028c2e0-0x802a2c6f, size=92560
.sdata: address=0x802a2c70-0x802a2caf, size=64
.sbss: address=0x802a2cb0-0x802a2caf, size=0
.bss: address=0x802a2cb0-0x802e7baf, size=282368
.ident: address=0x80436684-0x80436abe, size=1083
(ここでだんまり)
一度、diskless boot してから halt して起動すると、何故かう
まくいくことから、何らかの初期化が足りなさそう、という感じな
のですが、力尽きました。
# .reginfo を削ったり、.rodata に READONLY 属性を付けたりはしてみました。
そもそもこんなことしても無駄、とか、こーゆー手があるのでは、
とか、こんなことしてるぐらいなら、正しく primary/secondary
boot コード書けよ、とか、suggestion があればお願いします。
--
桝田 秀夫@サイバーメディアセンター.大阪大学(h-masuda@ime.cmc.osaka-u.ac.jp)
[兼任: 情報科学科.基礎工学部.大阪大学(h-masuda@ics.es.osaka-u.ac.jp)]