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とドライバ類(nvidia nvidia-utils)を入れる
- xorg-xinit, xorg-twm, xterm を入れる (startx等を含む)
$ X -configure
でxorg.cong.newが生成されるので確認して、/etc/X11/xorg.confに移す$ startx
で起動。xtermが出る- nvidiaドライバの場合はnvidiaのロゴが表示される
- glxgearsでfpsを確認すると8000ほど。glxinfoでvendorがnvidiaとなる。
glxgears, glxinfo はmesa-demosパッケージ
インストール時に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
を追加