Changes between Version 2 and Version 3 of Developers/inagaki


Ignore:
Timestamp:
2014/09/05 15:36:46 (10 years ago)
Author:
inagaki
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Developers/inagaki

    v2 v3  
    55!MacBook Pro (Retina, 13-inch, Late 2013) に Vine Linux 6.2 をインストール→Seed化した話をメモる予定。 
    66 
    7 メインパーティションに Mac OSX を維持しつつ、他のパーティションに Vine Linux 環境を構築します。昨今のスペックのPCであれば、仮想化環境上にLinux環境を構築しても実用には耐え得ると思うのですが、!MacBook Pro に搭載された Haswell でのベンチマークが必要かつ、他に実機がないという状況が生じたので(笑)トライに至りました。 
     7メインパーティションに Mac OS X を維持しつつ、他のパーティションに Vine Linux 環境を構築します。昨今のスペックのPCであれば、仮想環境上にLinux環境を構築しても実用には耐え得ると思うのですが、!MacBook Pro に搭載された Haswell でのベンチマークが必要かつ、他に実機がないという状況が生じたので(笑)トライに至りました。 
    88 
    99VIne Linux 6.2 であればインストール自体はつつがなく進むのですが、Mac 標準の起動ボリューム選択や rEFInd では、インストールパーティションの先頭セクタに書き込まれた GRUB ブートローダの認識(読み込み?)に失敗して停止してしまいます(先頭パーティションにインストールした場合は起動できるようですが、未挑戦なのでここでは割愛)。そこで、!MacBook Pro の EFI パーティションに GRUB2 をインストールし、その GRUB2 からインストールパーティションのカーネルイメージを読み込むことでこの問題を回避します。 
     
    2121 Vine Linux インストールCD/DVD/USBメモリ:: そら必要ですわな。私は Vine Linux 6.2.1 (x86_64) を USBメモリに書き込んだものを使いました。 
    2222 
    23  rEFInd:: マルチブート環境を構築するためのブートマネージャ。 
     23 [http://www.rodsbooks.com/refind/ rEFInd]:: マルチブート環境を構築するためのブートマネージャ。 
    2424 
    2525 GRUB2:: rEFIndから呼び出します。GRUB2経由でVineのカーネルを読み込みます。 
    2626 
    27  Linuxマシン:: GRUB2のブートローダのビルドに必要です。つまり、真に !MacBook しかない環境だと実現できません(涙)。 
     27 Linuxマシン:: GRUB2のブートローダのビルドに必要です。手元に !MacBook しかない場合は・・・仮想環境を構築してLinux環境を用意してください(非仮想環境を目指しているのに仮想環境を用いるという倒錯感を味わえるかも)。 
    2828 
    2929=== パーティションを切る 
    30 Vine Linux をインストールするための領域を適宜確保してください。OSX 標準のディスクユーティリティで十分。私はインストールパーティションとスワップパーティションを作りました。 
     30Vine Linux をインストールするための領域を適宜確保してください。OS X 標準のディスクユーティリティで十分。私はインストールパーティションとスワップパーティションを作りました。 
    3131 
    32 === rEFInd のインストール 
     32=== [http://www.rodsbooks.com/refind/ rEFInd] のインストール 
     33OS X の EFI パーティションにインストールします。rEFInd のインストール方法については、既にインターネット上に数多の解説があるので詳細は割愛はしますが、binary zip 版(本稿執筆時点のバージョンは 0.8.3)をダウンロード、解凍して 
     34{{{ 
     35 $ sudo ./install.sh 
     36}}} 
     37で /EFI ディレクトリ以下にインストールされるでしょう。 
    3338 
    3439=== Vine Linux のインストール 
     40用意したパーティションに Vine Linux をインストールします。私の !MacBook ではグラフィカルインストーラで問題なくインストールができました。ファイルシステムは ext3 を利用しました(ext4は試してません)。インストーラはインストールパーティションの先頭セクタに GRUB(バージョン1)をインストールしますが、最終的にこれは使用しません(当然ですが、MBRを上書きしないように注意)。 
     41 
     42インストールが終わって再起動すると、rEFInd からインストールした Vine Linux のパーティションが選択できるようになりますが、選択しても起動できません。もう少し我慢してください。 
    3543 
    3644=== GRUB2 の EFI パーティションへのインストール・設定 
     45Linux マシン上で、[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 
     52make 完了後に 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 
     59OS 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 がないのでシェルに落ちるはず。 
    3772 
    3873=== 無線ドライバのインストール 
     74 
     75=== 参考にしたサイト 
     76https://help.ubuntu.com/community/UEFIBooting