木曜日 9 04, 2008
木曜日 9 04, 2008
MacBook AirにネイティブでOpenSolarisを動かすことができました。内蔵キーボード、オーディオ、ビデオは追加のセットアップをせずに動作します。内蔵WiFiやCompizは追加設定で動作します。(English)
Mac OS Xのdiskutilコマンドを使ってパーティションをリサイズ
MacBook Airはたった80GBのHDD(または60GBのSSD)しかないので、パーティションサイズを事前に十分に見積もっておく必要があります。私の場合は20GBをSolarisに、さらに20GBをVistaに割り当てました。Mac OS Xにもっと空き容量を増やしたい場合は、Mac OS X 10.5インストール時に、プリンタドライバ、追加フォント、不要な言語、バンドルアプリケーション(iWeb, GarageBand, iMovieなど)を選択解除すればよいでしょう。
$ diskutil resizeVolume /dev/disk0s2 34.1G "MS-DOS FAT32" Windows 20G "Journaled HFS+" Solaris 20G Started resizing on disk disk0s2 Mac OS X Verifying Resizing Volume Adjusting Partitions Formatting new partitions Formatting disk0s4 as Mac OS Extended (Journaled) with name Solaris Formatting disk0s3 as MS-DOS (FAT32) with name Windows [ + 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..100% ] Finished resizing on disk disk0 /dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *74.5 Gi disk0 1: EFI 200.0 Mi disk0s1 2: Apple_HFS Mac OS X 34.0 Gi disk0s2 3: Microsoft Basic Data WINDOWS 20.0 Gi disk0s3 4: Apple_HFS Solaris 20.1 Gi disk0s4
GPT (GUID Partition Table)からMBR (Master Boot Record)への変更
現在のところOpenSolarisはGPTハードディスクから起動することができません。手動でfdiskコマンドを使って変更する必要があります。MBRに変更すると、ディスクユーティリティGUIでパーティションマップを表示することができなくなりますのでご注意下さい。
$ sudo fdisk -e /dev/disk0
Password:
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
Enter 'help' for information
fdisk: 1> p
Disk: /dev/disk0 geometry: 9729/255/63 [156301488 sectors]
Offset: 0 Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 1023 254 63 - 1023 254 63 [ 1 - 409639]
2: AF 1023 254 63 - 1023 254 63 [ 409640 - 71250736] HFS+
3: 0B 1023 254 63 - 1023 254 63 [ 71922520 - 41943040] Win95 FAT-32
4: AF 1023 254 63 - 1023 254 63 [ 113865560 - 42173744] HFS+
fdisk: 1> setpid 1
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 1023 254 63 - 1023 254 63 [ 1 - 409639]
Partition id ('0' to disable) [0 - FF]: [EE] (? for help) AF
fdisk:*1> q
Writing current MBR to disk.
Device could not be accessed exclusively.
A reboot will be needed for changes to take effect. OK? [n] y
マルチブートのためにrEFItブートローダをインストール
rEFIt Version 0.11ではMacBook Airをサポートします。rEFIt.mpkgアイコンをダブルクリックしてrEFItインストーラを起動します。次にターミナルを開いて、enable-always.shスクリプトを実行します。
$ sudo /efi/refit/enable-always.sh Password: + sudo bless --folder /efi/refit --file /efi/refit/refit.efi --labelfile /efi/refit/refit.vollabel --setBootrEFItは起動画面でOpenSolarisをLinuxアイコンで表示します。このアイコンは新しいアイコンで置き換えることができます。
os_linux.icnsと
os_linux.icns を/efi/refit/icons/ディレクトリにコピーして下さい。
Wireless LAN
ネットワーク接続は不安定ですが、内蔵wireless LAN (Broadcom BCM4328 802.11a/b/g/n)はndis-1.2を使って32-bitカーネルのみ動作します。64-bitドライバの場合はシステムがpanicします。
# add_drv -i '"pci14e4,4328"' bcmndis
ビデオ
ビデオはCompiz Fusion以外はそのままで快適に動作します。Compizはdefect 1334でハングアップするので、新しいmesa 7.0.3バイナリが必要です。
新しいmesa 7.0.3バイナリとインストールスクリプトをダウンロードします:
インストールスクリプトは/tmp/new-binariesにファイルがあることを前提にしているため、バイナリを/tmp/new-binariesに展開します。
$ mkdir /tmp/new-binaries $ cd /tmp/new-binaries $ tar xfz ~/new-binaries-32.tar.gz $ tar xfz ~/new-binaries-64.tar.gz
X11サーバを停止してからインストールスクリプトを実行します。
$ pfexec svcadm disable gdm console login: username Password: xxxxxxxx $ pfexec sh ~/install-bin.csh $ pfexec /usr/sbin/svcadm enable gdm; exit
Compizを有効にする
システム->設定->外観の設定->Visual Effectsを開き、"Normal", "Extra", "Custom"のいずれかを選択します。"Keep settings"ダイアログで"Keep Settings"ボタンをクリックします。
Compizをカスタマイズして白い帯を削除
デスクトップ画面の上下に白い帯が表示されると思います。この帯はCompizをカスタマイズすると削除できます。システム->設定->CompizConfig設定マネージャ->Effects->Window Decorationを開き、"Shadow Radius"の値を8.0000から8.5000(またはそれ以上)に変更します。
右マウスボタンのエミュレーション
システム->設定->キーボード->アクセシビリティを開き、「キーボードからアクセシビリティの機能をON/OFFできるようにする」チェックボックスをクリックします。次に「マウス・キー」タブをクリックし、「キーボードでポインタを制御できるようにする」チェックボックスをクリックします。最後に.xmodmaprcと.xprofileファイルを作り、右の"command"キーを右マウスボタンに割り当てます。
$ vi ~/.xmodmaprc keycode 116 = Pointer_Button3 $ xmodmap ~/.xmodmaprc $ vi ~/.xprofile xmodmap ~/.xmodmaprc
時間帯
GMTとの時間差を調整するため、/etc/rtc_configからzone_lagエントリを削除します。
# vi /etc/rtc_config zone_info=Japan zone_lag=-32400 <- この行を削除、またはコメントアウト