[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
NetBSD/ofppc with PSIM(gdb-4.17)
gdb-4.17で、NetBSD/ofppcを動かす方法。
gdbにはPSIM(powerpc simulator)が含まれている。
* gdb-4.17をtarget=powerpc-netbsdでcompileする。
* その際の変更点。
1. gdb/configure.tgt:216に powerpc-*-*bsd*を追加
2. sim/configure:1309に powerpc-*-*bsd*を追加
3. hostがNetBSD-1.3以降では、 sim/ppc/emul_netbsd.cの #define SYS(X)
ASSERT(call == (SYS_##X)) を#define SYS(X)のみにする。
4. vm.c:882あたりのif (MASKED32 ブロックをcomment outする。
* PSIM用のファイルシステムイメージを作成する。
dd if=/dev/zero of=ppcfs bs=10240k count=10
vnconfig vnd0 ppcfs
disklabel vnd0 > /tmp/x
disklabel -R -r vnd0 /tmp/x
newfs -B be /dev/rvnd0c ← little endianマシンでは、
mount /dev/vnd0c /mnt ← kernel optionでFFS_EIを有効にすること。
* ofppc/stand/ofwbootでofwbootを作る。 Locore.c:46,74の数値は
それぞれ4倍しておくこと。stackが足らないらしい。
できたofwboot(powerpc ELF)は、powerpc-netbsd-objcopy --remove-section=.note として.noteセクションを削ること。
* ofppcでkernelを作って/mntに置く。
* ppc-makeのDESTDIRを/mntにして、 NetBSD source treeでuserland codeを
compile/installする。 この際、compileできないものや、WARNINGが出まくる
ものがあるが、 なんとかする :-) bsd.sys.mk書き換えたり... WARNS=0したり
* /mnt/devで MAKEDEV allを実行する。
* installし終わったら(最低/sbin/initと/bin/shかな)
powerpc-netbsd-run -f tree ofwboot。
tree内のimage fileのpathを 変更すること。
* これでNetBSD/ofppcが起動するはず。 root deviceはofdick0c。
umount /mnt; vnconfig -u vnd0をやっておく方が安全。
tree,MAKEDEVはftp://www.cec.co.jp/usr/sakamoto/NetBSD/psim/
sakamoto@cec.co.jp