忍者ブログ

podブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

新型MacbookAirにてUbuntu11.04を快適に使う方法

昨日新型MBAでネイティブ解像度が表示できたので感激していろいろ書き込んだが、よくよく触ってたりしてみるとまだoneiric ocelotは時期尚早かと思えてきた。

なぜoneiricを使わないかというと、oneiricだとまだエラーやsegmentation faultgが多すぎて使い物にならないから。すぐに問題が。。。という表示で正直使えないと思った。これは今後改善していくはずなので正式版発表になったらまた状況も違ってくるでしょうけど。

あとはunityが嫌いというか使いにくい気がするのも理由の一つ。nattyではsegfaultエラーはいまのところは皆無だ。

ハードウェアはすべてが使える状態になる(ネイティブ解像度、trackpad、オーディオ、bluetooth, サスペンドと復帰、キーボードバックライト、外部ディスプレイ出力)
 
一応誰か参考にするかもしれないから実行した手順を書いておきます。

手順
  • Ubuntu 11.04 64bitをUSBメモリbootableにする
※MACでもlinuxでも作れるんだけどWindows上でUSB Creatorを使ったやり方が良い気がする。
  • MAC上で予め256GBのSSDをディスクツールで半分にしておく。
  • MAC上でRefitを導入し、ブート時にOSが選択できるようにしておく。
  • 作成したUSBメモリを差して起動しUSBのlinuxをブートさせる。
この起動時にF6などのオプションで「nomodeset」を指定する。
これをやらないと起動時にブラックスクリーンで何もできなくなってしまう。
 
  • /dev/sda3と/dev/sda4に切って、それぞれスワップとext4の/に設定。
fdisk的にはこんな感じになる。
デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1               1          26      204819+  ee  GPT
/dev/sda2              26       15668   125640856   af  HFS / HFS+
/dev/sda3           30267       30516     2000000+  82  Linux スワップ / Solaris
/dev/sda4   *       15668       30267   117271484+  83  Linux
 
ブートローダのgrubのインストール先は/パーティションの/dev/sda4にする。
あとは普通にインストールを進める。最後にインストールが終わり、
    「再起動?もしくはこのまま使う?」
というダイアログがでてくるが、ここではまだ何も押さずに端末を立ち上げる。
で、コマンドをうつ。
mount --bind /dev /target/dev
mount --bind /dev/pts /target/dev/pts
mount --bind /sys /target/sys
mount --bind /proc /target/proc
chroot /target
これで/dev/sda4を/として状況を作ってその環境下で、
vi /etc/default/grub
でなどで下記の部分を以下のように修正する。
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset reboot=pci"
書き換えが完了後、update-grubを実行する。なんか見つからないとかのエラーが出るが気にしなくて大丈夫。
で、再起動する。
 
  • Refitでlinuxが選択できるようになっているのでこれで起動させると、ubuntu 11.04が起動する。
この導入した直後の時点では可動するのはWifiデバイスくらい。
ディスプレイも1024x800の状態になっている。
 
ここから本格的な導入作業になる。
 
  • Wifiを有効にして最新の状態にアップグレードする。
  • ubuntuのどこかのリポジトリから3.0.0-11.18-genericのkernel, linux-imageイメージを導入しておく。
リブートを行い、3.0.0-***系のカーネルで再起動する。
 
※スクリプトの最初のほうで、11.10をチェックしてしまうのでそのままでは使えない。

aptitude, build-essential debhelper gitなどをインストール。hid-apple, bcm5974, btusb, i915あたりのカーネルモジュールをコンパイルして入れ替える。他にはmactel, mtrack, dispad, touchegg、などが導入され、facetimeのファームウェアを抜き出したりる。
 
※.Xmodmapが導入されるが、.xmodmaprcにリネームしたほうがいい。
 
/etc/modulesには
coretemp
hid_apple
を追記、
/etc/modprobe.d/hid_apple.confには
options hid_apple fnmode=2
/etc/modprobe.d/alsa-base.confには
options snd-hda-intel model=intel-mac-auto
を追記(model=mba32と記述があったがこれでは動作しなかった)
 
alsamixerでsurroundのミュートを解除しておく(Mキーを押す)
 
iccプロファイルを
sudo cp /media/Mac\ OS/Library/ColorSync/Profiles/Displays/Color\ LCD-00000610-0000-9CDF-0000-0000042737C0.icc
などで抜き出して利用するらしい。

肝心の解像度の部分は4で一度書き換えたGRUB_CMDLINE_LINUX_DEFAULTの部分を、
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.i915_enable_rc6=1"
と書き換えて、nomodesetは除去する(これで解像度が1440x900にピッタリになる)。このあたりで再起動すれば完璧な状態となる。
 
 

拍手[0回]

PR