commit 616443c28d7d9f50ced4ae9484284089e5e27c31
Author: Jack Reed <jreed(a)redhat.com>
Date: Tue Mar 27 16:06:03 2012 +1000
added PXE boot configuration procedures
en-US/pxe-server-config-bios.xml | 139 ++++++++++++++++++++++++++++++++++++++
en-US/pxe-server-config-efi.xml | 124 +++++++++++++++++++++++++++++++++
en-US/pxe-server-manual.xml | 12 +++-
3 files changed, 273 insertions(+), 2 deletions(-)
---
diff --git a/en-US/pxe-server-config-bios.xml b/en-US/pxe-server-config-bios.xml
new file mode 100644
index 0000000..141217b
--- /dev/null
+++ b/en-US/pxe-server-config-bios.xml
@@ -0,0 +1,139 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Installation_Guide.ent">
+%BOOK_ENTITIES;
+]>
+
+<section id="s1-netboot-pxe-config-bios">
+ <title>Configuring for BIOS</title>
+ <procedure>
+ <step>
+ <para>
+ If <application>tftp-server</application> is not yet installed, run
<command>yum install tftp-server</command>.
+ </para>
+ </step>
+ <step>
+ <para>
+ In the <application>tftp-server</application> config file at
<filename>/etc/xinet.d/tftp</filename>, change the
<parameter>disabled</parameter> parameter from
<literal>yes</literal> to <literal>no</literal>.
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Configure your DHCP server to use the boot images packaged with SYSLINUX. (If you
do not have a DHCP server installed, refer to the <citetitle>DHCP
Servers</citetitle> chapter in the <citetitle>Fedora Deployment
Guide</citetitle>.)
+ </para>
+ <para>
+ A sample configuration in <filename>/etc/dhcp/dhcpd.conf</filename>
might look like:
+ </para>
+<screen>
+ option space pxelinux;
+ option pxelinux.magic code 208 = string;
+ option pxelinux.configfile code 209 = text;
+ option pxelinux.pathprefix code 210 = text;
+ option pxelinux.reboottime code 211 = unsigned integer 32;
+
+ subnet 10.0.0.0 netmask 255.255.255.0 {
+ option routers 10.0.0.254;
+ range 10.0.0.2 10.0.0.253;
+
+ class "pxeclients" {
+ match if substring (option vendor-class-identifier, 0, 9) =
"PXEClient";
+ next-server 10.0.0.1;
+
+ if option arch = 00:06 {
+ filename "pxelinux/bootia32.efi";
+ } else if option arch = 00:07 {
+ filename "pxelinux/bootx64.efi";
+ } else {
+ filename "pxelinux/pxelinux.0";
+ }
+ }
+
+ host example-ia32 {
+ hardware ethernet XX:YY:ZZ:11:22:33;
+ fixed-address 10.0.0.2;
+ }
+ }
+</screen>
+ </step>
+
+ <step>
+ <para>
+ You now need the <filename>pxelinux.0</filename> file from the
SYSLINUX package installed with Fedora. Create a <filename>pxelinux</filename>
directory within <filename>tftpboot</filename> and copy
<filename>pxelinux.0</filename> into it:
+ </para>
+<screen>
+<command>mkdir /var/lib/tftpboot/pxelinux</command>
+<command>cp /usr/share/syslinux/pxelinux.0
/var/lib/tftpboot/pxelinux</command>
+</screen>
+ </step>
+
+ <step>
+ <para>
+ Create a <filename>pxelinux.cfg</filename> directory within
<filename>pxelinux</filename>:
+ </para>
+ <screen><command>mkdir
/var/lib/tftpboot/pxelinux/pxelinux.cfg</command></screen>
+ </step>
+
+ <step>
+ <para>
+ Add a config file to this directory. The file should either be named
<filename>default</filename> or named after the IP address. For example, if
your machine's IP address is 10.0.0.1, the filename would be
<filename>0A000001</filename>.
+ </para>
+ <para>
+ A sample config file at
<filename>/var/lib/tftpboot/pxelinux/pxelinux.cfg/default</filename> might
look like:
+ </para>
+<screen>
+default vesamenu.c32
+prompt 1
+timeout 600
+
+display boot.msg
+
+label linux
+ menu label ^Install or upgrade an existing system
+ menu default
+ kernel vmlinuz
+ append initrd=initrd.img
+label vesa
+ menu label Install system with ^basic video driver
+ kernel vmlinuz
+ append initrd=initrd.img xdriver=vesa nomodeset
+label rescue
+ menu label ^Rescue installed system
+ kernel vmlinuz
+ append initrd=initrd.img rescue
+label local
+ menu label Boot from ^local drive
+ localboot 0xffff
+label memtest86
+ menu label ^Memory test
+ kernel memtest
+ append -
+</screen>
+ <para>
+ For instructions on how to specify the installation source, refer to <xref
linkend="s2-x86-starting-bootopts" />
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Copy the splash image into your <command>tftp</command> root
directory:
+ </para>
+ <screen><command>cp /boot/grub/splash.xpm.gz
/var/lib/tftpboot/pxelinux/splash.xpm.gz</command></screen>
+ </step>
+
+ <step>
+ <para>
+ Copy the boot images into your <command>tftp</command> root directory:
+ </para>
+ <screen><command> cp
/<replaceable>path/to</replaceable>/x86_64/os/images/pxeboot/{vmlinuz,initrd.img}
/var/lib/tftpboot/pxelinux/rawhide-x86_64/</command></screen>
+ </step>
+
+ <step>
+ <para>
+ Reboot the system, and select the network device as your boot device when
prompted.
+ </para>
+ </step>
+
+ </procedure>
+
+ </section>
diff --git a/en-US/pxe-server-config-efi.xml b/en-US/pxe-server-config-efi.xml
new file mode 100644
index 0000000..3ecb61d
--- /dev/null
+++ b/en-US/pxe-server-config-efi.xml
@@ -0,0 +1,124 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Installation_Guide.ent">
+%BOOK_ENTITIES;
+]>
+
+<section id="s1-netboot-pxe-config-efi">
+ <title>Configuring for EFI</title>
+
+ <procedure>
+ <step>
+ <para>
+ If <application>tftp-server</application> is not yet installed, run
<command>yum install tftp-server</command>.
+ </para>
+ </step>
+ <step>
+ <para>
+ In the <application>tftp-server</application> config file at
<filename>/etc/xinet.d/tftp</filename>, change the
<parameter>disabled</parameter> parameter from
<literal>yes</literal> to <literal>no</literal>.
+ </para>
+ </step>
+ <step>
+ <para>
+ Create a directory path within <filename>tftpboot</filename> for the EFI
boot images, and then copy them from your boot directory:
+ </para>
+<screen>
+<command>mkdir /var/lib/tftpboot/pxelinux</command>
+<command>mkdir /var/lib/tftpboot/pxelinux/bootx64.efi</command>
+<command>cp /boot/efi/EFI/redhat/grub.efi
/var/lib/tftpboot/pxelinux/bootx64.efi</command>
+</screen>
+ </step>
+
+ <step>
+ <para>
+ Configure your DHCP server to use the EFI boot images packaged with GRUB. (If you
do not have a DHCP server installed, refer to the <citetitle>DHCP
Servers</citetitle> chapter in the <citetitle>Fedora Deployment
Guide</citetitle>.)
+ </para>
+ <para>
+ A sample configuration in <filename>/etc/dhcp/dhcpd.conf</filename>
might look like:
+ </para>
+<screen>
+ option space PXE;
+ option PXE.mtftp-ip code 1 = ip-address;
+ option PXE.mtftp-cport code 2 = unsigned integer 16;
+ option PXE.mtftp-sport code 3 = unsigned integer 16;
+ option PXE.mtftp-tmout code 4 = unsigned integer 8;
+ option PXE.mtftp-delay code 5 = unsigned integer 8;
+ option arch code 93 = unsigned integer 16; # RFC4578
+
+ subnet 10.0.0.0 netmask 255.255.255.0 {
+ option routers 10.0.0.254;
+ range 10.0.0.2 10.0.0.253;
+
+ class "pxeclients" {
+ match if substring (option vendor-class-identifier, 0, 9) =
"PXEClient";
+ next-server 10.0.0.1;
+
+ if option arch = 00:06 {
+ filename "pxelinux/bootia32.efi";
+ } else if option arch = 00:07 {
+ filename "pxelinux/bootx64.efi";
+ } else {
+ filename "pxelinux/pxelinux.0";
+ }
+ }
+
+ host example-ia32 {
+ hardware ethernet XX:YY:ZZ:11:22:33;
+ fixed-address 10.0.0.2;
+ }
+ }
+</screen>
+ </step>
+
+ <step>
+ <para>
+ Create a <filename>pxelinux.cfg</filename> directory within
<filename>pxelinux</filename>:
+ </para>
+ <screen><command>mkdir
/var/lib/tftpboot/pxelinux/pxelinux.cfg</command></screen>
+ </step>
+
+ <step>
+ <para>
+ Add a config file to this directory. The file should either be named
<filename>efidefault</filename> or named after the IP address. For example, if
your machine's IP address is 10.0.0.1, the filename would be
<filename>0A000001</filename>.
+ </para>
+ <para>
+ A sample config file at
<filename>/var/lib/tftpboot/pxelinux/pxelinux.cfg/efidefault</filename> might
look like:
+ </para>
+<screen>
+default=0
+timeout=1
+splashimage=(nd)/splash.xpm.gz
+hiddenmenu
+title RHEL
+ root (nd)
+ kernel /rawhide-x86_64/vmlinuz
+ initrd /rawhide-x86_64/initrd.img
+</screen>
+ <para>
+ For instructions on how to specify the installation source, refer to <xref
linkend="s2-x86-starting-bootopts" />
+ </para>
+ </step>
+
+ <step>
+ <para>
+ Copy the splash image into your <command>tftp</command> root
directory:
+ </para>
+ <screen><command>cp /boot/grub/splash.xpm.gz
/var/lib/tftpboot/pxelinux/splash.xpm.gz</command></screen>
+ </step>
+
+ <step>
+ <para>
+ Copy the boot images into your <command>tftp</command> root directory:
+ </para>
+ <screen><command> cp
/<replaceable>path/to</replaceable>/x86_64/os/images/pxeboot/{vmlinuz,initrd.img}
/var/lib/tftpboot/pxelinux/rawhide-x86_64/</command></screen>
+ </step>
+
+ <step>
+ <para>
+ Reboot the system, and select the network device as your boot device when
prompted.
+ </para>
+ </step>
+
+ </procedure>
+
+ </section>
diff --git a/en-US/pxe-server-manual.xml b/en-US/pxe-server-manual.xml
index dd5039c..386a3a6 100644
--- a/en-US/pxe-server-manual.xml
+++ b/en-US/pxe-server-manual.xml
@@ -68,9 +68,9 @@
The next step is to copy the files necessary to start the installation to the
<command>tftp</command> server so they can be found when the client requests
them. The <command>tftp</command> server is usually the same
server as the network server exporting the installation tree.
</para>
-
+
<para>
- To copy these files, run the <application>Network Booting
Tool</application> on the NFS, FTP, or HTTP server. A separate PXE server is not
necessary.
+ BIOS and EFI configuration differs for this procedure.
</para>
<!-- This next section has been commented out because system-config-netboot has been
left out of the distro.
@@ -263,7 +263,15 @@
For more information on command line options available for the
<command>pxeos</command> command, refer to the
<command>pxeos</command> man page.
</para>
</section> -->
+
+ <xi:include href="pxe-server-config-bios.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="pxe-server-config-efi.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
</section>
+
+
+
<section id="s1-netboot-add-hosts">
<title>Adding PXE Hosts</title>
<indexterm significance="normal">