Last Update: "2009/04/27 09:13:27 makoto" . . . 現在、ここの内容は http://www.ki.nu/software/macppc2/index.html と重複しています。

Macintosh の機種

CPU が PowerPC で Open Firmware が入っている Macintosh で NetBSD を動かす 話です。そういう Macintosh はどの型番かという質問もあると思います。 話せば長くなるのですが、Macintosh を分類すると、次のようになります。
CPU (family)ROM 機種例NetBSD
68k ToolBox Quadra 650mac68k
PowerPC G1 (601) 6100/7100/8100
PowerPC G2 (601) OF 1.0.5, 2.0.2 7200
PowerPC G2 (603/604) 7600/8500/9500/9600, StarMaxmacppc
PowerPC G2 (603/604) ToolBox PB5300
PowerPC G3 (750) OF 2.0f1, OF 2.4 PowerMac G3 (Beige), PowerMac G3/MTmacppc
PowerPC G3 (750) OF 3 PowerMac B & W G3macppc
PowerPC G3 (750) iMac/iBook
PowerPC G3 (750) PowerBook G3
PowerPC G4 (74xx) PowerMac G4/PowerBook G4
PowerPC G5 (970) iMac G5/PowerMac G5macppc(64)
Intel EFI (*) i386
(*) EFI = Extensible Firmware Interface, OF = Open Firmware
この表のうち、右端に macppc と書いてある機種が対象になります。

初めての場合

20070724a

TsubaiBSD 設置用の CD-ROM が用意してあります。 例えば ftp://ftp.ki.nu/pub/NetBSD/snapshot/20070724a/ にある macppccd.iso あるいは 20070828.iso がそれです。 この日付の名前のものは packages 入です。
     File: MD5 		1 KB 	  08/17/07 	19:29:00
     File: 20070828.iso 682844 KB 08/28/07      15:41:00 
Directory: macppc 		  08/17/07 	13:43:00
     File: macppccd.iso 116492 KB 08/17/07 	16:04:00
Directory: source 		  08/17/07 	15:02:00
この CDROM には X11 は入っていません。 Full or Custom install ? と聞かれるところで x11 以外の全てを選ぶのが普通の方法です。
以下の数項目は、以前の版の説明です。

20070526ts

bootinfo.txt の 機種対応を更新 したものは次のところにあります。 ftp://ftp.ki.nu/pub/NetBSD/snapshot/20070526ts
File: 20070716.iso  	103840 KB  	07/16/07  	16:42:00

20070203ts

ftp://ftp.ki.nu/pub/NetBSD/snapshot/20070203ts/
20070406.iso  	669996 KB  	04/06/07  	10:54:00
20070517.iso  	710508 KB  	05/17/07  	13:50:00
すぐ上の一覧のうち二つ目の 20070517.iso の名前のものは 「C を押しながら起動」に対応して作り直したものです。

以下では、 これを使って TsubaiBSD を設置する方法を説明します。 netbsd-GENERIC_MD.gz だけを CDROM に書いて おいて起動、という方法も あるのですが、その説明はまた別の機会にします。

全体

ここでは OF 3 の機械の場合を説明します。次のような段階になります。
  1. ☆ CD-R を用意する
  2. ★ OF 入力待にする (Open Firmware)
  3. CD-R から起動する (メモリ・ディスク MD Kernel)
  4. ★ pdisk で区画する (この中の w をしないで止めれば機械は何も変更されません)
  5. sysinst で設置
  6. ★ pdisk で起動区画を確認
  7. CD-R + disk で起動 (multi-user)
  8. ☆ 環境を整える
これらの中で、☆ を付けた 1, 5, 8 の項目は NetBSD に共通の作業です。 ★ を付けた残りの項目が TsubaiBSD あるいは macppc に特有の作業です。

詳細

以下がその詳細です。番号は上の項目に一致しています。
なお 以下に書いてある具体例については、 版が古いままの記述が残っています。上の方を見て、なるべく最新版を使って下さい。
1. CD-R
CD-R を用意します。取得した iso 形式は md5 の値を確認しておきます。 これは数分かかることもあります。
> md5 20070406.iso MD5 (20070406.iso) = 4ac15bdb3d6a0e6661d431967790bfb3
CD-ROM を書く には、NetBSD の機械があれば、次のようにします。
sudo cdrecord -v dev=15,1,0 speed=8 -data 20070406.iso
dev= の番号は -scanbus scan the SCSI and IDE buses and exit で調べます。
sudo cdrecord -scanbus
OS X の場合には ディスク・ユーティリティを使います。 Windows の場合の案内は NetBSD の中 (jp) にあります。
2. OF 入力待
機械の起動時に次のようなキーの組合せを押したままにして OF の入力待にします。 O は英文字です。大文字で書いてありますが、小文字を入力します。 参考: http://www.ki.nu/software/macppc2/gettingOF.html あるいは Windows 鍵盤の時
command + option + O + F
windows + Alt    + O + F
これで次のような OF の入力待になります
Apple PowerMac3,1 2.2f1 BootROM built on 01/28/00 at 17:54:48 Copyright 1994-2000 Apple Computer, Inc. All Rights Reserved. Welcome to Open Firmware. To continue booting, type "mac-boot" and press return. To shut down, type "shut-down" and press return. ok 0 >
起動時に同じことを何度もするのは面倒なので、次のようにして、次回からは 「起動時に、何もしないと OF 入力待になる」ようにします。
> setenv auto-boot? false > reset-all
これで再起動しますが、放っておくと再び入力待になります。 もしこの設定を元に戻したい時には、
> setenv auto-boot? true
とします。 この画面で解像度が 800x 600 になってしまう場合には、後で 問題が起きる かも知れません。(それについては時間のある時に書加えます)
3. CD-ROM 起動
上で作った CD-ROM を差しておいて、次のように入力します
> boot cd:,ofwboot.elf
起動したら s を入力して Shell を選び、次の pdisk に進みます。
実は、後から作った 20070517.iso を使うと、上の 2 と 3 は、ずうっと簡単に、 「C を押したまま 起動して」 になります。ただ、今のところ、後で、やはり OF の入力待が必要となるので、ここでの知識・経験は無駄にはなりません。 それと、20070526ts あるいはそれ以前の版では、新しめの PowerBookG4 等では、 まだだめ でした。
上記では OF 3 の機械用の起動方法を書きましたが、それ以外の場合の、 機種毎の OF からの起動方法の例は次の通りです。 (これは TsubaiBSD 用の説明ですが、TNF なら .elf を .xcf と読替えて下さい)。
OF3 (boot-file に文字列が設定してある場合には二番目の方法が必要です。)
boot cd:,ofwboot.elf boot cd:,ofwboot.elf netbsd.macppc
OF 1/2 SCSI
boot scsi-int/sd@3:0
OF 1/2 ATA (ただし Tanzania 板の場合には箱を開けて、 IDE の HDD/CDROM つまり master/slave の線を一時的に入替えます)
boot ata/atapi-disk@0:0
UMAX S-900
boot scsi/sd@3:0
OF 2.0f1 (この機種の場合には、変数に予め設定してから boot とします)
setenv boot-device ide1/@0:0 setenv boot-file netbsd.macppc boot
4. pdisk で区画
ここが一番面倒な部分です。 全く何も書いていない disk の場合と、 一度 Mac OS X または Mac OS 9 を入れたことがある disk とでは少しだけ様子が違います。 また dual boot か NetBSD 単独かでも違います。pdisk の起動は CD-R から起動して s と入力して shell に抜けた後に、次のようにします。
# pdisk /dev/wd0c ? p
( 以前に書いたもの はありますが、 この内容は後ほど用意します) → やや準備中のもの: 初めての pdisk
また区画例として PowerBook G3 で試した時のものも参考にして下さい。
5. sysinst 設置
6. pdisk で起動番号
pdisk を使って / が区画の何番目か調べておきます
# pdisk /dev/wd0c ? p
4. の段階で番号が調べてあれば、ここで調べなくても構いません。
7. CD + DISK 起動
上で調べておいた / 区画の番号を指定して次のように起動します。
> boot cd:,ofwboot.elf hd:3/netbsd

8. 環境を整える

最小 package
最低限の package を入れます。もし 20070828.iso を使って作った CD-ROM であれば、 packages ディレクトリに 200 以上の package が用意してありますので、それを使うのが簡単です
# mount /dev/cd0c /mnt # cd /mnt/pacakges # pkg_add static-tcsh # pkg_add bash # pkg_add hfsutils # pkg_add sudo
bash か tcsh は自分がすぐ使いたい方を入れておけば良いです。 あるいは入れなくても構いません。hfsutils はこの後すぐ使います。sudo を使う時には、 /usr/pkg/etc/sudoers に設定をします。 (もし 上記 CDROM が手元にない場合には ftp://ftp.ki.nu/packages/4.99.25/powerpc/All/ に置いてある場合もあります)
ofwboot
起動用の ofwboot.elf を cdrom から hcopy を使って Apple_HFS 区画に 写します。下記の例では wd0e の指定がありますが、これは HFS 区画 を(disklabel wd0 等の表示から)目で選んで指定します。hcopy は上の hfsutils で入れたものです。 (入れた直後の場合で tcsh を使っているなら rehash が必要ですが、おそらく不要でしょう)。
# mount /dev/cd0c /mnt # rehash .. (多分不要) # hformat /dev/wd0e # hmount /dev/wd0e # hcopy /mnt/ofwboot.elf :
最後の行には、最後に 空白 + : がありますが、これは ofwboot.elf を 最上位フォルダに写す、という意味です。 ここで示した作業がもし もしうまく行かない場合に、これを中止して、 cd: から起動するまま、 しばらく使っても問題ありません。
DISK + DISK 起動
# reboot
と入力して 再起動した後、次のようにして disk から 起動 します。
> boot hd:,ofwboot.elf hd:3/netbsd
X11 (最近のは CD-ROM には入っていません、ごめんなさい。その代り ftp で入手出来ます (X11R6.6+XF4-20070724.tar.gz)。
CD-ROM に入っている X11 を入れます。
# mount /dev/cd0c /mnt # cd / # tar zpxf /mnt/X11R6.6+XF4-20070724.tar.gz
XF86Config をいくつか用意していますので、 その中から選ぶか、近いものを選んで(大きさやドライバ等を)調整します。
# cp /mnt/XF86Config/* /etc/X11 # cd /etc/X11 # ln -s G4-400-R128-1280x1024 XF86Config
あるいは xf86config が使えるかも知れません。
package のまとめ設置
既に用意してある package をまとめて入れます。 これは選択です。必須ではありません。 しかしもし初めてでしたら、入れておいた方が、後が楽かと思います。 /usr 区画には 1.5 GB くらい必要です。
(注) 以下の pkg_add では userid を作成するものがあります。例えば www、smmsp とか cyrus とかの名前です。もし、ネットワーク上に (例えば NIS とか LDAP 等の) userid を利用するしくみがある場合、 そのしくみが有効になった後でこの pkg_add を行ないます。 有効になった時には smmsp という名前が利用出来るのに、無効のまま次の pkg_add を行ないますと、そのような名前が必要だとして勝手に作ってくれるの ですが、その時の番号は(ネットワーク全体に)必要なものとは違ってしまう からです(後で変更する事はもちろん可能ですが、結構面倒です)。
# mount /dev/cd0c /mnt # cd /mnt/pacakges # pkg_add config-serv # pkg_add config-desktop
ここで tcsh が入れられない、一つ失敗した、と 言われますが、それは正常です。
startx
root で login して startx と入れたいところですが、 失敗すると、i386 とは違って Alt + Ctrl + BS では戻りませんので、
  1. 他の機械からネットワークで入って reboot が出来るようにしておく
  2. あきらめて強制再起動 (要するにリセットボタン)をする (再起動時に fsck がかかるが、まあ、大丈夫)
のどちらをするか考えておきます。前者なら /etc/rc.d /etc/rc.conf に
sshd=YES 
と書いておく、 とか (kuro-box の流用ですが) 通常の user から login して su が可能 になる ようにするとか手立てを用意します。
emacs
CDROM に入っている emacs は emacs-nox11 です(次回から変更予定)。 通常のように使うには、 X11 用に make した次のものを使って、
# env PKG_PATH=ftp://ftp.ki.nu/packages/4.99.25/powerpc/All # pkg_add emacs # pkg_add tamago
として下さい、また tamago も同じところに用意してあります。参考: http://emacs-21.ki.nu/how-to-start/index.html
日本語入力
  1. Emacs で: http://emacs-21.ki.nu/how-to-start/inputmethod.html (anthy と tamago を入れておく)
  2. それ以外
(時間のある時にもう少し書きます)
自動起動
電源を入れたり、リセットボタンを押した時に自動で起動させる場合を説明します。 結局は Open Firmware の三つの変数を設定するのですが、確認しながら順を追って設定していきます。
  1. まず次のようにして起動方法を設定をします。
    > setenv boot-device hd:,ofwboot.elf > setenv boot-file hd:3/netbsd > reset-all
    この後再起動しますから、次のようにして起動を確認します
    > boot
  2. auto-boot? の設定
    前項の 1. でうまく行ったら、もう一度 reboot して、次の設定をします。 これで自動で起動するようになります。TsubaiBSD の場合には、 何も考えずにこれで有効になります。TNF の場合には、OF から disk を見に行く時に まだ disk の方の準備が出来ていないため、画面が暗転してそのままになってしまう という問題が起きますが、boot-command に工夫をすれば回避可能です。
    > setenv auto-boot? true > reset-all
上では二つの段階に分けて設定をしましたが、 実際には、boot-device, boot-file, auto-boot? の設定を同時にやって も問題ありません。しかし最初はこのように確認しながらの方が安全かと 思います。また setenv で設定した値は、直後に reset-all する必要がある 機械と、そうでない機械があります。一応 reset-all をしておいた方が 安心です。
停止
機械を止めて、電源を切るには
# shutdown -p now
とします。
User 環境
login account を作る、/home directory を用意する、 sudo の設定をする等、実はまだ先がありますが、それは別の機会に、と させて下さい。
参考: 5.5. ユーザーの追加 http://nobug.tukusi.ne.jp/netbsd-guide/trans/chap-2boot.html#AEN1113 (漢字コード: iso-2022-jp)
更新
自分の方法を説明すると、一番原始的です。 /home は NFS で別の機械に持っているので更新しなくて良い。 機械を二台用意しておいて、新規に作ってうまく行ったら入替え。 たまに新規でなく Update Install をしますが pkg 側はそう簡単ではない ので、いや本当は簡単かも知れませんが検証していないので、大抵は丸ごと入替えです。 それが 毎月の作業 ということになります --- 本当は少し違います。 ということになります。机上機、机上機控、新規作業用と三台使っています。
カーネルの再構成
ftp://ftp.ki.nu/pub/NetBSD/snapshot/20070203ts/source/sets/ にある syssrc.tgz と src.tgz の中にある common を使います。 参考: カーネルの再構成
その他の packages の追加
pkgsrc の枠 を用意して、その中の必要なディレクトリで sudo make package をします。
cvsync
いろいろと作業をする時に cvsync を使って CVS 保管庫の mirror を手元に 置くと大変便利です。
問題
これは 別の画面 にまとめています(まだ情報は少ないです)
Count.cgi (since 2007/04/17)