RHEL6インストールガイドの「EFI用のPXEブートの設定」の記述が嘘っぱちな件


PXEブートを使ってRHEL6/CentOS6のインストールを行おうとしたら、RHEL6の公式ドキュメントに騙された・・・

参照にしたドキュメントは「インストールガイド EFI 用の PXE ブートの設定
(英語版の「30.2.2. Configuring PXE Boot for EFI」も誤っている)

(2015/04/07 英語版/日本語版共に、3の記述は修正されたことを確認)

誤っているところは、以下のところ

3. tftpboot 内に EFI ブートイメージ用のディレクトリパスを作成して、ブートディレクトリからブートイメージをコピーします。
mkdir /var/lib/tftpboot/pxelinux
mkdir /var/lib/tftpboot/pxelinux/bootx64.efi
cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/pxelinux/bootx64.efi

上記手順だと、grub.efiを/var/lib/tftpboot/pxelinux/bootx64.efi/grub.efiに置くことになる。

5. pxelinux 内に pxelinux.cfg ディレクトリを作成します。
mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg

6. このディレクトリに設定ファイルを追加します。ファイル名は、efidefault とするか、または IP アドレスにちなんだ名前を付けます。例えば、マシンの IP アドレスが 10.0.0.1 の場合には、ファイル名を 0A000001 とします。
/var/lib/tftpboot/pxelinux/pxelinux.cfg/efidefault にあるサンプルの設定ファイルは以下のようになります。

何が間違っているか?

「ファイルを置くパス」

正しい手順は、以下の通り


3. tftpboot 内に EFI ブートイメージ用のディレクトリパスを作成して、ブートディレクトリからブートイメージをコピーします。

mkdir /var/lib/tftpboot/pxelinux
cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/pxelinux/bootx64.efi

grub.efiをbootx64.efiという名前で/var/lib/tftpboot/pxelinux/に置く。


5. pxelinux 内に pxelinux.cfg ディレクトリを作成します。
mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg

EFIの場合は、/var/lib/tftpboot/pxelinux/pxelinux.cfg/というディレクトリを作る必要は無い。


6. このディレクトリに設定ファイルを追加します。ファイル名は、efidefault とするか、または IP アドレスにちなんだ名前を付けます。例えば、マシンの IP アドレスが 10.0.0.1 の場合には、ファイル名を 0A000001 とします。
/var/lib/tftpboot/pxelinux/efidefault にあるサンプルの設定ファイルは以下のようになります。

default=0
timeout=1
splashimage=(nd)/splash.xpm.gz
hiddenmenu
title RHEL
        root (nd)
        kernel /rhel6/vmlinuz
        initrd /rhel6/initrd.img

efidefaultというファイルは/var/lib/tftpboot/pxelinux/というディレクトリに置く。
なぜか「/rawhide-x86_64/」と記載されているが、後の記述をみると「/rhel6/」であるべきもの。

参考にしたページ
・Grokbase:[CentOS] PXE booting UEFI
・fedora project:QA:Testcase UEFI pxeboot

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください