Skip to content

Instantly share code, notes, and snippets.

@novi
Created January 18, 2012 05:50
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save novi/1631319 to your computer and use it in GitHub Desktop.
Save novi/1631319 to your computer and use it in GitHub Desktop.
Arch LinuxをMacBook Air 3,2のSDカードにインストールメモ

Arch LinuxをMacBook Air 3,2のSDカードにインストールメモ

Bootcampの領域を壊さずに内蔵SDカードリーダーのSDメモリへインストールしてみた。

パーティション

  • /dev/disk0s1: EFIシステム
  • /dev/disk0s2: HFS+ OS X Lion (rEFItをインストール済)
  • /dev/disk0s3: Recovery (OS X Lion)
  • /dev/disk0s4: Windows 7

Linuxから見て

  • /dev/sda: 内蔵SSD
  • /dev/sdb: 内蔵SDリーダー

ブートローダ

インストールの前にGrub2ブートローダを準備する。archbootでインストールと同時にインストールしてしまえば良い。 新しい機種の場合、refitから直接SDのmbrから起動できる場合もある。

  • 起動のプロセスは rEFIt → sdaのMBRのGrub2 → sdb(SDカード)MBRのGrub2 → kernel という順番

Grubのインストール先としてEFIシステムパーティション(sda1)を使う。 このパーティションを適当にマウントして、

# grub_bios-install --force --boot-directory=/media/efi /dev/sda

でOK。WindowsのMBRが上書きされてしまうが問題ない(後述)。

EFIシステムパーティションはFATなので

$ sudo mount -t msdos /dev/disk0s1 /Volumes/efi (OS X)
# mount -t vfat /dev/sda1 /media/efi (Linux)

でマウント可能。 設定ファイル grub.cfg はこんな感じ。menuentry SD MBR で SDカードのMBRから起動。 Windows 7はこの設定でWindowsのブートローダを起動できる。

menuentry "SD MBR" {
  set root=(hd1)
  chainloader (hd1)+1
}

menuentry "Microsoft Windows 7 BIOS-MBR" {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root=(hd0,gpt4) 
    ntldr /bootmgr
}

インストール

  • archbootのLiveCDからブートしてインストール。パッケージはbaseのみでOK。これでワイヤレスに接続できる。
  • cgdiskがGPT対応, cfdiskがMBR用
  • SDカードからUSBブートする感覚でMBRとして普通にインストール。ブートローダはGrub2-Biosを使った。たぶんGrub-Legacyでもいいかも。(EFIではないので注意。後述)

インストール後はこれでワイヤレスに接続できる。

# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.backup
# wpa_passphrase mywireless_ssid "secretpassphrase" > /etc/wpa_supplicant.conf
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B (次回起動時はここから)
# dhcpcd wlan0

Xorg

  1. xorgとドライバ類(nvidia nvidia-utils)を入れる
  2. xorg-xinit, xorg-twm, xterm を入れる (startx等を含む)
  3. $ X -configure でxorg.cong.newが生成されるので確認して、/etc/X11/xorg.confに移す
  4. $ startx で起動。xtermが出る
    • nvidiaドライバの場合はnvidiaのロゴが表示される
    • glxgearsでfpsを確認すると8000ほど。glxinfoでvendorがnvidiaとなる。

glxgears, glxinfo はmesa-demosパッケージ

EFIを使う (!!!Obsolete)

インストール時にGrub2 EFI x86-64を選ぶこともできる。これはMacのEFIシステムからそのまま起動できるものだが、今回はnvidiaドライバが読み込めなかった。

  • 上のブートローダの準備は要らない (内蔵SSDにrEFItも要らない)
  • SDカードをOS XのディスクユーティリティでGUIDパーティションとして設定する。次のような構成にする。
    • OS X : 100MB : rEFItをインストール (Mac標準のブート選択画面を使うなら不要)
    • FAT : 残り : Linux /
  • インストール前にこのFAT領域をcgdiskでTypeをLinux(83)にしておく
  • マウントポイントは
    • /dev/sdb1 : /boot : vfat (これがSDカードのEFIシステムパーティション) !!!フォーマットしないこと
    • /dev/sdb3 : / : ext4
  • ブートローダでGrub2 EFI x64 を選択。
  • 終わったら、/boot/grub/grub.efi を /boot/EFI/BOOT/BOOTX64.EFI にコピーする。Mac標準のブート選択画面(optionを押しながら起動)でSDカードを選べる。
  • 起動時にnouveauドライバが読み込まれて、画面が崩れるのでカーネル起動オプションにmodprobe.blacklist=nouveauを追加
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment