世界では Apple iBook でDebian GNU/Linuxを使う事が 流行しているようです. 日本でもやってできないはずはないため,試験してみたい方は試してみてください. ただ,iBookが特にDebian GNU/Linuxに適しているわけではなく,制約がたくさんあります. 御了承ください.
これは上川がiBook G4 1GHz 12"モデルにDebian GNU/Linux 3.xをインストールする際のメモです. 2004年8月に購入しました.
3.0 (woody)のインストーラではATA100のコントローラが認識できないらしく, 内蔵のHDDが見えません.
3.1 (sarge)のインストーラでは改善されているはずです.
私はとりあえず見付けた Ethan Bensonのpowermac xfs ISOを使用しました. Debian 3.0 用のインストールディスクを最近のiBook/PowerBookで動作するように改造した物です.
ディスクの切り方についてはよくわかりませんでしたが,Brandenの指示通りに設定しました. MacOSXとDebian GNU/Linuxのdual-bootとして設定しています.
ディスクのパーティショニングにmac-fdiskを使う事になります. 使用例:
この結果作成されたのが以下です:
# mac-fdisk -l /dev/hda /dev/hda # type name length base ( size ) system /dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map /dev/hda2 Apple_Bootstrap bootstrap 1600 @ 64 (800.0k) NewWorld bootblock /dev/hda3 Apple_UNIX_SVR2 swap 1048576 @ 1664 (512.0M) Linux swap /dev/hda4 Apple_UNIX_SVR2 root 28927240 @ 1050240 ( 13.8G) Linux native /dev/hda5 Apple_HFS Apple_HFS_Untitled_3 28627624 @ 29977480 ( 13.7G) HFS /dev/hda6 Apple_Free 16 @ 58605104 ( 8.0k) Free space Block size=512, Number of Blocks=58605120 DeviceType=0x0, DeviceId=0x0
なお,システムを再起動する際にyabootがうまく設定されていず,Debianが起動しない場合があります. その場合は,APPLEキー-Option-O-F の4つのキーを起動時に押していると,OpenFirmwareの画面がでてきます.その画面にて,下記コマンドを入力し,リターンキーを押します. hd:2であるかどうかについては,Apple_Bootstrap領域のスライス番号を確認してください.
boot hd:2,yaboot
最初インストールする際に,カーネルにvideo=ofonlyと起動オプションを 指定しないとうまく画面が表示されない場合があります. インストール完了したあとで最新のカーネルに変更したあとであれば, video=radeonfbと指定しておけば大丈夫です. Xはカーネルのradeonfb経由で描画してくれるようです.
カーネルのオプションで内部のATA100を先に認識するか,というオプションがあります. Debian 3.0 boot-floppiesのカーネルはそんなオプションはオンにはなっていなかったのですが, 最近はデフォルトでオンにしているようです. そのため,ディスクが,hdc1として見えたり,hda1として見えたりします. yabootの設定の際に結構困ります.
yabootの設定はブートストラップ用のパーティションに書き込まれます. 変更するには,/etc/yaboot.confに設定を記述して,ybinを実行します.
# ybin -v ybin: Finding OpenFirmware device path to `/dev/hda2'... ybin: Finding OpenFirmware device path to `/dev/hda5'... ybin: Installing first stage bootstrap /usr/lib/yaboot/ofboot onto /dev/hda2... ybin: Installing primary bootstrap /usr/lib/yaboot/yaboot onto /dev/hda2... ybin: Installing /etc/yaboot.conf onto /dev/hda2... ybin: Setting attributes on ofboot... ybin: Setting attributes on yaboot... ybin: Setting attributes on yaboot.conf... ybin: Blessing /dev/hda2 with Holy Penguin Pee... ybin: Updating OpenFirmware boot-device variable in nvram...
/etc/yaboot.confはこんな設定です.
## yaboot.conf generated by yabootconfig 1.0.7 ## ## run: "man yaboot.conf" for details. Do not make changes until you have!! ## see also: /usr/share/doc/yaboot/examples for example configurations. ## ## For a dual-boot menu, add one or more of: ## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ boot=/dev/hda2 device=/pci@f4000000/ata-6@d/disk@0: partition=4 root=/dev/hda4 timeout=30 install=/usr/lib/yaboot/yaboot magicboot=/usr/lib/yaboot/ofboot image=/vmlinux label=Linux read-only image=/boot/vmlinux-2.4.23-newpmac label=Linux-2.4.23 root=/dev/hdc4 read-only image=/boot/vmlinux-2.4.26-powerpc label=Linux-2.4.26 root=/dev/hda4 append="video=ofonly" read-only image=/boot/vmlinux-2.6.8-powerpc root=/dev/hda4 initrd=/boot/initrd.img-2.6.8-powerpc label=Linux-2.6.8 append="video=radeonfb" read-only macosx=/dev/hda5
[11:47:10]ibookg4:/mnt/ipod> df -T Filesystem Type 1K-ブロック 使用 使用可 使用% マウント位置 /dev/hdc4 ext3 14236656 2105144 11408332 16% / tmpfs tmpfs 128132 0 128132 0% /dev/shm /dev/sda3 hfsplus 14614656 498836 14115820 4% /mnt/ipod [11:47:43]ibookg4:/mnt/ipod> ls -ln 合計 1 drwxr--r-- 1 1000 1000 2 2004-01-09 02:03 Calendars drwxr--r-- 1 1000 1000 5 2004-08-22 17:54 Contacts -rw-r--r-- 1 99 99 1024 2004-08-22 17:54 Desktop DB -rw-r--r-- 1 99 99 2 2004-08-22 17:53 Desktop DF -rw-r--r-- 1 99 99 0 2002-02-27 01:39 Icon? drwxr--r-- 1 1000 1000 4 2004-08-22 17:54 Notes drwxrwxrwx 1 99 99 6 2004-08-17 09:11 iPod_Control
dmesg抜粋
ieee1394: Initialized config rom entry `ip1394' ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org> PCI: Enabling device 0002:02:0e.0 (0000 -> 0002) ohci1394: fw-host0: Unexpected PCI resource length of 1000! ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[40] MMIO=[f5000000-f50007ff] Max Packet=[2048] sbp2: $Rev: 1219 $ Ben Collins <bcollins@debian.org> ieee1394: Node added: ID:BUS[0-00:1023] GUID[000a27000274f5b0] ieee1394: Host added: ID:BUS[0-01:1023] GUID[000d93fffe283848] scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices Disabled Privacy Extensions on device c0236790(lo) PHY ID: 4061e4, addr: 0 ieee1394: sbp2: Logged into SBP-2 device ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048] Vendor: Apple Model: iPod Rev: 1.51 Type: Direct-Access ANSI SCSI revision: 02 SCSI device sda: 29297520 512-byte hdwr sectors (15000 MB) sda: test WP failed, assume Write Enabled sda: asking for cache data failed sda: assuming drive cache: write through sda: [mac] sda1 sda2 sda3 Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
音楽録音環境として使用するために,USB audio "ONKYO WAVIO SE-U33G"を接続してみます. まず,Debian GNU/Linuxで音楽環境を利用するための事前準備として,ユーザをaudioグループに追加します.
# adduser dancer audio $ id dancer uid=1000(dancer) gid=1000(dancer) 所属グループ=1000(dancer),29(audio)
USB関連,サウンド関連では,下記モジュールがはいっていればよいかと思われます. snd-powermacは内蔵のMACのサウンドカードです. その後でsnd-usb-audioを読み込んでいます. /etc/modulesに追記しました.
ehci-hcd ohci-hcd snd-powermac snd-usb-audio
確認すると下記状況になります.再生については問題なく実施できているようです. 録音についても問題なく実施可能です. (使用アプリケーション: ecasound 2.3.5, sweep)
$ cat /proc/asound/cards 0 [Snapper ]: PMac Snapper - PowerMac Snapper PowerMac Snapper (Dev 38) Sub-frame 0 1 [Device ]: USB-Audio - KC USB Audio Device KC Technology, Inc. KC USB Audio Device at usb-0001:01:1b.0-1, full speed
apt-get install cpufreqd
CPUの速度を電源ケーブル(AC電源)が接続されているか,などの要素から決定してくれます. デフォルトの設定でそれなりにつかえそうです. AC電源をぬきさしして速度が変化している様子:
[12:25:17]ibookg4:/etc> cat /proc/cpuinfo processor : 0 cpu : 7447A, altivec supported clock : 533MHz revision : 1.1 (pvr 8003 0101) bogomips : 530.43 machine : PowerBook6,5 motherboard : PowerBook6,5 MacRISC3 Power Macintosh detected as : 287 (iBook G4) pmac flags : 0000000a L2 cache : 512K unified memory : 256MB pmac-generation : NewWorld [12:25:20]ibookg4:/etc> cat /proc/cpuinfo processor : 0 cpu : 7447A, altivec supported clock : 1066MHz revision : 1.1 (pvr 8003 0101) bogomips : 1060.86 machine : PowerBook6,5 motherboard : PowerBook6,5 MacRISC3 Power Macintosh detected as : 287 (iBook G4) pmac flags : 0000000a L2 cache : 512K unified memory : 256MB pmac-generation : NewWorld
swf-playerをインストールしたらswfファイルが見れるようになりました. 完全ではないですが,それなりに動作します.
hdparm -tT /dev/hda /dev/hda: Timing buffer-cache reads: 836 MB in 2.00 seconds = 417.44 MB/sec Timing buffered disk reads: 72 MB in 3.00 seconds = 23.98 MB/sec
カーネルのビルドに30分ちかくかかった.(533MHz稼働時) 1GHz稼働時には15分程度で終了.
real 15m33.498s user 12m32.137s sys 1m40.159s real 27m13.857s user 22m27.233s sys 2m25.411s
現在のfstab設定は以下です. iPod のマウントポイントの設定などがあります. 一時ファイルごときでディスクにがりがりアクセスすることのないように/tmpはtmpfsにて 設定しています.
/dev/hda4 / ext3 errors=remount-ro 0 1 /dev/hda3 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /floppy auto user,noauto 0 0 /dev/cdrom /cdrom iso9660 ro,user,noauto 0 0 /dev/sda1 /mnt/scsi1 auto rw,user,noauto /dev/sda3 /mnt/ipod hfsplus rw,user,noauto /tmp /tmp tmpfs defaults
当初はインストール時と利用時のディスクのデバイス名が変わったため swapが/dev/hdc3を指定していて,swapが利用できていませんでした.
Mac OS Xの領域はhfsplusファイルシステムとして,マウントすることが可能です. mount -t hfsplus -o ro /dev/hda5 /var/tmp/imacのように利用すればよいです.
私はBluetoothを使っていませんが,Des JohnstonさんからBluetooth携帯電話で通信できた,という報告をメールでいただいたので,転載します.
Bluetooth: Core ver 2.6 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP ver 2.3 Bluetooth: L2CAP socket layer initialized Bluetooth: RFCOMM ver 1.3 Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM TTY layer initialized
rfcomm connect 0 MY_PHONES_HW_ADDRESS
#!/bin/sh /sbin/modprobe ppp_async /usr/sbin/pppd usepeerdns debug lcp-echo-interval 50000 lcp-echo-failure 50000 connect '/usr/sbin/chat -v -f /etc/ppp/MY_CHAT_SCRIPT' -detach defaultroute user MY_USER_NAME noipdefault /dev/rfcomm0 115200 exit 0
"" "\d" "" "ATE1" "" ATZ OK ATDT*99***1# ABORT "NO CARRIER" ABORT BUSY ABORT "NO DIALTONE" ABORT WAITING TIMEOUT 60 CONNECT '\d\c'
現在使ってみて,不満な点,問題点などについて列記してみます.
制約としては,2004年9月現在,内蔵の無線LANが使用できません.
まだプロジェクタを利用するうまい方法を見付けていません.(2005年5月現在) 現在の回避策としては,蓋を閉じた状態でプロジェクタに繋げて起動すると, オープンファームウェアが外部出力のみに画面を出力するようにして起動してくれるので, そのままの状態で操作することです. ただ,外部出力にしか画面が出ないため,問題です.(2005年11月現在)
内蔵のマウスがキーを激しくたたいていると誤認識して,クリックしたことになってしまいます. trackpad nopad (powerpc-utilsパッケージ) を指定すると,トラックパッドをさわってもクリックした事にならないので, 状況は改善します.
世界標準からすると小さくて軽いiBookも,日本標準からすると重くてでかいです. 私が最近使用しているHPのnc4000とあまりかわらないというか, 比べてみるとむしろ重くて,電源もかさばるし,実はあまり便利じゃないかもしれません. 小さくて軽いノートPCがほしければ,PanasonicのLet's Note等の購入を検討するのが 賢明かもしれません.
PCMCIAカードが使えないというのも結構いたいです. 最近(2004年9月現在)でてきた大きめのPowerBookでPCMCIAカードが 使えるようになったというのは朗報です.
使っているうちにiBookで,「Debian GNU/Linuxを使う意味ってあるの?」 と一日に数回のペースで思います. MacOS Xを使っていると使い慣れていないため,一日に二回くらいは, 「なんでLinuxじゃないの?」と思います.(2004年8月現在)
lspci(2.6.9カーネル)抜粋
0000:00:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 AGP 0000:00:10.0 VGA compatible controller: ATI Technologies Inc RV250 5c63 [Radeon Mobility 9200 M9+] (rev 01) 0001:10:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 PCI 0001:10:17.0 ff00: Apple Computer Inc. KeyLargo/Intrepid Mac I/O 0001:10:18.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB 0001:10:19.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB 0001:10:1a.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB 0001:10:1b.0 USB Controller: NEC Corporation USB (rev 43) 0001:10:1b.1 USB Controller: NEC Corporation USB (rev 43) 0001:10:1b.2 USB Controller: NEC Corporation USB 2.0 (rev 04) 0002:20:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 Internal PCI 0002:20:0d.0 ff00: Apple Computer Inc. UniNorth/Intrepid ATA/100 0002:20:0e.0 FireWire (IEEE 1394): Apple Computer Inc. UniNorth 2 FireWire (rev 81) 0002:20:0f.0 Ethernet controller: Apple Computer Inc. UniNorth 2 GMAC (Sun GEM) (rev 80)
lspci (2.6.8カーネル)
ibookg4:~# lspci 0000:00:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 AGP 0000:00:10.0 VGA compatible controller: ATI Technologies Inc RV250 5c63 [Radeon Mobility 9200 M9+] (rev 01) 0001:01:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 PCI 0001:01:17.0 ff00: Apple Computer Inc. KeyLargo/Intrepid Mac I/O 0001:01:18.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB 0001:01:19.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB 0001:01:1a.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB 0001:01:1b.0 USB Controller: NEC Corporation USB (rev 43) 0001:01:1b.1 USB Controller: NEC Corporation USB (rev 43) 0001:01:1b.2 USB Controller: NEC Corporation USB 2.0 (rev 04) 0002:02:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 Internal PCI 0002:02:0d.0 ff00: Apple Computer Inc. UniNorth/Intrepid ATA/100 0002:02:0e.0 FireWire (IEEE 1394): Apple Computer Inc. UniNorth 2 FireWire (rev 81) 0002:02:0f.0 Ethernet controller: Apple Computer Inc. UniNorth 2 GMAC (Sun GEM) (rev 80)
xineでフルスクリーンでムービーの再生が可能です. 2.6.9の場合なぜかALSAドライバを選択すると処理が遅いため,xineからは OSSデバイスを選択する必要があります. さらに他の部分でも問題があるみたいです.2.6.8では問題なく再生できていました.
通常のキーボードでALTがある場所にはAPPLEキーがあります. それをXの設定でALTにするには下記を設定します..xsession ファイルなどに追記します.
xmodmap -e "keycode 115 = Alt_L"
Underscore key was broken on my Japanese keyboard, I worked around with
xmodmap -e "keycode 211 = underscore"
蓋を閉めるとサスペンドするみたいです. 開けると復活します.dmesgの出力. カーネル2.6.12の場合. USBデバイスの復旧には問題があるようです.
eth0: suspending, WakeOnLan disabled radeonfb (0000:00:10.0): suspending to state: 3... uninorth-agp: disabling AGP on device 0000:00:10.0 uninorth-agp: disabling AGP on bridge 0000:00:0b.0 radeonfb (0000:00:10.0): resuming from state: 3... PCI: Enabling device 0000:00:10.0 (0000 -> 0003) radeon: PAD_CTLR_STRENGTH doesn't stabilize ! agpgart: Putting AGP V2 device at 0000:00:0b.0 into 4x mode agpgart: Putting AGP V2 device at 0000:00:10.0 into 4x mode PCI: Enabling device 0001:10:1b.0 (0000 -> 0002) PCI: Enabling device 0001:10:1b.1 (0000 -> 0002) PCI: Enabling device 0001:10:1b.2 (0000 -> 0002) ehci_hcd 0001:10:1b.2: park 0 ehci_hcd 0001:10:1b.2: USB 2.0 restarted, EHCI 1.00, driver 10 Dec 2004 eth0: resuming PHY ID: 4061e4, addr: 0 hda: Enabling Ultra DMA 5 hdc: Enabling MultiWord DMA 2 adb: starting probe task... adb devices: [2]: 2 c9 [3]: 3 1 [7]: 7 1f ADB keyboard at 2, handler 1 ADB mouse at 3, handler set to 4 (trackpad) adb: finished probe task... agpgart: Putting AGP V2 device at 0000:00:0b.0 into 4x mode agpgart: Putting AGP V2 device at 0000:00:10.0 into 4x mode [drm] Loading R200 Microcode
oprofileはtimer modeでは動作します. MPC7447Aの持つパフォーマンスカウンタで動作させるために, 2.6.14用のパッチを作成しました. 別にカーネルパッチを作成した方がいらっしゃるようなので,2.6.16あたりでマージされるのではないでしょうか?
英語だったり,フランス語だったり.
OpenFirmwareについて
$Id: ibookg4.html.ja,v 1.27 2006/01/14 13:10:06 dancer Exp $