v2 | v3 | |
---|---|---|
5 | 5 | !MacBook Pro (Retina, 13-inch, Late 2013) に Vine Linux 6.2 をインストール→Seed化した話をメモる予定。 |
6 | 6 | |
7 | メインパーティションに Mac OS |
|
7 | メインパーティションに Mac OS X を維持しつつ、他のパーティションに Vine Linux 環境を構築します。昨今のスペックのPCであれば、仮想環境上にLinux環境を構築しても実用には耐え得ると思うのですが、!MacBook Pro に搭載された Haswell でのベンチマークが必要かつ、他に実機がないという状況が生じたので(笑)トライに至りました。 | |
8 | 8 | |
9 | 9 | VIne Linux 6.2 であればインストール自体はつつがなく進むのですが、Mac 標準の起動ボリューム選択や rEFInd では、インストールパーティションの先頭セクタに書き込まれた GRUB ブートローダの認識(読み込み?)に失敗して停止してしまいます(先頭パーティションにインストールした場合は起動できるようですが、未挑戦なのでここでは割愛)。そこで、!MacBook Pro の EFI パーティションに GRUB2 をインストールし、その GRUB2 からインストールパーティションのカーネルイメージを読み込むことでこの問題を回避します。 |
… | … | |
21 | 21 | Vine Linux インストールCD/DVD/USBメモリ:: そら必要ですわな。私は Vine Linux 6.2.1 (x86_64) を USBメモリに書き込んだものを使いました。 |
22 | 22 | |
23 | |
|
23 | [http://www.rodsbooks.com/refind/ rEFInd]:: マルチブート環境を構築するためのブートマネージャ。 | |
24 | 24 | |
25 | 25 | GRUB2:: rEFIndから呼び出します。GRUB2経由でVineのカーネルを読み込みます。 |
26 | 26 | |
27 | Linuxマシン:: GRUB2のブートローダのビルドに必要です。 |
|
27 | Linuxマシン:: GRUB2のブートローダのビルドに必要です。手元に !MacBook しかない場合は・・・仮想環境を構築してLinux環境を用意してください(非仮想環境を目指しているのに仮想環境を用いるという倒錯感を味わえるかも)。 | |
28 | 28 | |
29 | 29 | === パーティションを切る |
30 | Vine Linux をインストールするための領域を適宜確保してください。OS |
|
30 | Vine Linux をインストールするための領域を適宜確保してください。OS X 標準のディスクユーティリティで十分。私はインストールパーティションとスワップパーティションを作りました。 | |
31 | 31 | |
32 | === rEFInd のインストール | |
32 | === [http://www.rodsbooks.com/refind/ rEFInd] のインストール | |
33 | OS X の EFI パーティションにインストールします。rEFInd のインストール方法については、既にインターネット上に数多の解説があるので詳細は割愛はしますが、binary zip 版(本稿執筆時点のバージョンは 0.8.3)をダウンロード、解凍して | |
34 | {{{ | |
35 | $ sudo ./install.sh | |
36 | }}} | |
37 | で /EFI ディレクトリ以下にインストールされるでしょう。 | |
33 | 38 | |
34 | 39 | === Vine Linux のインストール |
40 | 用意したパーティションに Vine Linux をインストールします。私の !MacBook ではグラフィカルインストーラで問題なくインストールができました。ファイルシステムは ext3 を利用しました(ext4は試してません)。インストーラはインストールパーティションの先頭セクタに GRUB(バージョン1)をインストールしますが、最終的にこれは使用しません(当然ですが、MBRを上書きしないように注意)。 | |
41 | ||
42 | インストールが終わって再起動すると、rEFInd からインストールした Vine Linux のパーティションが選択できるようになりますが、選択しても起動できません。もう少し我慢してください。 | |
35 | 43 | |
36 | 44 | === GRUB2 の EFI パーティションへのインストール・設定 |
45 | Linux マシン上で、[ftp://ftp.gnu.org/gnu/grub/ grub-2.00 のソースコード]をダウンロードして展開、ビルドします。configure オプションは以下のような感じで。 | |
46 | ||
47 | {{{ | |
48 | $ ./configure --with-platform=efi —target=x86_64 --program-prefix="” | |
49 | $ make | |
50 | }}} | |
51 | ||
52 | make 完了後に grub.efi(EFI バイナリ)を作成します。モジュールをどこまで組みこむかはお任せですが、[https://help.ubuntu.com/community/UEFIBooting 参考にしたサイト]の受け売りに従っています(笑)。 -p “” が重要そうです。 | |
53 | ||
54 | {{{ | |
55 | $ cd grub-core | |
56 | $ ../grub-mkimage -O x86_64-efi -d . -o grub.efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot | |
57 | }}} | |
58 | ||
59 | OS X の /EFI フォルダ以下に grub, grub/x86_64-efi フォルダを作成し、できあがった grub.efi を /EFI/grub へ、Linux マシンの grub-core フォルダ内にある組み込まなかったモジュール関連ファイル(*.mod, *.lst) は grub.efi のシェルで組み込めるように OS X の /EFI/grub/x86_64-efi へコピーします。この段階での /EFI 以下のファイル配置は以下のようなイメージです。 | |
60 | {{{ | |
61 | /EFI | |
62 | ├── grub | |
63 | │ ├── grub.efi | |
64 | │ └── x86_64-efi | |
65 | │ ├── *.mod | |
66 | │ └── *.lst | |
67 | ├── refind(rEFInd) | |
68 | └── tools | |
69 | }}} | |
70 | ||
71 | ここで再起動すると、rEFInd から grub.efi が選択できるようになるはずです。grub.cfg がないのでシェルに落ちるはず。 | |
37 | 72 | |
38 | 73 | === 無線ドライバのインストール |
74 | ||
75 | === 参考にしたサイト | |
76 | https://help.ubuntu.com/community/UEFIBooting |