2015-05-24

Void LinuxのEFI無しライブイメージを作成する。

前回のライブイメージ作成ではPC-BIOSとUEFIの両方に対応しているisoイメージが出来上がります。


個人的な事情でEFIも対応しているディスクだと色々と都合が悪いのでEFI無しのisoイメージを作りたいので方法が無いか調べてみました。
mkliveのコマンドオプションにはEFIに関するオプションは無いのでスクリプトを直接変更する必要があります。

mklive.shをテキストエディタで開くとあれこれ書いてあります。

readonly REQUIRED_PKGS="base-files libgcc dash coreutils sed tar gawk syslinux grub-x86_64-efi squashfs-tools xorriso"

こんな行を見つけました。
イメージ作成に使うパッケージです。grub-x86_64-efiが書かれているのでこれをPC-BIOSのgrubに書き換え・・・てはダメです。
この後の行にGRUB EFIの設定を行うスクリプトが書かれており編集が大変になります。

Arch LinuxのWikiを見ると配布されているディスクからEFI起動を取り除く方法が書かれているのでそれを参考にしながらたぶんこれだろうと思われる部分を削除します。

 generate_iso_image() {
    xorriso -as mkisofs \
        -iso-level 3 -rock -joliet \
        -max-iso9660-filenames -omit-period \
        -omit-version-number -relaxed-filenames -allow-lowercase \
        -volid "VOID_LIVE" \
        -eltorito-boot boot/isolinux/isolinux.bin \
        -eltorito-catalog boot/isolinux/boot.cat \
        -no-emul-boot -boot-load-size 4 -boot-info-table \
        -eltorito-alt-boot -e boot/grub/efiboot.img -isohybrid-gpt-basdat -no-emul-boot \
        -isohybrid-mbr $SYSLINUX_DATADIR/isohdpfx.bin \
        -output "$CURDIR/$OUTPUT_FILE" "$IMAGEDIR" || die "Failed to generate ISO image"
}


赤字の部分まるごと1行が必要無さそうなので削除してファイルを保存します。

でディスクイメージを作成。
$ sudo ./mklive.sh -k jp106 -p "dialog"

なんか出力を観てみるとEFI関係で色々メッセージが出ているのですがとりあえずディスクが完了しました。
-p "dialog"はvoid-installerが必要としているパッケージで、そのままだとインストールされていないので追加しています。

ちゃんと起動できるのか確認してみます。
VMware Playerで環境を作成。初期設定時はBIOS起動なので出来上がったディスクで起動させてみたところライブ起動しました。

でEFIはVMware Playerの拡張子が.vmxのファイルをエディタを開きfirmware = "efi"を追加後に保存して環境を起動させるとEFI起動になります。
この環境でイメージを起動させたら起動せずVMwareのロゴ画面で停止しました。

とりあえずは作成に成功したっぽいです。

動作確認は仮想環境でのインストールにも成功しましたし、初代Mac Proでも起動時に認識されてブートメニューライブ起動可能、インストールも行えました。



0 件のコメント:

コメントを投稿