commit dd10c9502bc5471a97e82d1b4c626a2fd30432d8
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 16:22:30 2014 -0600
Grab the syslinux binaries for BIOS clients, and grub+shim for UEFI
en-US/Network_based_Installations.xml | 143 +++++++++++++-------------------
1 files changed, 58 insertions(+), 85 deletions(-)
---
diff --git a/en-US/Network_based_Installations.xml
b/en-US/Network_based_Installations.xml
index 21a7ee6..708d528 100644
--- a/en-US/Network_based_Installations.xml
+++ b/en-US/Network_based_Installations.xml
@@ -151,44 +151,64 @@
</step>
</procedure>
</section>
-
- <step>
- <para>
- Configure your <systemitem
class="protocol">DHCP</systemitem> server to use the boot images
packaged with SYSLINUX. If you do not have a DHCP server installed, see the
<citetitle>&PRODUCT; Networking Guide</citetitle>, available at the
<ulink
url="http://docs.fedoraproject.org/">Fedora Documentation
website</ulink>, for instructions.
- </para>
- </step>
- <step>
- <para>
- You now need the <filename>pxelinux.0</filename>
file from the SYSLINUX package in the ISO image file. To access it, run the following
commands as root:
- </para>
- <screen>
-<prompt>#</prompt> <command>mount -t iso9660
/<replaceable>path_to_image/name_of_image</replaceable>.iso
/<replaceable>mount_point</replaceable> -o loop,ro</command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>cp -pr
/<replaceable>mount_point</replaceable>/Packages/syslinux-<replaceable>version-architecture</replaceable>.rpm
/<replaceable>publicly_available_directory</replaceable></command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>umount
/<replaceable>mount_point</replaceable></command>
- </screen>
- <para>
- Extract the package:
- </para>
- <screen>
-<prompt>#</prompt> <command>rpm2cpio
syslinux-<replaceable>version-architecture</replaceable>.rpm | cpio
-dimv</command>
- </screen>
- </step>
- <step>
- <para>
- Create a <filename>pxelinux/</filename> directory
within <filename>tftpboot/</filename> and copy the
<filename>pxelinux.0</filename> file into it:
- </para>
- <screen>
-<prompt>#</prompt> <command>mkdir
/var/lib/tftpboot/pxelinux</command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>cp
<replaceable>publicly_available_directory</replaceable>/usr/share/syslinux/pxelinux.0
/var/lib/tftpboot/pxelinux</command>
- </screen>
- </step>
- <step>
+ <section id="pxe-bootloader">
+ <title>Providing and configuring bootloaders for PXE
clients</title>
+ <procedure>
+ <title>Getting the bootloader files</title>
+ <step>
+ <para>
+ Get the <package>syslinux</package> bootloader for BIOS
clients.
+ </para>
+ <substeps>
+ <step>
+ <para>
+ Install the <package>syslinux</package> package.
+ </para>
+ <screen>
+ <command>yum install syslinux</command>
+ </screen>
+ </step>
+ <step>
+ <para>
+ Create a directory for the bootloader files, and make them
available there.
+ </para>
+ <screen>
+ <command>mkdir -p <filename
class="directory">/var/lib/tftpboot/pxelinux</filename></command>
+ <command>cp
<filename>/usr/share/syslinux/{pxelinux.0,vesamenu.c32}</filename>
<filename
class="directory">/var/lib/tftpboot/pxelinux/</filename></command>
+ </screen>
+ </step>
+ </substeps>
+ </step>
+ <step>
+ <para>Get the bootloader files for UEFI systems</para>
+ <substeps>
+ <step>
+ <para>
+ Install the <package>shim</package> and
<package>grub2-efi</package> packages. If your server is a BIOS system, you
<emphasis>must install the packages to a temporary install root</emphasis>.
Installing them directly on a BIOS machine will attempt to configure the system for UEFI
booting and cause problems.
+ </para>
+ <screen>
+ <command>yum install shim grub2-efi --installroot=/tmp/fedora
--releasever &PRODVER;</command>
+ </screen>
+ </step>
+ <step>
+ <para>
+ Create a directory for the bootloader files, and make them
available there.
+ </para>
+ <screen>
+ <command>mkdir -p <filename class="directory"
>/var/lib/tftpboot/uefi</filename></command>
+ <command>cp
<filename>/tmp/fedora/boot/efi/EFI/fedora/{shim.efi,grubx64.efi}</filename>
<filename>/var/lib/tftpboot/uefi/</filename></command>
+ </screen>
+ </step>
+ </substeps>
+ </step>
+ </procedure>
+
+
+
+
+
+
+ <step>
<para>
Add a configuration file to the <filename
class="directory">pxelinux/</filename> directory. The file name should
either be <literal>default</literal>, or based on the system's IP address.
For example, if your machine's IP address is 10.0.0.1, the file name will be
<filename>0A000001</filename>.
</para>
@@ -239,54 +259,7 @@ label local
</para>
</section>
- <section id="sect-network-boot-setup-uefi">
- <title>Configuring a PXE Server for UEFI-based
Clients</title>
- <para>
- The following procedure will prepare the PXE server for booting
UEFI-based AMD64 and Intel 64 systems. For information on BIOS-based systems, see
<xref linkend="sect-network-boot-setup-bios" />.
- </para>
- <procedure>
- <title>Configuring PXE Boot for UEFI-based
Systems</title>
<step>
- <para>
- You now need the <filename>shim.efi</filename>
file from the <package>shim</package> package and the
<filename>grubx64.efi</filename> file from the
<package>grub2-efi</package> package in the ISO image file. To access them,
run the following commands as root:
- </para>
- <screen>
-<prompt>#</prompt> <command>mount -t iso9660
/<replaceable>path_to_image/name_of_image</replaceable>.iso
/<replaceable>mount_point</replaceable> -o loop,ro</command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>cp -pr
/<replaceable>mount_point</replaceable>/Packages/shim-<replaceable>version-architecture</replaceable>.rpm
/<replaceable>publicly_available_directory</replaceable></command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>cp -pr
/<replaceable>mount_point</replaceable>/Packages/grub2-efi-<replaceable>version-architecture</replaceable>.rpm
/<replaceable>publicly_available_directory</replaceable></command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>umount
/<replaceable>mount_point</replaceable></command>
- </screen>
- <para>
- Extract the packages:
- </para>
- <screen>
-<prompt>#</prompt> <command>rpm2cpio
shim-<replaceable>version-architecture</replaceable>.rpm | cpio
-dimv</command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>rpm2cpio
grub2-efi-<replaceable>version-architecture</replaceable>.rpm | cpio
-dimv</command>
- </screen>
- </step>
- <step>
- <para>
- Create a directory within the <filename
class="directory">tftpboot/</filename> directory named <filename
class="directory">uefi/</filename> for the EFI boot images, and then
copy them from your boot directory:
- </para>
- <screen>
-<prompt>#</prompt> <command>mkdir
/var/lib/tftpboot/uefi</command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>cp
<replaceable>publicly_available_directory</replaceable>/boot/efi/EFI/fedora/shim.efi
/var/lib/tftpboot/uefi/</command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>cp
<replaceable>publicly_available_directory</replaceable>/boot/efi/EFI/fedora/grubx64.efi
/var/lib/tftpboot/uefi/</command>
- </screen>
- </step>
- <step>
<para>
Add a configuration file named
<filename>grub.cfg</filename> to the <filename
class="directory">uefi/</filename> directory. A sample configuration
file at <filename>/var/lib/tftpboot/uefi/grub.cfg</filename> might look like:
</para>