Mac mini PowerPC 1.25GHz + FreeBSD/powerpc 7.0-RELEASE
FreeBSD/powerpc が動くようになっていると聞いたので、動かしてみたいと思っていたが、時間ができたので、Mac miniに7.0-RELEASEをインストールしてみた。
参考:
http://blog.perl.tv/2007/05/powerpcmac_minifreebsd62releas.html
http://people.freebsd.org/~grehan/install.html
まず、FreeBSD/powerpcはTier 2サポートのようなので、完全にFreeBSDが動作することは期待できない。それでも、ある程度は動くようなので、とりあえずどこまで動くのかトライしてみる。
Macのメモ
FreeBSDのインストール
bootonly CDを入れて、「C」を押しながら起動する。普通のFreeBSDのインストーラが起動するので、いつもの方法でインストールが出来る。Customから進むとFdiskがない。fdiskは、FreeBSD/powerpcでは使えないとのこと。上記の方法でOS Xのパーティションを削除するとad0は次のようになっていた。
- ad0s2 17408 blocks (8MB)
- ad0s3 78122672 blocks (38145MB)
スワップなしのルートパーティションだけでないとインストールに失敗すると書いてあったので、ad0s3をすべて/に割り当てた。というより容量の選択が出てこないので、/に割り当てるしかないようだ。もしかしたらad0s2をスワップに割り当てられたかもしれないが、8Mのスワップがあっても仕方がないので、よしとする。
distributionsは、ports、X.orgを除くすべてを選択。powerpcのディレクトリにパッケージがなさそうだったので、たぶん、X.orgはパッケージインストールは出来ないと思う。あとはネットワークを選択してcommit。
No swap devices found - you should create at least one swap patriton. Without swap, the install will fail if you do not have enough RAM. Cntinue anyway?
swapパーティションがないので警告されるが、OK。で、無事に終了する。
FreeBSDの起動
このままでは、起動しないところがTier 2ならでは。ここのCD-ROM bootの要領で、このファイルをダウンロードして、まずboot CDをつくる。最初にmini boot CDとか面倒くさいから、展開したものを全部そのままisoにしたら、800MくらいのCD-ROMに収まらないisoイメージになった。結局書いてあるのを残すのが一番良さそう。isoの作成は、
% mkisofs -o miniboot.iso -hfs -part -l -J -r -L /any/wahre/boot_CD_root
で、miniboot.isoが作れる。
このboot CDを入れた状態で、「Command」+「option」+「O」+「F」キーを押しながら起動して、Open Firmwareに入る。Open Firmwareのコマンドプロンプトから、
0 > dir cd:,\ <- 入力(1) ... ok 0 > boot cd:,\boot\loader <- 入力(2) FreeBSD/OpenFirmware/PowerPC bootstrap loader, Revision 0.1 (greham@, Fri Feb 27 20:41:22 EST 2004) Memory: 524388KB booted from* /pci@f4000000/ata-6@d/disk@1 \ can't load 'kernel' Type '?' for a list of commands, 'help' for more detailed help OK set currdev=hd:3 <- 入力(3) OK boot -s <- 入力(4)
入力(1)-(4)で起動する。なぜか分からないが、single-user modeではなく、これでmulti-user modeで起動する。single-user modeに落とす方法はないっぽい。fdiskが使えないから、必要ないのだろうか。Windowsのキーボードを使ってると、\が入れにくいのが注意する点(笑)
これで、めでたくFreeBSD/powerpcがMac miniで起動した。コンソールでは、マウスカーソルが表示されない。マウスは認識されているようだし、Xは動くということなので、試してみたい。
bootするのが、ちょっと面倒だが、起動してしまうと特に問題なくFreeBSD環境が動いている。最後に、お約束でdmesg。
% dmesg Copyright (c) 1992-2008 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 7.0-RELEASE #0: Mon Feb 25 11:12:44 UTC 2008 root@xserve.xcllnt.net:/usr/obj/usr/src/sys/GENERIC cpu0: Motorola PowerPC 7447A revision 1.2, 1250.00 MHz cpu0: HID0 8450c0bc<EMCP,TBEN,NAP,DPM,ICE,DCE,SGE,BTIC,LRSTK,FOLD,BHT> real memory = 527130624 (502 MB) avail memory = 509640704 (486 MB) kbd0 at kbdmux0 nexus0: <Open Firmware Nexus device> unin0: <Apple UniNorth System Controller> on nexus0 unin0: Version 210 pcib0: <Apple UniNorth Host-PCI bridge> on nexus0 pci0: <PCI bus> on pcib0 vgapci0: <VGA-compatible display> port 0x400-0x4ff mem 0x98000000-0x9fffffff,0x90000000-0x9000ffff irq 48 at device 16.0 on pci0 pcib1: <Apple UniNorth Host-PCI bridge> on nexus0 pci1: <PCI bus> on pcib1 macio0: <Intrepid I/O Controller> mem 0x80000000-0x8007ffff at device 23.0 on pci1 openpic0: <OpenPIC Interrupt Controller> mem 0x40000-0x7ffff on macio0 scc0: <Zilog Z8530 dual channel SCC> mem 0x13000-0x13fff,0x8400-0x84ff,0x8500-0x85ff,0x8600-0x86ff,0x8700-0x87ff irq 22,23 on macio0 scc0: [FILTER] scc0: [FILTER] uart0: <z8530, channel A> on scc0 uart0: [FILTER] uart1: <z8530, channel B> on scc0 uart1: [FILTER] ata0 mem 0x20000-0x20fff,0x8800-0x88ff irq 24 on macio0 ata0: [ITHREAD] ohci0: <OHCI (generic) USB controller> irq 0 at device 24.0 on pci1 ohci0: [GIANT-LOCKED] ohci0: [ITHREAD] 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> on usb0 uhub0: 2 ports with 2 removable, self powered ohci1: <OHCI (generic) USB controller> irq 0 at device 25.0 on pci1 ohci1: [GIANT-LOCKED] ohci1: [ITHREAD] 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> on usb1 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] ohci2: [ITHREAD] 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> on usb2 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] ohci3: [ITHREAD] 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> on usb3 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] ohci4: [ITHREAD] 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> on usb4 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] ehci0: [ITHREAD] 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> on usb5 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 ata1: [ITHREAD] fwohci0: <Apple UniNorth> mem 0xf5000000-0xf5000fff irq 40 at device 14.0 on pci2 fwohci0: [FILTER] fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 8. fwohci0: EUI64 00:0d:93:ff:fe:66:05:28 fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 sbp0: <SBP-2/SCSI over FireWire> on firewire0 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:0d:93:66:05:28 fwe0: Ethernet address: 02:0d:93:66:05:28 fwohci0: Initiate bus reset fwohci0: BUS reset fwohci0: node_id=0xc800ffc0, gen=2, CYCLEMASTER mode gem0: <Apple UniNorth2 GMAC Ethernet> mem 0xf5200000-0xf53fffff irq 41 at device 15.0 on pci2 miibus0: <MII bus> on gem0 bmtphy0: <BCM5221 10/100baseTX PHY> PHY 0 on miibus0 bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto gem0: 10kB RX FIFO, 4kB TX FIFO gem0: Ethernet address: 00:0d:93:66:05:28 gem0: [ITHREAD] sc0: <System console> on nexus0 sc0: Unknown <16 virtual consoles, flags=0x300> ums0: <vendor 0x04b3 product 0x310d, class 0/0, rev 2.00/43.00, addr 2> on uhub3 ums0: 3 buttons and Z dir. uhub6: <Chicony IBM Preferred Pro USB Fingerprint Keyboard, class 9/0, rev 1.10/2.00, addr 2> on uhub4 uhub6: 2 ports with 0 removable, bus powered ukbd0: <Chicony IBM Preferred Pro USB Fingerprint Keyboard, class 0/0, rev 1.10/0.02, addr 3> on uhub6 kbd1 at ukbd0 uhid0: <Chicony IBM Preferred Pro USB Fingerprint Keyboard, class 0/0, rev 1.10/0.02, addr 3> on uhub6 ugen0: <STMicroelectronics Biometric Coprocessor, class 0/0, rev 1.00/0.01, addr 4> on uhub6 Timecounter "decrementer" frequency 41620997 Hz quality 0 Timecounters tick every 10.000 msec firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) ad0: 38154MB <Seagate ST940110A 3.07> at ata1-master BIOSPIO acd0: DVDR <MATSHITACD-RW CW-8124/DACD> at ata1-slave BIOSPIO acd0: FAILURE - READ_BIG ILLEGAL REQUEST asc=0x64 ascq=0x00 acd0: FAILURE - READ_BIG ILLEGAL REQUEST asc=0x64 ascq=0x00 GEOM_LABEL: Label for provider acd0 is iso9660/CDROM. acd0: FAILURE - READ_BIG ILLEGAL REQUEST asc=0x64 ascq=0x00 acd0: FAILURE - READ_BIG ILLEGAL REQUEST asc=0x64 ascq=0x00 acd0: FAILURE - READ_BIG ILLEGAL REQUEST asc=0x64 ascq=0x00 Trying to mount root from ufs:/dev/ad0s3 %