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 全文検索
Starting NetBSD on PowerPC
(Sorry, this page is in Japanese. If I got
many requests, I will
have English version. ->
English version being prepared)
PowerPC
603e,
604e
の載っている
Macintosh あるいはその互換機
(macppcと呼ぶ)
のうち PCI Bus を採用しているもので
NetBSD を動かす話を書いています。
(1998/12/21)時点では、直接便利に設置する方法(sysinst)が用意
されていませんでしたので、
- boot floppy を作る
-
Boot Vars
か Command + Option + O + F で OpenFirmware
と対話出来るようにする。
- floppy で single user mode を動かす
- その上で SCSI disk に区画と newfs/mount をして
- network が利用出来るはずなので, nfs, ftp CDROM などの方法を使って
(用意されている binary/sets を)
設置先の / /usr に展開し
- 起動出来るように設定(installboot)をしてから
- SCSI から起動する
という手順を採る必要がありました。しかし
1999/01/19 版になると sysinst が使えるようになっていますので
Ethernet 内蔵の Macintosh であれば、とても簡単に設置が出来ると
思います。つまり
- boot floppy を作る
-
Boot Vars
か Command + Option + O + F で OpenFirmware
と対話出来るようにする。
- floppy から起動すると 次に何をするか聞いて来るので
- (実は network の設定は自動ではうまく行かないことが多いようなの
で)
S(hell) の s を入力して shell を起動し、その中で
ifconfig を使って設定しておいてから ./sysinst で再び起動し
- いろいろ質問をして来るので、それに従って答えて行くだけでよい
ということになります。以下に書いてあるのはこの古い方なので
19990119 版で設置される場合、情報が古くなってしまっています
sysinst を使った新しい方法
も(一応英語なのですが)用意していますので、御覧下さい。
(StarMax 3000/200 などにも対応しています)
ただし Tanzania 板を使っている機械や、 Ethernet が DEC 21041
などの場合、やはりここに書いてある方法が必要なのではないかと
思っています。( boot floppy と kernel だけはここの情報のもの
を使い それ以外の binary/sets/*.tgz は新しいものを使う)
英語での設置手順の説明は(少し古いですが)次のところにあります。
http://www.matematik.su.se/~tege/macppc.txt
という訳で、現在のところ、
このような方におすすめです。
Open Firmwareは
IEEE の
1275
(実際に規格の中身を見るには userid/password が要るようです。
印刷物の
価格など)
の規格で、
PCI bus の載っている PowerMac にはこの
機能があります。NetBSD/macppc を起動するには、これを経由
します。
- Open Firmware and Boot Variables
-
http://www.linuxppc.org/userguide/of.html
- linux-ppc/INSTALL
- を村田暢宏さんが訳したものから、
2. Booting Linux with Open Firmware. の部分
http://www.y-min.or.jp/~nob/linux-pmac/INSTALL-j.html#part2
- 確定前の IEEE 1275
-
ftp://playground.sun.com/pub/p1275/coredoc/1275-1994/
- Unofficial OpenFirmware Web Page ( by CodeGen, Inc.)
-
http://www.openfirmware.org/
- The OpenFirmware Source
-
http://www.firmworks.com/
- auto-boot?
- (起動の設定について) 僕はいつも
auto-boot? false
としている。こうすると起動直後に Open Firmware と対話する形になり、そこで
bye -> MacOS
boot -> default boot
(boot-device,boot-file を参照)
boot fd:0 -> floppy boot
boot scsi/sd@4:0 -> SCSI id = 4 の disk から起動
などと切換えることが出来る
- printenv
- 変数名・その内容・初期値を表示します
printenv とすると表示されるものの例
- setenv
- 変数の内容を設定します
setenv auto-boot? falseのように入力します。
- boot の方法
-
boot scsi/sd@3:0 と入力するか(この例は SCSI-ID = 3)
次の二つの変数を設定しておけば、boot と入力するだけで良い。
boot-device
boot-file
BootVars を使えば、MacOS から、これらの変数を設定出来ます。
bootvars-1.3a.sit.hqx は少なくとも次のところにあります。
ftp://top.cis.syr.edu/users/fadushin/bootvars/
最近は
BootX
(http://www.linuxppc.org/bootx.html)
というのが流行りですが、NetBSD-macppc では、まだこれに対応
するものはありません。
- ttya(モデムポート)で通信するには
-
(多分不要だとは思うが) 本当に最初に作業する時は記録が採れるので
直列口 serial port を通じて他の計算機などと通信出来るようにす
るのも一つの方法。この時は 38.4kbps になる。
通常の Mac 用のモデム線を使うと
Mac 側の RTS(4番 pin) が low のままで、それを端末側の
CTS(5番 pin) につないでしまうと(CTS が上らないので)
入力をすることが出来ない。
それで、次のように macppc 側の四番は使わずに、端末側の四番から戻す。
macppc 側 端末側
(low) RTS 4 +--> CTS 5
|
CTS 5 <--+--- RTS 4
上記の番号は DB-25の場合。
- Open Firmware をいきなり起動する方法もある。
-
Macintosh で 起動時に command + option + O + F とすると
入力 ttya 出力 ttya で Open Firmware と出会うことも出来る
(つまり他の端末か、端末の働きをする計算機を 38.4kbps でモデムポー
トにつないでおく)
- 画面が真暗になってしまったら
-
電源を入れ直したり、reset をしても画面が真黒のままで
何も表示されず、またそういう時に bye と入れても何も反応がない時
電源を入れる時に、
command + option + P + R を全て押したままで起動音が二回鳴れば、大丈夫。
PRAM が消されて元に戻るのでいつもの MacOS が起動出来るはず。
(但し 「Ethernet を使う設定」は -> 「プリンタポート使用」になってしまう)
boot floppy を作る
19990220 版を作っていただいていますので(これが一番新しい)を使って下さい。
ftp://ftp.jp.netbsd.org/pub/NetBSD/arch/macppc/floppy/
次のものを
http://www.ceres.dti.ne.jp/~tsutsui/netbsd/boot.fs.gz
80 * 36 * 512 = 1,474,560 bytes の floppy に書きます。方法はいろ
いろあるはずですが、少なくとも次のような方法があります。
- Macintosh (SunTar(*) を使う)
-
suntar を使う時の注意点は次のところに書いてある
ftp://ftp.jp.netbsd.org/pub/NetBSD/arch/macppc/floppy/
README.rawdisk
僕も説明を用意して見た。
- Macintosh(Disk Copy, 次の三つの操作は MacOS 上で行う)
-
-
次のところなどから Disk_Copy 6.3.3 などを入手する
ftp://ftp.apple.co.jp/pub/AppleJapan/Macintosh/Utilities/Disk_Copy/
http://ftp-info.apple.co.jp/reference/disk_copy613.html (Not Found)
- boot.fs.img
次のところから boot.fs.img.hqx を入手し、
ftp://ftp.ki.nu/pub/NetBSD/powerpc-jp/
boot.fs.img.hqx (圧縮なし1.9MBytes)
ftp://ftp.ki.nu/pub/NetBSD/powerpc-jp/boot.fs.img.lzh.hqx
(MacLHA(*) 形式 1.5MBytes)
MacOS 上で boot.fs.img を得る
(もしかしたら一回エラーと言われるかも知れないが多分大丈夫)
- Disk Copy を起動し、
「フロッピーを作成」を選ぶと、「2HD のものを入れなさい」と言うので、
それに従えば boot floppy が出来る。
- Linux
- dd if=boot.fs of=/dev/fd0 bs=36k
(*) Sun tar/Mac LHA は
林檎の花
からたどって行くと取得出来る。
ただし suntar は 2.2 でなく 2.2.1 になっていて File Not found
が出るかも知れない。一つ上って suntar-221.hqx をもらって来る
(
asahi-net の例)
Open Firmware を起動
Open Firmware が 1.05 の場合画面を 640x480 にして
おくなどの制約がある。関係する情報は次のところにある。
http://www.linuxppc.org/userguide/of105.html
いくつかの方法がある。
boot floppy で起動
用意した floppy を使って、Open Firmware の入力促進(prompt)から
次のように入力します。
>boot fd:0
この時に
input-device ttya
output-device ttya
とするか、
input-device kbd
output-device screen
としておくかの、どちらかにする。混ぜるとうまく行かないはず。
disklabel と newfs
SCSI disk の区画(partition) と File system の初期化をする。
disklabel という操作もあるにはあるが vi が使えない環境で
は面倒なはずなので、
(僕は上で起動したばかりの single user mode 上で )
/etc/disktab を用意し、
disklabel -w sd0 'Disk Name' として区画した。
僕が使った disktab の例
binary/sets を展開
macppc/snapshot(New)
ftp://ftp.netbsd.org/
19990119/binary/sets/
ftp://ftp.dti.ad.jp/
19990119/binary/sets/
macppc/snapshot
ftp://ftp.netbsd.org/
19981023/binary/sets/
ftp://ftp.dti.ad.jp/
19981023/binary/sets/
bebox/snapshot
ftp://ftp.netbsd.org/
19981119/binary/sets/
ftp://ftp.dti.ad.jp/
19981119/binary/sets/
ifconfig de0 ip_address ( DEC 21040 などの場合)
ifconfig mc0 ip_address ( 内蔵 Ethernet = mace controller の場合 )
とすると Ethernet 経由で通信が出来る。
NFS server が設定してあれば
mkdir /nfs
mount ip_address:/export/yyyy /nfs
のようにして利用出来る
あるいは
mkdir /cdrom
mount -t cd9660 /dev/cd0a /cdrom
とすると iso9660 形式の CDROM を読むことが出来る。
(以上の例のうち、/nfs, /cdrom などの名前は何でもいい)
これらの方法と、
/mnt に設置したい SCSI disk の / /usr などを mount しておいて
cd /mnt
gunzip -c etc.tgz | tar xpf -
( etc.tgz, base.tgz, kern.tgz があれば、とりあえずは動くが、
全部開けても 80MBytes くらいなので、全部入れてしまっていい。
macppc/19990119 から etc.tgz games.tgz kern.tgz man.tgz
misc.tgz text.tgz
base.tgz comp.tgz
を入れるようにする。
for i in /mnt/usr/tar_files/*.tgz
do
echo $i
gunzip -c $i | tar xpf -
done
とすれば、まとめて開けることが出来る。
Kernel の入替
binary set に入っている /netbsd は古いことがあるので、最新のものに
入替える。
(正確には古いということでなくて僕の機械に必要な mesh/de が入ってい
なかったので筒井さんに作っていただいたというのが一番の理由)
- 筒井さんに作っていただいた(+mesh, +de) kernel
-
http://www.ceres.dti.ne.jp/~tsutsui/netbsd/netbsd-macppc-generic-19981221.gz
- 椿井さんの mesh 入り kernel
-
ftp://nandra.iri.co.jp/pub/NetBSD/powermac/mesh/
MAKEDEV
device file を作っておく。いまの作業域の /mnt の下で実行する
cd /mnt/dev
./MAKEDEV all
(これは結構時間がかかるので、ゆっくり待つ。多分一分か二分)
以下の説明は B&W G3/iMac にはあてはまりません。それらの
機種では、HFS partition ( MacOS の区画 )を用意し、その中
に ofwboot.elf を置いて
>boot hd:5,ofwboot.elf hd:6
のようにするという話があります。
cd /mnt/usr/mdec
cp ofwboot /mnt/ # boot file を (目的のdisk の) / に写す
sync; sync; sync # 一回で充分のはずだが念の為必ず三回
./installboot -v /mnt/ofwboot bootxx /dev/rsd0a
(以上に出て来る ofwboot を /mnt に写す時の名前は自由)
installboot の説明は NetBSD が動いている機械があれば
/usr/share/man/cat8/*/installboot.0
にあるはず。
/etc/fstab
/mnt/etc/fstab に次のものを書いておく
/dev/sd0a / ffs rw 1 1
/dev/sd0b none swap rw 0 0
/dev/sd0d /usr ffs rw 1 2
/dev/sd0g /var ffs rw 1 3
いよいよ boot
sync;sync;sync;reboot
> boot scsi/sd@3:0
あるいは内蔵の SCSI の場合
> boot scsi-int/sd@3:0
(など)
その他
- multi user で起動した後
-
直後は相変らず single user になってしまいますが、
/etc/rc.conf の設定などをします。
ここから先は NetBSD に共通の問題になることも多いので、
その方面で情報を集めて下さい。
- kernel を作り直す
-
僕が作り直した様子を書いています。
(まだこれでいいと確めた訳ではないので、あくまで参考です
http://www.ki.nu/software/NetBSD/PowerPC/kernel.shtml
- 質問など
-
PowerPC/macppc に特有の問題だと思われることは、
port-powerpc-ja@jp.netbsd.org
というML があります。
同じように英語の
加入は次のところから出来ます。
http://www.jp.netbsd.org/MailingLists/index.html#port-macppc
- 僕の日記
-
とりとめもなく作業などを日記の形で
書いています。
最終更新 03/12/08 10:52:55
(since 1998/12/22)