インストールはLive DVDから行いました。optionキーを押しながら起動してディスクからブートすると、オプションをいろいろ選べますが、今回はBoot (Basic Video)を選びました。普通のBootを選ぶと途中でフリーズします。ちなみに、Boot (Basic Video)を選んでもフル解像度で表示されます。
ウィザードにしたがってインストールを完了して再起動しても、通常のブートローダーを使っているとMountain Lionが起動してしまいます。
そこで、一旦Mac OSの方からrEFItをインストールし、さらに手動で/efi/refit/enable.shを実行してから再起動しました。すると、ボーン!の音の後にrEFItが表示され、選択肢からLinuxのペンギンを選ぶと、正常にCentOSを起動できました。
【追記 2012/11/28】
まず、この段階でカーネルを3.6.7にアップデートしました。
(カーネルを新しくしないと、ドライバをmakeするときにエラーが発生します)
しかし、1101HAとは違ってWiFiが認識されません。そこで、ドライバのインストールが必要となります。今回の備忘録はこのドライバのコンパイル方法についてです。
とりあえずlspciしてみると、Mid 2009のMBPにはBroadcom製の無線LANユニットが入ってるようでした。
04:00.0 Network controller: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller (rev 01)
「BCM4322 Linux」でググると、Broadcomの公式ページがヒットします。幸いなことに、Broadcom社はLinux用のドライバを用意してくれています。
http://ja.broadcom.com/support/802.11/linux_sta.php
今回はx86_64のCentOSを入れたので、64bitのドライバ(5.100.82.112)をダウンロードしました。
公式にあるREADME.txtには手順が書いてあるのですが、普通にmakeするとコンパイルエラーになります(asm/system.hが無いと言われる)。
いろいろググった結果、
http://forums.fedoraforum.org/archive/index.php/t-280821.html
がヒットしました。ffrbwさんの書き込みに感謝です。ちなみにこの人も、自分はネットからパッチを取ってきただけ、と言っていますね(笑)
結論としては、ソースコードを一部いじればOKみたいです。
【準備 & コンパイル手順】
- su
- yum install gcc kernel-devel-`uname -r` -y
- wget http://ja.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_112.tar.gz
- mkdir hybrid_wl
- cd hybrid_wl
- tar xzvf ../hybrid-postsrc_x86_64-v5_100_82_112.tar.gz
- vim src/wl/sys/wl_linux.c
・43行目をコメントアウト
//#include <asm/system.h>
・.ndo_set_multicast_list を .ndo_set_rx_mode に置換 - :wq
- make
- lsmod | grep "b43\|ssb\|bcma\|wl"
- 列挙されたすべてのモジュールをrmmodする。
rmmod b43
rmmod mac80211
rmmod cfg80211
rmmod ssb
rmmod mmc_core - modprobe lib80211
- insmod wl.ko
/etc/rc.local に上のコマンド(手順2から4までのもの)を追記します。ただし、wl.koはフルパスで指定してください。
以上で作業は終了です。お疲れさまでした。やっとネットが使えます。
ちなみに最初の数秒はDisconnectedですが、30秒もしないうちに近くのAPを検出してくれます。
【追記 2012/11/28】
kernel-develをインストールするコマンドを訂正し、また、gccも必要なので追加しました。
訂正前: yum install kernel-devel -y
訂正後: yum install gcc kernel-devel-`uname -r` -y
【追記 2012/11/28】
起動時に自動的に無線LANのドライバを読み込ませる方法を書き足しました。
0 件のコメント:
コメントを投稿