BSDがかなり久しぶりだったもあって、かつ、ppc環境の特殊な部分があったりしたのでかなり手こずった。一度上がってしまえば、そこは普通のNetBSDだし、それほど苦労するような感じではないのだが・・・。
で、正月潰して調べた結果をちょっとまとめておく。
1.CD-ROMからのブート
1.(1) OpenFirmwareに入る
Command + Option + O + Fキーを押しっぱなしで電源On
真っ白い画面に文字が表示されたら、手を離す
0 > プロンプトが表示される
1.(2) CDROMからブートする
0 > boot cd:,ofwboot.xcf netbsd.macppc
1.(3) 起動後のメニューはシェルを選択する(ここではインストールを実行しない)
2.パーティションの作成
これがちょっとメンドウに感じた。慣れなんだろうが、PC/AT機やSunともかなり違う。。。
BSDから見えるdiskのパーティション番号、OpenFirmwareから見えるパーティション番号、MacOS Xから見えるパーティション番号で違う・・・というか、、、。
うーん。最初かなり面食らった部分。
NetBSD/macppc パーティショニング HOW-TOを参考にして、以下の形にした。
ちょっと触ってみる程度の気持ちだから内蔵Diskを使ったけど、実際に運用するならばがっちりFANの付いた外付けDiskにするつもり。やっぱMAC miniの内蔵Diskって連続運用には冷却が心配なので。
# pdisk /dev/wd0cパーティションマップもスライスの一つ・・・のように見えているので、ユーザが利用できるのはパーティション2番からになる。この状態でBSDから見えるスライスはパーティション3番の/(root)とパーティション4番のswap領域。え・・と、rootが/dev/wd0aでswapが/dev/wd0b。そして/dev/wd0cがディスク全体(Sunでいうパーティション2番と一緒)を表し、HFS領域が/dev/wd0dになる。
Edit /dev/wd0c -
Command (? for help): p
Partition map (with 512 byte blocks) on '/dev/wd0c'
#: type name length base ( size )
1: Apple_partition_map Apple 63 @ 1
2: Apple_HFS Apple_HFS 61440 @ 64 ( 30.0M)
3: Apple_UNIX_SVR2 NetBSD 146800640 @ 61504 ( 70.0G) S0 RUFS k0 /
4: Apple_UNIX_SVR2 SWAP 9439344 @ 146862144 ( 4.5G) S1 SFS k0 (swap)
Device block size=512, Number of Blocks=156301488 (74.5G)
DeviceType=0x0, DeviceId=0x0
Command (? for help): q
確認するとこうなっている。
# disklabel /dev/wd0c用意する必要のあるパーティションについては、まずOpenFirmwareがブートに使えるのがHFSかHFS+という縛りがあるので、HFS領域(数M)が必要。私は30Mにしたけど。次にBSDで使用するrootとswapを用意した。MacOS Xとのデュアルブートが必要であれば、その領域も確保しておく必要があるが、私は無視。
# /dev/wd0c:
type: unknown
disk: ST9808210A
label:
(ここはDiskのジオメトリ情報が表示されるので省略)
drivedata: 0
16 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 146800640 61504 4.2BSD 0 0 0 # (Cyl. 61*- 145696*)
b: 9439344 146862144 swap # (Cyl. 145696*- 155060)
c: 156301488 0 unused 0 0 # (Cyl. 0 - 155060)
d: 61440 64 HFS # (Cyl. 0*- 61*)
2.(1) まず、スライスを初期化する。
# pdisk /dev/wd0cこの時点で表示されてはいないが、パーティション番号0番が0シリンダから1シリンダだけ確保されたブート領域(PC/ATのMBR相当)、パーティション番号1番が1シリンダから63シリンダ確保されたパーティションマップになっている。パーティション番号2番は残り全てが空きになっている。
Command (? for help): i ← パーティションマップの初期化
Command (? for help): P
Partition map (with 512 byte blocks) on '/dev/rdisk2'
#: type name length base ( size )
1: Apple_partition_map Apple 63 @ 1
2: Apple_Free Extra 156301424@ 64 (74.5G)
Device block size=512, Number of Blocks=156301488 (74.5G)
DeviceType=0x0, DeviceId=0x0
2.(2) HFSの作成
Command (? for help): C ← Cで作成
First block: 2p ← パーティション番号で指定できる
Length in blocks: 30m ← 30MB確保
Name of partition: Apple_HFS ← 名前は別になんでもいいと思うが
Type of partition: Apple_HFS ← HFS領域にする
2.(3) rootの作成
Command (? for help): C ← Cで作成
First block: 3p ← パーティション番号で指定
Length in blocks: 70G ← 70GB確保
Name of partition: NetBSD ← 名前は別になんでもいいと思うが
Type of partition: Apple_UNIX_SVR2 ← A/UX領域にする
Available partition slices for Apple_UNIX_SVR2:
a root partition
b swap partition
c do not set any bzb bits
g user partition
Other lettered values will create user partitions
Select a slice for default bzb values: a ← rootパーティションにする
2.(4) swapの作成
Command (? for help): C ← Cで作成
First block: 4p ← パーティション番号で指定
Length in blocks: 9439344 ← 残りを全て確保
Name of partition: SWAP ← 名前は別になんでもいいと思うが
Type of partition: Apple_UNIX_SVR2 ← A/UX領域にする
Available partition slices for Apple_UNIX_SVR2:
a root partition
b swap partition
c do not set any bzb bits
g user partition
Other lettered values will create user partitions
Select a slice for default bzb values: b ← swapパーティションにする
2.(5) 書き込んで終了
Command (? for help): w
Command (? for help): q
2.(6) rootファイルシステムの初期化
# newfs /dev/wd0a
3.インストールの実行
# sysinstここから先はメニュー形式でサクっとインストールできるのですが、、、ここもHow-Toによれえばre-installをしろ!とか書かれているのでその通りにした。で、インストールが終わったらさっくり再起動。
4.Diskからの起動
4.(1) OpenFirmwareに入る
Command + Option + O + Fキーを押しっぱなしで電源On
真っ白い画面に文字が表示されたら、手を離す
okプロンプトが表示される
(Sun SPARC機と一緒だw)
4.(2) CDROMを使ってDiskからブートする
ok boot cd:,ofwboot.xcf hd:3/netbsd
5.ネットワークの設定
MACminiが192.168.200.100/24、ルータが192.168.200.1/24、DNSサーバが192.168.200.200/24として。
5.(1) 一時的にIPアドレスを設定
# ifconfig gem0 192.168.200.100 netmask 255.255.255.0
5.(2) 一時的にデフォルトゲートウェイを設定
# route add default 192.168.200.1
5.(3) pingでネットワーク疎通を確認
# ping 192.168.200.1
5.(4) リゾルバを設定
# echo "nameserver 192.168.200.200" > /etc/resolv.conf
5.(5) DNSが引けるかを確認
# nslookup www.livedoor.com
5.(6) IPアドレスや、ゲートウェイを設定
# echo ifconfig_gem0=\"inet 192.168.200.100 netmask 255.255.255.0\" > /etc/rc.conf
# echo defaultroute=\"192.168.200.1\" > /etc/rc.conf
6.hfsutilsパッケージのインストール
インストール時に作ったHFS領域にofwboot.xcfをコピーするので、HFS領域がNetBSD上からアクセスできるようにhfsutilsパッケージを追加でインストールする。
# export PKG_PATH=ftp://ftp.netbsd.org/pub/NetBSD/packages/4.0/macppc/AllNetBSDのバージョンが4.0.1、パッケージのバージョンが4.0で違う!とか警告が出るが、そこは無視!
# pkg_add hfsutils
7.ofwboot.xcfをHFS領域に置く
7.(1) CDROMをマウントして、ofwboot.xcfを準備
# mount -t cd9660 -o ro /dev/cd0a /mnt
7.(2) HFS領域をフォーマット
# hformat /dev/wd0d
7.(3) HFS領域をマウントして(?)
# hmount /dev/wd0d
7.(4) ファイルをコピー
# hcopy /mnt/ofwboot.xcf :
7.(5) HFS領域をアンマウント
# humount
7.(6) CDROMもアンマウント
# umount /mnt
とりあえず、、、疲れたのでここまで。。。
恒例の・・・じゃないがdmesgを。
# dmesg
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 4.0.1 (GENERIC) #0: Tue Oct 7 23:19:46 PDT 2008
builds@wb27:/home/builds/ab/netbsd-4-0-1-RELEASE/macppc/200810080053Z-obj/home/builds/ab/netbsd-4-0-1-RELEASE/src/sys/arch/macppc/compile/GENERIC
total memory = 1024 MB
avail memory = 986 MB
timecounter: Timecounters tick every 10.000 msec
init_interrupt: found OpenPIC @ pa 0x80040000, 0x80040000
mainbus0 (root)
cpu0 at mainbus0: 7447A (Revision 1.1), ID 0 (primary)
cpu0: HID0 8450c0bc<EMCP,EICE,NAP,DPM,ICE,DCE,SGE,BTIC,FBIOB,ABE,BHT>, powersave: 1
cpu0: 1416.67 MHz, 512KB L2 cache
uni_n0 at mainbus0 address 0xf8000000
hw-clock at uni_n0 not configured
ki2c0 at uni_n0 address 0xf8001000
iic0 at ki2c0: I2C bus
cereal at ki2c0 address 0x1c0 not configured
uninorth0 at mainbus0
pci0 at uninorth0 bus 0
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 11 function 0
pchb0: Apple Computer UniNorth AGP Bridge (rev. 0x00)
ofb0 at pci0 dev 16 function 0: ATI Technologies Radeon 9200 5962
ofb0: 1280 x 1024, 8bpp
wsdisplay0 at ofb0 kbdmux 1: console (std, vt100 emulation)
wsmux1: connecting to wsdisplay0
uninorth1 at mainbus0
pci1 at uninorth1 bus 0
pci1: i/o space, memory space enabled
pchb1 at pci1 dev 11 function 0
pchb1: Apple Computer UniNorth Host-PCI Bridge (rev. 0x00)
obio0 at pci1 dev 23 function 0: addr 0x80000000
zsc0 at obio0: irq 22,23
zstty0 at zsc0 channel 0
zstty1 at zsc0 channel 1
i2s at obio0 offset 0x10000 not configured
adb0 at obio0 offset 0x16000 irq 47: pm_adb_op: timeout. command = 0x0
pmu: failed to read prim-info
0 targets
aed0 at adb0 addr 0: ADB Event device
apm0 at adb0: battery flags 0x0, 0% charged
ki2c1 at obio0
iic1 at ki2c1: I2C bus
cereal at ki2c1 address 0x1c0 not configured
wdc0 at obio0 offset 0x20000 irq 24: DMA transfer
atabus0 at wdc0 channel 0
ohci0 at pci1 dev 24 function 0: Apple Computer Intrepid USB Controller (rev. 0x00)
ohci0: can't map mem space
ohci1 at pci1 dev 25 function 0: Apple Computer Intrepid USB Controller (rev. 0x00)
ohci1: can't map mem space
ohci2 at pci1 dev 26 function 0: Apple Computer Intrepid USB Controller (rev. 0x00)
ohci2: interrupting at irq 29
ohci2: OHCI version 1.0, legacy support
usb0 at ohci2: USB revision 1.0
uhub0 at usb0
uhub0: Apple Computer OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
ohci3 at pci1 dev 27 function 0: NEC USB Host Controller (rev. 0x43)
ohci3: interrupting at irq 63
ohci3: OHCI version 1.0
usb1 at ohci3: USB revision 1.0
uhub1 at usb1
uhub1: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
ohci4 at pci1 dev 27 function 1: NEC USB Host Controller (rev. 0x43)
ohci4: interrupting at irq 63
ohci4: OHCI version 1.0
usb2 at ohci4: USB revision 1.0
uhub2 at usb2
uhub2: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0 at pci1 dev 27 function 2: NEC USB Host Controller (rev. 0x04)
ehci0: interrupting at irq 63
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controllers, 3 ports each: ohci3 ohci4
usb3 at ehci0: USB revision 2.0
uhub3 at usb3
uhub3: NEC EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 5 ports with 5 removable, self powered
uninorth2 at mainbus0
pci2 at uninorth2 bus 0
pci2: i/o space, memory space enabled
pchb2 at pci2 dev 11 function 0
pchb2: Apple Computer UniNorth Host-PCI Bridge (rev. 0x00)
wdc1 at pci2 dev 13 function 0: interrupting at irq 39
atabus1 at wdc1 channel 0
fwohci0 at pci2 dev 14 function 0: Apple Computer UniNorth Firewire (rev. 0x81)
fwohci0: interrupting at irq 40
fwohci0: OHCI version 1.10 (ROM=0)
fwohci0: No. of Isochronous channels is 8.
fwohci0: EUI64 00:11:24:ff:fe:7e:19:69
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
fwohci0: Initiate bus reset
gem0 at pci2 dev 15 function 0: Apple Computer GMAC Ethernet (rev. 0x80)
gem0: interrupting at irq 41
gem0: Ethernet address 00:11:24:7e:19:69, 10KB RX fifo, 4KB TX fifo
bmtphy0 at gem0 phy 0: BCM5221 10/100 media interface, rev. 4
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "mftb" frequency 41620997 Hz quality 100
fwohci0: node_id=0xc800ffc0, gen=2, CYCLEMASTER mode
ieee1394if0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
ieee1394if0: bus manager 0 (me)
Kernelized RAIDframe activated
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 1: <MATSHITACD-RW CW-8124, , DACD> cdrom removable
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
wd0 at atabus1 drive 0: <ST9808210A>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sect x 156301488 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(wdc1:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) (using DMA)
cd0(wdc1:0:1): using PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33) (using DMA)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
uhub4 at uhub1 port 1
uhub4: Mitsumi Electric Hub in Apple Extended USB Keyboard, class 9/0, rev 1.10/4.10, addr 2
uhub4: 3 ports with 2 removable, bus powered
uhidev0 at uhub4 port 1 configuration 1 interface 0
uhidev0: Logitech USB Receiver, rev 1.10/29.01, addr 3, iclass 3/1
ums0 at uhidev0: 16 buttons and Z dir.
wsmouse0 at ums0 mux 0
uhidev1 at uhub4 port 3 configuration 1 interface 0
uhidev1: Mitsumi Electric Apple Extended USB Keyboard, rev 1.10/4.10, addr 4, iclass 3/1
ukbd0 at uhidev1
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
uhidev2 at uhub4 port 3 configuration 1 interface 1
uhidev2: Mitsumi Electric Apple Extended USB Keyboard, rev 1.10/4.10, addr 4, iclass 3/0
uhidev2: 3 report ids
pbms0 at uhidev2 reportid 2: 17 inch PowerBook Trackpad
wsmouse1 at pbms0 mux 0
pbms1 at uhidev2 reportid 3: 17 inch PowerBook Trackpad
wsmouse2 at pbms1 mux 0
#
この下はメモ欄
---------------------
0 > setenv boot-device hd:2,ofwboot.xcf
0 > setenv boot-file hd:3,/netbsd
0 > setenv boot-command boot
0 > reset-all
コメント