何故か早起きした土曜日。ふと思いついて余っているmacminiをサーバにしてみることにしました。Yellow Dog Linuxを入れるつもりだったのですが、PowerPC対応の日本語版は現在販売していないので別のOSに。
何を入れようか探していたところ、慣れているFreeBSDがあったのでこれを入れてみることにしました。FreeBSDは6.0からPowerPCに対応したようです。Tier 2なのでβ版という感じですが、遊ぶ目的なのでこれを選びました。バージョンはFreeBSD 6.2-RELEASE。
OSXのパーティションを削除
手順はAppleに書いてあるとおりです。- Mac OS X CDをセットした後、「C」キーを押しながらブート(CD-ROMブート)
- 起動したら「続ける」を押さずに、メニューから「Installer」→「ディスクユーティリティを開く」
- HDDを選択
- 「消去」タブ→「ボリュームフォーマット」で「UNIX ファイルシステム」を選択
- 「オプション」クリック→「全データを0にする」をチェック
- 「OK」→「消去」とクリック
これでディスクをフォーマットできました。
FreeBSD/PPCのインストール
あらかじめ、http://www.jp.freebsd.org/www.FreeBSD.org/where.htmlからISOイメージをダウンロードしてCD-Rに焼いておきます。
macminiのちょっとした問題点はCDの取り出し機構がないこと。上記作業後はMac OS X CDが入ったままなので、Command + Option + O + F を押しながらブートしてOpenFirmwareプロンプトに入り
http://www.jp.freebsd.org/www.FreeBSD.org/where.htmlからISOイメージをダウンロードしてCD-Rに焼き、「C」キーを押しながらブート。後は通常のFreeBSDと同じようにインストールするだけでした。
バーティションは/のみ。swapなし。それ以外ではインストールに失敗します。 当初、これでもエラーが出ていたのですが、再起動して同じ事を試したところ、何故かうまくいきました。
起動
ここまではすんなりと進むのですが、なかなか起動せず四苦八苦。http://people.freebsd.org/~grehan/install.htmlを参考にして以下のようにしたところうまくいきました。
- http://www.freebsd.org/~grehan/ppc-root-latest.tbz2をダウンロードしてブートCDを作成
- ブートCDをドライブにセット
- 起動時にOpenFirmwareプロンプトに入り、下記を入力
0 > dir cd:,\ 0 > boot cd:,\boot\loader 0 > set currdev=hd:3 ※ディスクユーティリティで確認できるパーティション番号 0 > boot -s
起動時には毎回このプロセスを辿らなければならないので、リモートでのリブートができない状況です。これでは公開用サーバには使えません。解決する方法はありそうですが、起動したところで満足してしまったので今回は追いませんでした。
ということで、取りあえずpowerpc版mac miniをFreeBSDサーバとして使うことができるようになりました。mac mini、まだまだ活躍してくれそうです♪
参考
dmesgはこんな感じでした。NICはgem0。
> dmesg Copyright (c) 1992-2007 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 6.2-RELEASE #0: Sat Jan 13 14:51:58 UTC 2007 root@xserve.pn.xcllnt.net:/usr/obj/usr/src/sys/GENERIC WARNING: WITNESS option enabled, expect reduced performance. Timecounter "decrementer" frequency 41621087 Hz quality 0 cpu0: Motorola PowerPC 7447A revision 1.2, 1416.67 MHz cpu0: HID0 8450c0bc<EMCP,TBEN,NAP,DPM,ICE,DCE,SGE,BTIC,LRSTK,FOLD,BHT> real memory = 523272192 (499 MB) avail memory = 505860096 (482 MB) nexus0: <Open Firmware Nexus device> openpic0: <OpenPIC Interrupt Controller> on nexus0 unin0: <Apple UniNorth System Controller> on nexus0 unin0: Version 210 pcib0: <Apple UniNorth Host-PCI bridge> on nexus0 pci0: <PCI bus> on pcib0 pci0: <display, VGA> at device 16.0 (no driver attached) pcib1: <Apple UniNorth Host-PCI bridge> on nexus0 pci1: <PCI bus> on pcib1 pci1: <network> at device 18.0 (no driver attached) macio0: <Intrepid I/O Controller> mem 0x80000000-0x8007ffff at device 23.0 on pci1 ata0 mem 0x20000-0x20fff,0x8800-0x88ff irq 24 on macio0 ohci0: <OHCI (generic) USB controller> irq 0 at device 24.0 on pci1 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0, legacy support usb0: <OHCI (generic) USB controller> on ohci0 usb0: USB revision 1.0 uhub0: Apple OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered ohci1: <OHCI (generic) USB controller> irq 0 at device 25.0 on pci1 ohci1: [GIANT-LOCKED] usb1: OHCI version 1.0, legacy support usb1: <OHCI (generic) USB controller> on ohci1 usb1: USB revision 1.0 uhub1: Apple OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered ohci2: <OHCI (generic) USB controller> mem 0x80083000-0x80083fff irq 29 at device 26.0 on pci1 ohci2: [GIANT-LOCKED] usb2: OHCI version 1.0, legacy support usb2: <OHCI (generic) USB controller> on ohci2 usb2: USB revision 1.0 uhub2: Apple OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered ohci3: <NEC uPD 9210 USB controller> mem 0x80082000-0x80082fff irq 63 at device 27.0 on pci1 ohci3: [GIANT-LOCKED] usb3: OHCI version 1.0 usb3: <NEC uPD 9210 USB controller> on ohci3 usb3: USB revision 1.0 uhub3: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 3 ports with 3 removable, self powered ohci4: <NEC uPD 9210 USB controller> mem 0x80081000-0x80081fff irq 63 at device 27.1 on pci1 ohci4: [GIANT-LOCKED] usb4: OHCI version 1.0 usb4: <NEC uPD 9210 USB controller> on ohci4 usb4: USB revision 1.0 uhub4: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub4: 2 ports with 2 removable, self powered ehci0: <NEC uPD 720100 USB 2.0 controller> mem 0x80080000-0x800800ff irq 63 at device 27.2 on pci1 ehci0: [GIANT-LOCKED] usb5: EHCI version 1.0 usb5: companion controllers, 3 ports each: usb3 usb4 usb5: <NEC uPD 720100 USB 2.0 controller> on ehci0 usb5: USB revision 2.0 uhub5: NEC EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub5: 5 ports with 5 removable, self powered pcib2: <Apple UniNorth Host-PCI bridge> on nexus0 pci2: <PCI bus> on pcib2 ata1: <Intrepid Kauai ATA Controller> mem 0xf5004000-0xf5007fff irq 39 at device 13.0 on pci2 fwohci0: <Apple UniNorth> mem 0xf5000000-0xf5000fff irq 40 at device 14.0 on pci2 fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 8. fwohci0: EUI64 00:11:24:ff:fe:**:**:** fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:11:24:**:**:** fwe0: Ethernet address: 02:11:24:**:**:** fwe0: if_start running deferred for Giant sbp0: <SBP-2/SCSI over FireWire> on firewire0 fwohci0: Initiate bus reset fwohci0: node_id=0xc800ffc0, gen=2, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) gem0: <Apple GMAC3 Ethernet Adaptor> mem 0xf5200000-0xf53fffff irq 41 at device 15.0 on pci2 miibus0: <MII bus> on gem0 bmtphy0: <BCM5221 10/100baseTX PHY> on miibus0 bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto gem0: 10kB RX FIFO, 4kB TX FIFO gem0: Ethernet address: 00:11:24:**:**:** sc0: <System console> on nexus0 sc0: Unknown <16 virtual consoles, flags=0x300> ukbd0: vendor 0x05ac product 0x1000, rev 2.00/15.86, addr 2, iclass 3/1 ums0: vendor 0x05ac product 0x1000, rev 2.00/15.86, addr 2, iclass 3/1 ums0: 5 buttons. ums1: Microsoft Microsoft 3-Button Mouse with IntelliEye(TM), rev 1.10/3.00, addr 2, iclass 3/1 ums1: 3 buttons and Z dir. Timecounters tick every 10.000 msec md0: Preloaded image </boot/mfsroot> 4194304 bytes at 0x59c450 ad0: 76319MB <HTS721080G9AT00 MC4OA51A> at ata1-master BIOSPIO acd0: DVDR <MATSHITACD-RW CW-8123/CAD4> at ata1-slave BIOSPIO Trying to mount root from ufs:/dev/md0 Waiting (max 60 seconds) for system process `vnlru' to stop...done Waiting (max 60 seconds) for system process `bufdaemon' to stop...done Waiting (max 60 seconds) for system process `syncer' to stop... Syncing disks, vnodes remaining...1 0 0 done All buffers synced. Uptime: 4m46s Copyright (c) 1992-2007 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 6.2-RELEASE #0: Sat Jan 13 14:51:58 UTC 2007 root@xserve.pn.xcllnt.net:/usr/obj/usr/src/sys/GENERIC WARNING: WITNESS option enabled, expect reduced performance. Timecounter "decrementer" frequency 41620997 Hz quality 0 cpu0: Motorola PowerPC 7447A revision 1.2, 1416.67 MHz cpu0: HID0 8450c0bc<EMCP,TBEN,NAP,DPM,ICE,DCE,SGE,BTIC,LRSTK,FOLD,BHT> real memory = 527724544 (503 MB) avail memory = 510291968 (486 MB) nexus0: <Open Firmware Nexus device> openpic0: <OpenPIC Interrupt Controller> on nexus0 unin0: <Apple UniNorth System Controller> on nexus0 unin0: Version 210 pcib0: <Apple UniNorth Host-PCI bridge> on nexus0 pci0: <PCI bus> on pcib0 pci0: <display, VGA> at device 16.0 (no driver attached) pcib1: <Apple UniNorth Host-PCI bridge> on nexus0 pci1: <PCI bus> on pcib1 pci1: <network> at device 18.0 (no driver attached) macio0: <Intrepid I/O Controller> mem 0x80000000-0x8007ffff at device 23.0 on pci1 ata0 mem 0x20000-0x20fff,0x8800-0x88ff irq 24 on macio0 ohci0: <OHCI (generic) USB controller> irq 0 at device 24.0 on pci1 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0, legacy support usb0: <OHCI (generic) USB controller> on ohci0 usb0: USB revision 1.0 uhub0: Apple OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered ohci1: <OHCI (generic) USB controller> irq 0 at device 25.0 on pci1 ohci1: [GIANT-LOCKED] usb1: OHCI version 1.0, legacy support usb1: <OHCI (generic) USB controller> on ohci1 usb1: USB revision 1.0 uhub1: Apple OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered ohci2: <OHCI (generic) USB controller> mem 0x80083000-0x80083fff irq 29 at device 26.0 on pci1 ohci2: [GIANT-LOCKED] usb2: OHCI version 1.0, legacy support usb2: <OHCI (generic) USB controller> on ohci2 usb2: USB revision 1.0 uhub2: Apple OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered ohci3: <NEC uPD 9210 USB controller> mem 0x80082000-0x80082fff irq 63 at device 27.0 on pci1 ohci3: [GIANT-LOCKED] usb3: OHCI version 1.0 usb3: <NEC uPD 9210 USB controller> on ohci3 usb3: USB revision 1.0 uhub3: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 3 ports with 3 removable, self powered ohci4: <NEC uPD 9210 USB controller> mem 0x80081000-0x80081fff irq 63 at device 27.1 on pci1 ohci4: [GIANT-LOCKED] usb4: OHCI version 1.0 usb4: <NEC uPD 9210 USB controller> on ohci4 usb4: USB revision 1.0 uhub4: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub4: 2 ports with 2 removable, self powered ehci0: <NEC uPD 720100 USB 2.0 controller> mem 0x80080000-0x800800ff irq 63 at device 27.2 on pci1 ehci0: [GIANT-LOCKED] usb5: EHCI version 1.0 usb5: companion controllers, 3 ports each: usb3 usb4 usb5: <NEC uPD 720100 USB 2.0 controller> on ehci0 usb5: USB revision 2.0 uhub5: NEC EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub5: 5 ports with 5 removable, self powered pcib2: <Apple UniNorth Host-PCI bridge> on nexus0 pci2: <PCI bus> on pcib2 ata1: <Intrepid Kauai ATA Controller> mem 0xf5004000-0xf5007fff irq 39 at device 13.0 on pci2 fwohci0: <Apple UniNorth> mem 0xf5000000-0xf5000fff irq 40 at device 14.0 on pci2 fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 8. fwohci0: EUI64 00:11:24:ff:fe:**:**:** fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:11:24:74:89:16 fwe0: Ethernet address: 02:11:24:74:89:16 fwe0: if_start running deferred for Giant sbp0: <SBP-2/SCSI over FireWire> on firewire0 fwohci0: Initiate bus reset fwohci0: node_id=0xc800ffc0, gen=2, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) gem0: <Apple GMAC3 Ethernet Adaptor> mem 0xf5200000-0xf53fffff irq 41 at device 15.0 on pci2 miibus0: <MII bus> on gem0 bmtphy0: <BCM5221 10/100baseTX PHY> on miibus0 bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto gem0: 10kB RX FIFO, 4kB TX FIFO gem0: Ethernet address: 00:11:24:**:**:** sc0: <System console> on nexus0 sc0: Unknown <16 virtual consoles, flags=0x300> ukbd0: vendor 0x05ac product 0x1000, rev 2.00/15.86, addr 2, iclass 3/1 ums0: vendor 0x05ac product 0x1000, rev 2.00/15.86, addr 2, iclass 3/1 ums0: 5 buttons. ums1: Microsoft Microsoft 3-Button Mouse with IntelliEye(TM), rev 1.10/3.00, addr 2, iclass 3/1 ums1: 3 buttons and Z dir. Timecounters tick every 10.000 msec ad0: 76319MB <HTS721080G9AT00 MC4OA51A> at ata1-master BIOSPIO acd0: DVDR <MATSHITACD-RW CW-8123/CAD4> at ata1-slave BIOSPIO Trying to mount root from ufs:/dev/ad0s3
コメント (5)
Mac は伝統的にマウスのボタンを押しながら起動する事によってメディアが排出されます。
また、option を押しなが起動するとブートデバイスを選択する画面が出るので、そこでキーボードの eject キーを押すという手もあります。
eject キーが必要なので、キーボードを選ぶのが難点ですが。
投稿者: elim | 2007年08月25日 20:44
日時: 2007年08月25日 20:44
Mac は伝統的にマウスのボタンを押しながら起動する事によってメディアが排出されます。
また、option を押しなが起動するとブートデバイスを選択する画面が出るので、そこでキーボードの eject キーを押すという手もあります。
eject キーが必要なので、キーボードを選ぶのが難点ですが。
投稿者: elim | 2007年08月25日 20:49
日時: 2007年08月25日 20:49
Mac は伝統的にマウスのボタンを押しながら起動する事によってメディアが排出されます。
また、option を押しなが起動するとブートデバイスを選択する画面が出るので、そこでキーボードの eject キーを押すという手もあります。
eject キーが必要なので、キーボードを選ぶのが難点ですが。
投稿者: elim | 2007年08月25日 21:14
日時: 2007年08月25日 21:14
あらま。
コメント時にエラーが出たので再投稿、を繰り返してしまったのですが、全て反映されていたようですね……お目汚し失礼しました。
お手数ですが重複分の削除の程、お願い申し上げます。(削除後はこのコメントも不要でしょうから削除下さって結構です
投稿者: elim | 2007年08月25日 21:50
日時: 2007年08月25日 21:50
初めまして
私もインストールの参考にさせていただきました…(といってももう随分前の話になるのですが…)
もう随分前のことなので解決されているかもしれませんが…
bootの方法ですが、
boot cd:,\boot\loader hd:3
のようにすればお馴染みの起動になるかと思います。
そこでspace押下後にboot -sとすればシングルユーザモードでも起動できるかと思います。
で、ここまでは随分前に私も分かっていました。
今回敢えてこの場に書き込ませていただいているのは、デフォルトでFreeBSD/ppcを立ち上げる方法です。
まず、パーティションですが1つだけMacOSフォーマットのパーティションを作ります。
なので、全体としては、
・MacOSパーティション
・Unixパーティション
となります。(Unixパーティションは複数切っていても構いませんし、パーティションの順番に関してはどのようにしていても構いませんが、pdiskでMacOSパーティションとFreeBSD/ppcのルートパーティションの番号が分かればよいです)
そして、UnixパーティションにFreeBSD/ppcをインストールします。
次に、FreeBSD/ppcのCD(DVD)-ROM内のboot.tbxiとloaderをMacOSパーティションにコピーします。そしてMacOSの起動CDなりで起動してboot.tbxi内の
boot cd:,\boot\loader cd:0
の部分をMacOSパーティションのloader、FreeBSD/ppcのルートパーティションを踏まえて書き換えます。
例えばMacOSパーティションがhd:3、FreeBSD/ppcのルートパーティションがhd:4で、hd:3の直下にboot.tbxiとbootというフォルダがあってbootフォルダの中にloaderがあると仮定するなら、
boot hd:3,\boot\loader hd:4
と書き換えて保存します。
次にOpenFirmwareを起動して、
setenv boot-device hd:3,\boot.tbxi
setenv auto-boot? true
reset-all
とすればFreeBSD/ppcがデフォルトで起動するかと思います。
もし、mixiをされていらっしゃるなら
http://mixi.jp/view_diary.pl?id=1300508519&owner_id=4174557
にも同じようなことをまとめてありますので、よろしければ参考にしてください…
年の瀬になんともお粗末で長々だらだらの文失礼いたしました…
投稿者: gari | 2009年12月30日 22:28
日時: 2009年12月30日 22:28