NetBSD/macppc | build.sh | kernel | models(NetBSD) | models(ki.nu) | Tsubai San | Starting | (English) | sysinst | X11 | kernel | Install in English | mozilla | make build | Open Firmware | sup | StarMax (Diary) | Diary | Links | NetBSD at ki.nu | NetBSD links | ki.nu 全文検索

Building kernel on NetBSD/macppc

URL
-current の kernel なら、 次のところにある sys.tar.gz, config.tar.gz を使う
netbsd.org | jp.netbsd.org | dti | iij (/NetBSD-current/tar_files/src/)
本家にある説明(英語)
http://www.netbsd.org/Documentation/kernel/ http://www.jp.netbsd.org/Documentation/kernel/
沖さんによる説明
http://www.rd.cc.kshosen.ac.jp/~kamahara/NetBSD-X680x0/RECOMPILE.html
Config の書き方(カーネル再構築情報)
http://www.nisoc.or.jp/~karl/netbsd-pc98/doc/config.txt
(あるいは(英語なら) man config -> man 4 options )
kernel の組立て方
/usr/src で sys.tar.gz を開ける 
(開けるだけで 約 70M , make すると 77M Bytes くらい必要)
cd /usr/src
tar zxf sys.tar.gz
cd /usr/src/sys/arch/macppc/conf
cp GENERIC    YOUR_VERSION
vi            YOUR_VERSION
config        YOUR_VERSION
cd ../compile/YOUR_VERSION
make
mv /netbsd /netbsd-keep
cp netbsd  /netbsd
19990223
IDE/L2 cache, pmac_ の問題を直す修正が筒井さんのところに置いてある。 http://www.ceres.dti.ne.jp/~tsutsui/netbsd/
kernel を作り直す(その四), 19990220
mesh が入ったというのと de の問題が何かを確認するためも兼ねて、 また作り直す。

以前に IDE にそっくり入れ直したら wdc1 が出て来た 後で止ってしまったのは IDE に入れたためだと思っていたが、SCSI に入れても同じ様に止ってしまうということが分った。 (と一度書いたが、SCSI の方はいまでは動いている 2/26)

wdc0 だけにするとそこは通過して network の問題が残る ここまでの状況を send-pr する。(本当に初めての send-pr)

de の修正をして作り直すと wscons の focus の問題が残っていたので それも直してやっと動くものが出来る。 つまり

としたものを今は使っている
kernel を作り直す(その三), 19990126
cd /usr tar zxf sys.tar.gz cd src/sys/arch/macppc/conf cp GENERIC MESH cd ../macppc 72 21:38 cp /pub/NetBSD/PowerPC/meshreg.h ../../../arch/macppc/dev 73 21:38 cp /pub/NetBSD/PowerPC/mesh.c ../../../arch/macppc/dev patch -s -p0 < MESH-19990126.diff de を使えるようにするために ftp://nandra.iri.co.jp/pub/NetBSD/macppc/sys.dev.diff を当て、de を生かしおく
kernel を作り直す(その二), 19990113
僕の StarMax は内蔵 SCSI が mesh controller なので、次のように 少し加える必要があるが、純正 PowerMac なら 53c9x を使っていて、 その場合は何も加えなくてもいいはず。
cd /usr
tar zxf sys.tar.gz
cd src/sys/arch/macppc/conf
cp POWERMAC MESH
patch -s -p1 < MESH.diff
cp  mesh.c ../../arch/dev/
cp  meshreg.h ../../arch/dev/
config MESH
cd ../compile/macppc/MESH
patch -s < Makefile.diff
make

ld -N -Ttext 100000 -e __start -x -o netbsd ${SYSTEM_OBJ} vers.o
text    data    bss     dec     hex     filename
1101848 68804   160308  1330960 144f10  netbsd

obio0 at pci0 dev 16 function 0: addr 0xf3000000
mesh0 at obio0 offset 0x10000 irq 12: MESH SCSI ID 7
scsibus at mesh0 not configured

...
boot device: <unknown>
root device:
まだ mesh が入っていない。
(正しく動いている時の表示: >boot fd:0)
obio0 at pci0 dev 16 function 0: addr 0xf3000000
mesh0 at obio0 offset 0x10000 irq 12: MESH SCSI ID 7
scsibus0 at mesh0: 8 targets
sd0 at scsibus0 targ 4 lun 0: <QUANTUM, LIGHTNING 730S, 241E> SCSI2 0/direct fixed
sd0: 699MB, 3658 cyl, 4 head, 97 sec, 512 bytes/sect x 1431760 sectors
(MESH という中が間違っていた)

19990112, kernel を作り直す (その一、失敗)
POWERMAC という名のものをそのまま使って見た

config POWERMAC とすると、いきなり syntax error となってしまう 
ので、 config を入れ替える。
(と思ったが、どうやったか覚えていない)

root@harry  6:22:14/990113(/usr/src)# ls -l /usr/sbin/config*
-r-xr-xr-x  1 root  wheel  117000 Oct 23 08:04 /usr/sbin/config


ld -N -Ttext 100000 -e __start -x -o netbsd ${SYSTEM_OBJ} vers.o
text    data    bss     dec     hex     filename
1091536 68580   159028  1319144 1420e8  netbsd

しかし mesh が入っていなかった。
mesh at obio0 offset 0x10000 not configured
....
boot device: <unknown>
root device:   

floppy boot して mount /dev/sd4a /mnt しておいて古い方
の netbsd を復活する