読者です 読者をやめる 読者になる 読者になる

opamp_sando's blog

クソザコが割りと適当なことを書くためにある備忘録です。あとたまに普通の日記も書きます

MacBookAirにArchLinuxをデュアルブートしたよ

ArchLinux

grubをblessして呼び出せるようにしたけど、ちょっとわかりにくかったのでごく簡単にメモ。

インストール手順

大まかなインストール手順は次の通り
先にポイントを書いておくと、efigrubを100MB程度のパーティション(ESPではない)にインストールしておき、インストール作業が終了した後、OSXから上記のパーティションを読み出し一旦中身を別のディレクトリに退避。
退避後にそのパーティションをHFS+でフォーマットし、再度退避させておいた中身を戻しblessする。
そのためfstabには注意が必要である。

  • ArchLinux用の領域を予めOSXでディスクユーティリティを使って分けておく
    • ただし、細かい分割はArchで行うので1つのパーティションを用意しておくだけで良い
  • 通常通りUSBなどからInstall ISOを起動する
  • cgdiskなどを使って予め分割したパーティションを一旦削除し、必要なパーティションを分ける
  • フォーマットしマウントする
    • ただし、EFIでのインストールになるがesp(disk0s1)をマウントする必要はない
    • そのかわりに、ブートローダインストール用のパーティションをマウントする(場所は適当に/boot/efiとした)
  • その後pacstrapをして基本パッケージをインストールする
  • genfstabを実行するが、生成されたfstabからブートローダインストール用の100MB程度のパーティション(今回は/boot/efiとした)を除外しておく
  • arch-chrootして通常通りの設定を行う
  • grub-installを実行する
  • grub-mkconfigを行って設定ファイルを生成する(場所は/boot/grub/grub.cfg)
  • すべてのディスクをアンマウントして再起動しOSXを起動する
  • ブートローダをインストールしたパーティションOSXからマウントする(OSXからマウントするためにFATにしておいた)
  • ここまで正しくできていたら中身にはEFIディレクトリがあるはずなのでディレクトリごとコピーして適当な位置に退避させておく
  • ブートローダをインストールしたパーティションをディスクユーティリティからHFS+にフォーマットする
  • フォーマットしたパーティションEFIディレクトリを戻す
  • blessコマンドを実行する。以下に例を示す。
    bless --folder=/Volumes/disk0s4 --file=/Volumes/disk0s4/EFI/grub/grubx64.efi --setBoot

ブートローダをインストールしたパーティションは/dev/disk0s4としbootloader-idは"grub"としたときの例。HFS+なのでフォーマット後自動で/Volumesにマウントされる。

  • インストール完了。ArchLinux及びOSXが正しく起動できることを確認する。
    • Arch起動中にマウントでエラーが起こる場合は/boot/efiのfstabを消し忘れている可能性があるので削除する。
    • 上記のgrubをインストールしたHFS+パーティションはArch上でマウントする必要はない

まとめ

HFS+をLinuxで扱うのは面倒なのではじめはFATでフォーマットし/boot/efiなどにマウントしてeflなgrubをインストール。
その後再起動後OSXでFATをHFS+に変更してblessするという周りくどいというか結構微妙な手法を使っています。
もっといい方法あるのかな???

おまけ(無線LANドライバについて)

標準では無線NICを認識しなかったのでそれについてもメモ。
次のコマンドでNetwork controllerを調べる

$ lspci -k 

これによるとMacBookAirはBroadcomのbcm4360というやつが使われてるっぽい。
で、broadcomのドライバ自体はkernel搭載のものも存在するようだが、どうやらこのbcm4360はサポートされてない様子。
そこでbroadcom-wlというパッケージに含まれるwlモジュールを使う。
これはAURから利用することができる。

$ (sudo) yaourt -S broadcom-wl

としてインストールしたら

$ (sudo) modprobe wl

してあげると

$ ip addr show

すると無線NICが認識されている。

参考URL

https://wiki.archlinux.org/index.php/MacBook_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29

https://wiki.archlinux.org/index.php/GRUB_EFI_Examples

通常のインストール手順は過去の記事を参考...

BIOSでの手順 -> ArchLinux 2012.7.15 iso のインストーラについて - opamp_sando's blog

EFIでの手順 -> UEFIでArchLinuxをインストールする - opamp_sando's blog

無線ドライバについては

https://wiki.archlinux.org/index.php/MacBook_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29#Wi-Fi

https://wiki.archlinux.org/index.php/broadcom_wireless

http://wireless.kernel.org/en/users/Drivers/b43/#Supported_devices

Firefox ブラウザ無料ダウンロード