APC8750にNetBSD/evbarmを移植するための記録 9/30
さて、シリアルコンソールが動いてroot deviceを指定できるようになったので、/sbin/initを動かしてみたい。とはいえ、etherドライバもないし、SDのドライバもないのでmdデバイスを使ってメモリ上で動かしてみようと思う。512MBもメモリあるし。
conf/APCにoptions MEMORY_DISKシリーズをINSTALLからパクってくる。
ルートファイルシステムイメージのファイルを作る。
MAKEDEV allしないとpanicするので注意だな。
ただ、rescue/init, shで動かしてみると、initを実行するところで止まってしまう。
ディスクイメージの作り方ミスだと悲しすぎるのと改造版/sbin/initを作れるようにするためにbuild.sh releaseしよう。ちゃんとしたやり方でINSTALLカーネルが作られるはずだし。
そういや、initはconsoleをopenするのだろうか。まぁ、インストーラは絶対openするだろうからとにかくやってみるかな。
conf/APCにoptions MEMORY_DISKシリーズをINSTALLからパクってくる。
ルートファイルシステムイメージのファイルを作る。
dd if=/dev/zero of=rootfs.img bs=12m count=1 vnconfig vnd0 rootfs.img newfs /dev/rvnd0a mount /dev/rvnd0a /mntイメージファイルの中身はevbarmのbase.tgz, etc.tgzを拾ってきて、sbin/init, bin/sh, dev/MAKEDEVあたりをコピー。
MAKEDEV allしないとpanicするので注意だな。
mdsetimage netbsd rootfs.imgでメモリディスクつきのkernelになる。簡単だね。
ただ、rescue/init, shで動かしてみると、initを実行するところで止まってしまう。
icu: establish_irq: is->is_irq=0x30 icu: unblock: irqbase=0x00000020, irqmask=0x00010000, irq_num=48, reg=0x00000008 rn_init: radix functions require max_keylen be set boot device: <unknown> root on md0a dumps on md0b mountroot: trying nfs... mountroot: trying msdos... mountroot: trying ffs... root file system type: ffs WARNING: no TOD clock present WARNING: using filesystem time WARNING: CHECK AND RESET THE DATE! init: copying out flags `-s' 3 init: copying out path `/sbin/init' 11 exec /sbin/init: error 2 init: copying out flags `-s' 3 init: copying out path `/sbin/oinit' 12 exec /sbin/oinit: error 2 init: copying out flags `-s' 3 init: copying out path `/sbin/init.bak' 15 exec /sbin/init.bak: error 2 init path (default /sbin/init): /rescue/init init: copying out flags `-s' 3 init: copying out path `/rescue/init' 13うーん、どこが変なのかな。資材が足りてないのか、mdsetimageがうまく動いてくれていないのか。initはバイナリをとってきたやつなのでデバッグ文も入れられらないし。
ディスクイメージの作り方ミスだと悲しすぎるのと改造版/sbin/initを作れるようにするためにbuild.sh releaseしよう。ちゃんとしたやり方でINSTALLカーネルが作られるはずだし。
そういや、initはconsoleをopenするのだろうか。まぁ、インストーラは絶対openするだろうからとにかくやってみるかな。
コメント(0件)
- TB-URL http://www.tokuda.net/diary/0837/tb/