Macbook Air 11'' を Ubuntu 10.10 とデュアルブートにしたまとめ

あまり日本語情報も無いようなので、メモ書き程度に紹介しておきます。新型 Macbook Air 11'' に Ubuntu 10.10 サーバー版 64bit をインストールしました。Boot Camp は使っていません。

大まかな流れは、

  1. OSX で rEFIt の導入とパーティション割り当ての調整
  2. Ubuntu のインストール
  3. Ubuntu 上でドライバ等のセットアップ

となります。
Windows とのトリプルブートにしたい場合は、Linux インストールの前段階で行うようですが、詳細調べていないので割愛します。

以下詳細です。

事前準備

  • Ubuntu の OS イメージを USB メモリに準備しておく
    • ISO から起動可能な USB メモリとして作成するには、ISO 配布ページの「Burn your CD or create a USB drive」の項に詳しく書いてあります。
  • インストールプロセスで有線 LAN を使った方がスムーズなので、USB イーサネットアダプタを準備しておく(試していませんが、WLAN で進めようとするとドライバ周りとか多分面倒です。)
  • 普通に初回電源オン時の Mac 初期化プロセスを終えておく。(「ようこそ」から始まる一連のプロセス)

Mac 上での設定

  1. rEFIt をインストール(パーティションが変更されてブートローダー?が入る)
  2. Disk Utility.app (アプリケーション → ユーティリティ → ディスクユーティリティ) で Ubuntu インストール用のパーティションを準備(ファイル swap にするなら swap 用パーティション切らなくても OK)

Ubuntu のインストール

  1. 用意しておいた Ubuntu イメージ入りの USB メモリと LAN ケーブルを刺した状態で再起動する
  2. rEFIt の起動画面が表示されるので、USB 起動を選択(Pen Drive)
  3. 先ほど準備したパーティションUbuntu をインストール

ディスプレイの設定

  1. インストール後再起動すると、rEFIt の起動画面で先ほどは無かった Linux 起動が選べるようになっている
  2. Linux 起動を選ぶと、grub の起動画面になる
  3. そのまま Ubuntu を起動してもディスプレイが使えない(何も映らない)
  4. grub の起動画面で e か c を押すと、カーネルに渡す起動オプションが変更できるので、single を追加してシングルユーザーモードで起動する
  5. /etc/default/grub に、nomodeset reboot=pci を追記して、update-grubgrub に反映させる
  6. 再起動すると正常にディスプレイが使えるようになる

GUI 環境のセットアップ

  • apt-get install ubuntu-desktop で GUI 環境をインストール(サーバー版をインストールしている場合)
  • 再起動すると gdm でグラフィカルログイン出来るようになっている
    • gdm 起動でグラフィカルログインしたく無い人は、/etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT に text を追記して update-grub する
    • Ubuntu 日本語フォーラムで調べると、runlevel 云々の記事がありますが、カーネルオプションに渡すのがベストプラクティスのようです。
  • GUI が使いたいときは、ログイン後に startx すれば X が起動します。(GNOME

各種ドライバのインストール

sudo apt-add-repository ppa:mactel-support/ppa
sudo apt-get update
sudo apt-get upgrade
  • サウンドは、alsamixer を起動し、矢印左右キーで「Front Sp」を選択し、M キーで有効化し、矢印上下キーで音量を上げれば鳴るようになる
  • GUI メニューの、システム管理 → ハードウェア管理 で nvidia のビデオドライバと Broadcom の無線 LAN ドライバを自動で入れてくれる(ここからようやく無線 LAN の出番)
    • 有線 LAN から有効にしているので、有線 LAN が eth0 無線 LAN が eth1 に割り当てられている
    • eth0 と eth1 の名前を入れ替えたい人は /etc/udev/rules.d/70-persistent-net.rules と /etc/network/interfaces を編集して /etc/init.d/networking restart で入れ替える
    • 無線 LAN の設定をするときに、全ユーザーで使えるようにするにチェックを入れておくと、後でテキストログインに変更した後も、自動で接続してくれる

swap 領域の設定

  • swap ファイルを作成する(下記は 4GB)
sudo dd if=/dev/zero of=/swapfile bs=1024 count=4194304
sudo mkswap /swapfile
  • /etc/fstab に追加。ついでにルートパーティションのマウントオプションに noatime,nodiratime 辺りを追記しておく
/swapfile  swap  swap  defaults  0 0

各種ソフトウェアインストール

  • VNC, Google Chrome, 日本語入力の Mozc, Flash Plugin, ターミナル用フォントなど適当に

まとめ

mactel のお陰様で大分楽に Macbook Air への Ubuntu インストールが出来るようになっています。調査には時間がかかりましたが、実際作業を始めたら割とスムーズに行ったと思います。無線 LAN や、nvidia ドライバ、マルチタッチトラックパッドサウンドなどはすぐに使えました。音量調整もファンクションキーから行えます。

不明点

  • GUI 使用中は本体を閉じたり開いたりで問題なくサスペンド・復帰できるのですが、CUI 時に pm-suspend でサスペンドしても復帰する方法が今のところ不明です。
    • とりあえず、X を起動すればサスペンドはできるので、サスペンドをしたい外出時の携帯中は GUI で使用しているので良しとしています。(自宅では開発サーバーとして 他のマシンからアクセスしているのでサスペンドの必要がありません。)
  • ディスプレイ輝度の調整の仕方が分からない
    • 一定時間放置後の自動ディスプレイオフ時に、徐々に輝度が下がって行くので、ACPI 的にはコントロールは出来ている模様
    • xbacklight などでの設定方法が今のところ不明
    • ファンクションキーで制御できるようにしたい
  • 右 Option, 右 Command キーの割り当てを良い感じ変えたい(日本語入力の On/Off など)

上記情報お持ちの方は解決策を教えて頂けると嬉しいです!

感想

  • 蓋開閉でのサスペンドからの復帰が、OSX のように一瞬ではない
    • だが取り立てて遅いという訳ではないので、そこまで気にならない
  • SSD 速い。ログインプロンプトが表示されるまでが、テキストモードだと更に速い。快適。GNOMEFirefox の起動も速い。
  • Linux 開発環境としての使い勝手はかなり良い感じ