[install-guide/F21-rewrite] get the kernel and initrd from the mirrors. No need to download the whole installation image.
by Pete Travis
commit bc29285836d9f93e1c4854058cd4dd87d6e8e910
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 19:12:50 2014 -0600
get the kernel and initrd from the mirrors. No need to download the whole installation image.
the os/images/pxeboot path is new; this should be tested. Also a good idea to ask releng about it, for context.
en-US/Network_based_Installations.xml | 45 +++++++++++++++++++++-----------
1 files changed, 29 insertions(+), 16 deletions(-)
---
diff --git a/en-US/Network_based_Installations.xml b/en-US/Network_based_Installations.xml
index d42def6..21df376 100644
--- a/en-US/Network_based_Installations.xml
+++ b/en-US/Network_based_Installations.xml
@@ -265,29 +265,42 @@ label local
menuentry 'Rescue installed system' --class fedora --class gnu-linux --class gnu --class os {
kernel f&PRODVER;/vmlinuz
- append f&PRODVER;/initrd=initrd.img rescue root=live:http://dl.fedoraproject.org/pub/fedora/linux/releases/&PRODVER;... rescue
+ append f&PRODVER;/initrd=initrd.img rescue root=live:http://download.fedoraproject.org/pub/fedora/linux/releases/&PR... rescue
}
</programlisting>
</step>
</procedure>
</section>
-
- <para>
- Copy the boot images into your <command>uefi/</command> directory:
- </para>
- <screen>
-<prompt>#</prompt> <command>cp /<replaceable>path/to</replaceable>/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/uefi/</command>
- </screen>
- </step>
- </procedure>
+ <section id="pxe-kernel">
+ <title>Getting the kernel and initrd</title>
+ <procedure>
+ <title>Downloading the kernel and initrd</title>
+ <step>
<para>
- After finishing this procedure, the PXE server is ready to start the network installation. You can now start the system you want to install &PRODUCT; on, select PXE Boot when prompted to specify a boot source, and start the network installation.
+ Create a directory for the files.
</para>
- </section>
-
- </section>
-
- </section>
+ <screen>
+ <command>mkdir -p <filename class="directory" >/var/lib/tftpboot/f&PRODVER;</filename></command>
+ </screen>
+ </step>
+ <step>
+ <para>Download the kernel.</para>
+ <screen>
+ <command>
+ wget http://download.fedoraproject.org/pub/fedora/linux/releases/&PRODVER;/Fed... -o <filename>/var/lib/tftpboot/f&PRODVER;/vmlinuz</filename>
+ </command>
+ </screen>
+ </step>
+ <step>
+ <para>Download the initrd</para>
+ <screen>
+ <command>
+ wget http://download.fedoraproject.org/pub/fedora/linux/releases/&PRODVER;/Fed... -o <filename>/var/lib/tftpboot/f&PRODVER;/initrd.img</filename>
+ </command>
+ </screen>
+ </step>
+ </procedure>
+ </section>
<section id="sect-install-server-cobbler">
<para>
For more complex environments, &PRODUCT; offers the <package>cobbler</package> installation server. Tasks like managing kickstart configurtations, coordinating repositories, maintaining dns records, dhcp servers, and even puppet manifests are effectively automated by <package>cobbler</package>.
9 years, 7 months
[install-guide/F21-rewrite] Wrap up the bootloader config section with a grub.cfg example.
by Pete Travis
commit ddfb20accfb33b5a6e450bb8d59c4796616e5824
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 18:15:15 2014 -0600
Wrap up the bootloader config section with a grub.cfg example.
Mostly, this was derived from
http://download.fedoraproject.org/pub//fedora/linux/development/21/x86_64...
although, loading partition-related modules was left out, since we
aren't loading from partitions.
Needs testing!
en-US/Network_based_Installations.xml | 57 +++++++++++++++++++-------------
1 files changed, 34 insertions(+), 23 deletions(-)
---
diff --git a/en-US/Network_based_Installations.xml b/en-US/Network_based_Installations.xml
index ba30bff..d42def6 100644
--- a/en-US/Network_based_Installations.xml
+++ b/en-US/Network_based_Installations.xml
@@ -228,39 +228,50 @@ label server
label rescue
menu label ^Rescue installed system
- kernel vmlinuz
- append initrd=initrd.img rescue root=live:http://dl.fedoraproject.org/pub/fedora/linux/releases/&PRODVER;... rescue
+ kernel f&PRODVER;/vmlinuz
+ append initrd=f&PRODVER;initrd.img rescue ip=dhcp root=live:http://dl.fedoraproject.org/pub/fedora/linux/releases/&PRODVER;... rescue
label local
menu label Boot from ^local drive
localboot 0xffff
</programlisting>
</step>
-
-
-
+ <step>
+ <para>
+ Create a boot menu for UEFI clients at <filename>/var/lib/tftpboot/pxelinux/uefi</filename>.
+ </para>
+ <programlisting>
+ function load_video {
+ insmod efi_gop
+ insmod efi_uga
+ insmod video_bochs
+ insmod video_cirrus
+ insmod all_video
+ }
+ load_video
+ set gfxpayload=keep
+ insmod gzio
+ menuentry 'Install &PRODUCT; 64-bit' --class fedora --class gnu-linux --class gnu --class os {
+ linuxefi f&PRODVER;/vmlinuz ip=dhcp inst.repo=inst.repo=http://download.fedoraproject.org/pub/fedora/linux/re...
+ initrdefi f&PRODVER;/initrd.img
+ }
+
+ menuentry 'Install Fedora &PRODVER; Server' --class fedora --class gnu-linux --class gnu --class os {
+ kernel f&PRODVER;/vmlinuz
+ append initrd=f&PRODVER;/initrd.img ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-ins...
+ }
+ menuentry 'Rescue installed system' --class fedora --class gnu-linux --class gnu --class os {
+ kernel f&PRODVER;/vmlinuz
+ append f&PRODVER;/initrd=initrd.img rescue root=live:http://dl.fedoraproject.org/pub/fedora/linux/releases/&PRODVER;... rescue
+ }
+ </programlisting>
+ </step>
+ </procedure>
+ </section>
- <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>
- <programlisting>
-set timeout=1
- menuentry '&PRODUCT;' {
- linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/&PRODUCT;/&PRODVER;/Server/x86_64/os/
- initrdefi uefi/initrd.img
-}
- </programlisting>
- <important>
- <para>
- The <option>inst.repo=</option> <application>Anaconda</application> option, shown in the example above, must always be used to specify the installation program's image as well as the installation source. Without this option, the installation program will be unable to boot. For more information about boot options for <application>Anaconda</application>, see <xref linkend="sect-boot-options-installer" />.
- </para>
- </important>
- </step>
- <step>
<para>
Copy the boot images into your <command>uefi/</command> directory:
</para>
9 years, 7 months
[install-guide/F21-rewrite] add an example syslinux config. Some remarks with todo in there...
by Pete Travis
commit 60759aab0279d7acba111f7cd70482a45d8b70ef
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 17:49:03 2014 -0600
add an example syslinux config. Some remarks with todo in there...
en-US/Network_based_Installations.xml | 70 +++++++++++++--------------------
1 files changed, 27 insertions(+), 43 deletions(-)
---
diff --git a/en-US/Network_based_Installations.xml b/en-US/Network_based_Installations.xml
index 708d528..ba30bff 100644
--- a/en-US/Network_based_Installations.xml
+++ b/en-US/Network_based_Installations.xml
@@ -203,61 +203,45 @@
</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>
- <para>
- A sample configuration file at <filename>/var/lib/tftpboot/pxelinux/default</filename> might look like:
- </para>
- <programlisting>
+ <procedure>
+ <title>Configuring client bootloaders</title>
+ <step>
+ <para>Create a boot menu for BIOS clients at <filename>/var/lib/tftpboot/pxelinux/default</filename>.</para>
+ <remark>needs adminition about kickstarts here somewhere, and testing of pulling .ks out of cgit</remark>
+ <remark>Need to check if the product media ships different or incompatible initramfsen</remark>
+ <programlisting>
default vesamenu.c32
prompt 1
timeout 600
-display boot.msg
-
label linux
- menu label ^Install system
+ menu label ^Install Fedora &PRODVER; 64-bit
menu default
- kernel vmlinuz
- append initrd=initrd.img ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/Fedora/&PRODVER;/Server/x86_64/os/
-label vesa
- menu label Install system with ^basic video driver
- kernel vmlinuz
- append initrd=initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://10.32.5.1/mnt/archive/Fedora/&PRODVER;/Server/x86_64/os/
+ kernel f&PRODVER;/vmlinuz
+ append initrd=f&PRODVER;/initrd.img ip=dhcp inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/&PR...
+
+label server
+ menu label ^Install Fedora &PRODVER; Server
+ menu default
+ kernel f&PRODVER;/vmlinuz
+ append initrd=f&PRODVER;/initrd.img ip=dhcp ks=https://git.fedorahosted.org/cgit/spin-kickstarts.git/plain/fedora-ins...
+
label rescue
menu label ^Rescue installed system
kernel vmlinuz
- append initrd=initrd.img rescue
+ append initrd=initrd.img rescue root=live:http://dl.fedoraproject.org/pub/fedora/linux/releases/&PRODVER;... rescue
+
label local
menu label Boot from ^local drive
localboot 0xffff
- </programlisting>
- <important>
- <para>
- The <option>inst.repo=</option> <application>Anaconda</application> option, shown in the example above, must always be used to specify the installation program's image as well as the installation source. Without this option, the installation program will be unable to boot. For more information about boot options for <application>Anaconda</application>, see <xref linkend="sect-boot-options-installer" />.
- </para>
- </important>
- </step>
- <step>
- <para>
- Copy the boot images into your <command>tftp/</command> root directory:
- </para>
- <screen>
-<prompt>#</prompt> <command>cp /<replaceable>path/to</replaceable>/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/</command>
- </screen>
- </step>
- </procedure>
- <para>
- After finishing this procedure, the PXE server is ready to start the network installation. You can now start the system you want to install &PRODUCT; on, select PXE Boot when prompted to specify a boot source, and start the network installation.
- </para>
- </section>
+ </programlisting>
+ </step>
+
+
+
+
+
+
<step>
<para>
9 years, 7 months
[release-notes] Created tag 21.04
by Pete Travis
The unsigned tag '21.04' was created.
Tagger: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 17:41:16 2014 -0600
use . instead of - in tags. - is not allowed in spec file versions.
Changes since the last tag '21-02':
Pete Travis (1):
Rookie mistakes: mkdir doesn't do parents unless you tell it to.
9 years, 7 months
[release-notes] Created tag 21-04
by Pete Travis
The lightweight tag '21-04' was created pointing to:
5ab4188... Rookie mistakes: mkdir doesn't do parents unless you tell i
9 years, 7 months
[release-notes] Rookie mistakes: mkdir doesn't do parents unless you tell it to.
by Pete Travis
commit 5ab41885687ebe8ab0577ed569bb4094af3f9f54
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 17:12:50 2014 -0600
Rookie mistakes: mkdir doesn't do parents unless you tell it to.
build/fedora-release-notes.desktop | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/build/fedora-release-notes.desktop b/build/fedora-release-notes.desktop
index fb3244c..82c9469 100644
--- a/build/fedora-release-notes.desktop
+++ b/build/fedora-release-notes.desktop
@@ -4,5 +4,5 @@ Categories=System;Documentation;
GenericName=Release Notes
Type=Application
X-Desktop-File-Install-Version=0.22
-Exec=sh -c "PROFILEDIR=\"\$HOME/.config/epiphany/fedora-release-notes\";[ -d \$PROFILEDIR ] || mkdir \$PROFILEDIR;epiphany --application-mode --profile=\$PROFILEDIR /home/pete/fedora-docs/release-notes/tmp/en-US/html-single/index.html"
+Exec=sh -c "PROFILEDIR=\"\$HOME/.config/epiphany/fedora-release-notes\";[ -d \$PROFILEDIR ] || mkdir -p \$PROFILEDIR;epiphany --application-mode --profile=\$PROFILEDIR /home/pete/fedora-docs/release-notes/tmp/en-US/html-single/index.html"
Icon=fedora-release-notes
9 years, 7 months
[install-guide/F21-rewrite] Grab the syslinux binaries for BIOS clients, and grub+shim for UEFI
by Pete Travis
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>
9 years, 7 months
[install-guide/F21-rewrite] Basic instructions to install and turn on tftpd.
by Pete Travis
commit 212479f936eb57805a42834ceec4b1c78904c6a1
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 15:10:50 2014 -0600
Basic instructions to install and turn on tftpd.
Note: build is still broken here.
en-US/Network_based_Installations.xml | 77 +++++++++++----------------------
1 files changed, 26 insertions(+), 51 deletions(-)
---
diff --git a/en-US/Network_based_Installations.xml b/en-US/Network_based_Installations.xml
index 3c4e54d..21a7ee6 100644
--- a/en-US/Network_based_Installations.xml
+++ b/en-US/Network_based_Installations.xml
@@ -129,19 +129,29 @@
</step>
</procedure>
</section>
- <step>
- <para>
- Install the <package>tftp</package> package. To do this, run the following command as <systemitem class="username">root</systemitem>:
- </para>
- <screen>
-<prompt>#</prompt> <command>yum install tftp-server</command>
- </screen>
- </step>
- <step>
- <para>
- In the <filename>/etc/xinetd.d/tftp</filename> configuration file, change the <parameter>disabled</parameter> parameter from <literal>yes</literal> to <literal>no</literal>.
- </para>
- </step>
+ <section id="pxe-tftpd">
+ <procedure>
+ <title>Installing the tftp server</title>
+ <step>
+ <para>
+ Install the tftp server package.
+ </para>
+ <screen>
+ <command>yum install tftp-server</command>
+ </screen>
+ </step>
+ <step>
+ <para>
+ Start and enable the <systemitem class="resource">tftp socket</systemitem>. <systemitem class="daemon">systemd</systemitem> will automatically start the <systemitem class="daemon">tftpd</systemitem> service when required.
+ </para>
+ <screen>
+ <command>systemctl start tftp.socket</command>
+ <command>systemctl enable tftp.socket</command>
+ </screen>
+ </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.
@@ -223,18 +233,7 @@ label local
<prompt>#</prompt> <command>cp /<replaceable>path/to</replaceable>/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/</command>
</screen>
</step>
- <step>
- <para>
- Enable and start the <systemitem class="service">tftp</systemitem> and <systemitem class="service">xinetd</systemitem> services using the <command>systemctl</command> command.
- </para>
- <screen>
-<prompt>#</prompt> <command>systemctl enable xinetd.service tftp.service</command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>systemctl start xinetd.service tftp.service</command>
- </screen>
- </step>
- </procedure>
+ </procedure>
<para>
After finishing this procedure, the PXE server is ready to start the network installation. You can now start the system you want to install &PRODUCT; on, select PXE Boot when prompted to specify a boot source, and start the network installation.
</para>
@@ -247,20 +246,7 @@ label local
</para>
<procedure>
<title>Configuring PXE Boot for UEFI-based Systems</title>
- <step>
- <para>
- Install the <package>tftp</package> package. To do this, run the following command as <systemitem class="username">root</systemitem>:
- </para>
- <screen>
-<prompt>#</prompt> <command>yum install tftp-server</command>
- </screen>
- </step>
- <step>
- <para>
- In the <filename>/etc/xinetd.d/tftp</filename> configuration file, change the <parameter>disabled</parameter> parameter from <literal>yes</literal> to <literal>no</literal>.
- </para>
- </step>
- <step>
+ <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>
@@ -325,18 +311,7 @@ set timeout=1
<prompt>#</prompt> <command>cp /<replaceable>path/to</replaceable>/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/uefi/</command>
</screen>
</step>
- <step>
- <para>
- Enable and start the <systemitem class="service">tftp</systemitem> and <systemitem class="service">xinetd</systemitem> services using the <command>systemctl</command> command.
- </para>
- <screen>
-<prompt>#</prompt> <command>systemctl enable xinetd.service tftp.service</command>
- </screen>
- <screen>
-<prompt>#</prompt> <command>systemctl start xinetd.service tftp.service</command>
- </screen>
- </step>
- </procedure>
+ </procedure>
<para>
After finishing this procedure, the PXE server is ready to start the network installation. You can now start the system you want to install &PRODUCT; on, select PXE Boot when prompted to specify a boot source, and start the network installation.
</para>
9 years, 7 months
[install-guide/F21-rewrite] Present a simplified dhcp configuration.
by Pete Travis
commit bd973f1cb701b8baf67f7d976c488fab4fe71288
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 13:49:25 2014 -0600
Present a simplified dhcp configuration.
The previous example presented a many options and demonstrated the vast
potential of dhcpd, but administrators who are likely to configure their
infrastructure at this level *will* be consulting dhcpd.conf and other
documentation.
This new example configuration is targeted towards users who want a
configuration that can drop in to their existing small network.
NOTE: The build is broken here, I'm working incrementally. Don't check
out this commit and expect a deliverable product.
en-US/Network_based_Installations.xml | 146 +++++++++++++++------------------
1 files changed, 67 insertions(+), 79 deletions(-)
---
diff --git a/en-US/Network_based_Installations.xml b/en-US/Network_based_Installations.xml
index 0781236..3c4e54d 100644
--- a/en-US/Network_based_Installations.xml
+++ b/en-US/Network_based_Installations.xml
@@ -64,14 +64,71 @@
<remark>A link to mirrormanager and some instructions to other guides too. All the elaboration on installation methods might be going to far, but we can ref. --Pete</remark>
</formalpara>
</section>
-
- <section id="sect-network-boot-setup-bios">
- <title>Configuring a PXE Server for BIOS-based Clients</title>
- <para>
- The following procedure will prepare the PXE server for booting BIOS-based AMD64 and Intel 64 systems. For information on UEFI-based systems, see <xref linkend="sect-network-boot-setup-uefi" />.
- </para>
- <procedure>
- <title>Configuring PXE Boot for BIOS-based Systems</title>
+ <section id="pxe-dhcpd">
+ <title>DHCP Server Configuration</title>
+ <remark>Needs adminition about static IP, reference out to Networking Guide. Example assumes 192.168.1.2 for server.</remark>
+ <procedure>
+ <title>Installing and configuring dhcpd</title>
+ <step>
+ <para>
+ Install the dhcp server package.
+ </para>
+ <screen><command>yum install dhcp</command></screen>
+ </step>
+ <step>
+ <para>
+ Create a simple configuration for the dhcp server at <filename>/etc/dhcp/dhcpd.conf</filename>
+ </para>
+ <screen>
+ subnet 192.168.1.0 netmask 255.255.255.0 {
+ authoritative;
+ default-lease-time 600;
+ max-lease-time 7200;
+ ddns-update-style none;
+
+ option domain-name-servers 192.168.1.1;
+ option routers 192.168.1.1;
+
+ }
+ </screen>
+ </step>
+ <step>
+ <para>
+ Test your configuration and address any problems you discover.
+ </para>
+ <screen>
+ <command>systemctl start dhcpd</command>
+ <command>journalctl --unit dhcpd --since -2m --follow</command>
+ </screen>
+ </step>
+ <step>
+ <para>
+ Add entries to point clients to their bootloader and the server that provides it to your subnet configuration in <filename>/etc/dhcp/dhcpd.conf</filename>. Because DHCP clients provide the server with identifying information along with their address request, BIOS clients and UEFI clients can each be directed to the correct bootloader.
+ </para>
+ <screen>
+ subnet 192.168.1.0 netmask 255.255.255.0 {
+ if option arch = 00:07 {
+ filename "uefi/shim.efi";
+ } else {
+ filename "pxelinux/pxelinux.0";
+ }
+
+ next-server 192.168.1.2;
+
+ ...
+ </screen>
+ </step>
+ <step>
+ <para>
+ Restart the dhcp service to check the configuration and make changes as needed.
+ </para>
+ <screen>
+ <command>systemctl restart dhcpd</command>
+ <command>journalctl --unit dhcpd --since -2m --follow</command>
+ </screen>
+ </step>
+ </procedure>
+ </section>
<step>
<para>
Install the <package>tftp</package> package. To do this, run the following command as <systemitem class="username">root</systemitem>:
@@ -89,38 +146,7 @@
<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>
- <para>
- A sample configuration in the <filename>/etc/dhcp/dhcpd.conf</filename> file might look like:
- </para>
- <programlisting>
- 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:07 {
- filename "uefi/shim.efi";
- } else {
- filename "pxelinux/pxelinux.0";
- }
- }
-
- host example-ia32 {
- hardware ethernet XX:YY:ZZ:11:22:33;
- fixed-address 10.0.0.2;
- }
- }
- </programlisting>
- </step>
+ </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:
@@ -235,45 +261,7 @@ label local
</para>
</step>
<step>
- <para>
- Configure your <systemitem class="protocol">DHCP</systemitem> server to use the EFI boot images packaged with <package>shim</package>. 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>
- <para>
- A sample configuration in the <filename>/etc/dhcp/dhcpd.conf</filename> file might look like:
- </para>
- <programlisting>
- 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:07 {
- filename "uefi/shim.efi";
- } else {
- filename "pxelinux/pxelinux.0";
- }
- }
-
- host example-ia32 {
- hardware ethernet XX:YY:ZZ:11:22:33;
- fixed-address 10.0.0.2;
- }
- }
- </programlisting>
- </step>
- <step>
- <para>
+ <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>
9 years, 7 months
[install-guide/F21-rewrite] Give a *general* overview of the blocks used in a pxe boot situation, and remove the rest of the cob
by Pete Travis
commit 5ca50f045daec000836c068be21557836f06c2f7
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 01:00:26 2014 -0600
Give a *general* overview of the blocks used in a pxe boot situation, and remove the rest of the cobbler instructions
en-US/Network_based_Installations.xml | 283 +++++----------------------------
1 files changed, 37 insertions(+), 246 deletions(-)
---
diff --git a/en-US/Network_based_Installations.xml b/en-US/Network_based_Installations.xml
index 5e8bae3..0781236 100644
--- a/en-US/Network_based_Installations.xml
+++ b/en-US/Network_based_Installations.xml
@@ -10,270 +10,61 @@
This appendix is intended for users with previous Linux experience. If you are a new user, you may want to install using minimal boot media or the distribution DVD instead.
</para>
</note>
+ <!--
+ <remark>
+ Do we really need to warn about blowing away the system? The suggested config could simply boot an interactive installer, point to kickstarts. If you write out a custom kickstart, you shouldn't be surprised that it destroys filesystems like you told it to.
+ </remark>
+
<warning>
<para>
The instructions in this appendix configures an automated install server. The default configuration includes destruction of all existing data on all disks for hosts that install using this method. This is often different from other network install server configurations which may provide for an interactive installation experience.
</para>
- </warning>
- <para>
- &PRODUCT; allows for installation over a network using the NFS, FTP, or HTTP protocols. A network installation can be started from a boot CD-ROM, a bootable flash memory drive, or by using the <option>inst.repo=</option> boot option with the &PRODUCT; DVD. Alternatively, if the system to be installed contains a network interface card (NIC) with Pre-Execution Environment (PXE) support, it can be configured to boot from files on another networked system rather than local media such as a DVD.
- </para>
- <para>
- For a PXE network installation, the client's NIC with PXE support sends out a broadcast request for DHCP information. The DHCP server provides the client with an IP address, other network information such as name server, the IP address or hostname of the <command>tftp</command> server (which provides the files necessary to start the installation program), and the location of the files on the <command>tftp</command> server. This is possible because of PXELINUX, which is part of the <filename>syslinux</filename> package.
- </para>
- <title>Setting Up cobbler</title>
+ </warning>
+ -->
+ <section id="pxe-overview">
+ <para>
+ Pre-Execution Environment, or PXE, is a techonology that allows computers to boot directly from resources provided over the network. Installing Fedora over the network means you don't have to create media, and you can install to multiple computers or virtual machine simultaneously. The process involves a number of components and features working together to provide the resources required.
+ </para>
+ <formalpara>
+ <title>PXE-capable computer</title>
<para>
- To install <application>cobbler</application> use the following command:
+ Most modern computers have the capability to network boot. Typically, a function key pressed during boot will bring up a boot selection menu. In environments designed for unattended administration, systems will often be configured to first attempt booting from the network, then boot from local storage, and the installation server is configured to only offer the installation when required. Your computer's manual will provide specific instructions on setting boot priorities.
</para>
- <screen>
-<prompt>#</prompt> <command>yum install cobbler</command>
- </screen>
+ </formalpara>
+ <formalpara>
+ <title>DHCP Server</title>
<para>
- <application>cobbler</application> can check its own settings for validity and report the results. Run the following command to check the settings:
+ When a system requests an address during network booting, the DHCP server also provides the location of files to boot. A network should have only one DHCP server.
</para>
- <screen>
-<prompt>$</prompt> <command>cobbler check</command>
- </screen>
+ </formalpara>
+ <formalpara>
+ <title>TFTP Server</title>
<para>
- Verify SELinux is configured properly:
+ Because the pre-boot environment is very simple, files must be provided in a very simple way. Trivial File Transfer Protocol, or TFTP, provides the system with the bootloader required to continue the installation process.
</para>
- <screen>
-<prompt>#</prompt><command>setsebool -P httpd_can_network_connect_cobbler 1</command>
- </screen>
+ </formalpara>
+ <formalpara>
+ <title>Bootloader</title>
<para>
- Other SELinux booleans may apply, and can be listed with:
+ Because the job of booting an operating system is too complex for the pre-boot environment, a bootloader is used to load the kernel and related files. It also provides configuration information to the installer, and can offer a menu to select from different configurations.
</para>
- <screen>
-<prompt>$</prompt><command>getsebool -a|grep cobbler</command>
- </screen>
+ </formalpara>
+ <formalpara>
+ <title>Kernel & Initramfs</title>
<para>
- Change the settings in the <filename>/etc/cobbler/settings</filename> file to reflect the IP address information for the server. You must change at least the <option>server</option> and <option>next_server</option> options, although these options may point to the same IP address.
+ The kernel is the core of any Linux operating system, and the initramfs provides the kernel with required tools and resources. These files are also provided by tftp.
</para>
+ </formalpara>
+ <formalpara>
+ <title>Package repository</title>
<para>
- If you are not already running a DHCP server, you should also change the <option>manage_dhcp</option> option to <userinput>1</userinput>. If you are running a DHCP server, configure it according to the instructions found in the <package>syslinux</package> package documentation. For more information, refer to your local files <filename>/usr/share/doc/syslinux/syslinux.doc</filename> and <filename>/usr/share/doc/syslinux/pxelinux.doc</filename>.
+ A Fedora repository must be available for the installation. The example in this section uses the public Fedora mirrors as the repository source, but you can also use a repo on the local network provided by NFS, FTP, or HTTP.
</para>
+ <remark>Dump a link in here to the inst.repo option. Update the inst.repo option with examples if needed. --Pete</remark>
+ <remark>A link to mirrormanager and some instructions to other guides too. All the elaboration on installation methods might be going to far, but we can ref. --Pete</remark>
+ </formalpara>
</section>
- <section id="sect-cobbler-setup-distro">
- <title>Setting Up the Distribution</title>
- <para>
- To set up a distribution from a full &PRODUCT; DVD or ISO image, use this procedure.
- </para>
- <note>
- <para>
- To create a local mirror from an existing network source, skip this section and refer instead to <xref linkend="sect-cobbler-mirror"/>.
- </para>
- </note>
- <procedure>
- <step>
- <para>
- If you are using a DVD disc or ISO image, Create a directory mount point:
- </para>
- <screen>
-<prompt>#</prompt> <command>mkdir /mnt/dvd</command>
- </screen>
- <para>
- To mount a physical DVD disc, use the following command:
- </para>
- <screen>
-<prompt>#</prompt> <command>mount -o context=system_u:object_r:httpd_sys_content_t:s0 /dev/dvd /mnt/dvd</command>
- </screen>
- <para>
- To mount a DVD ISO image, use the following command:
- </para>
- <screen>
-<prompt>#</prompt> <command>mount -ro loop,context=system_u:object_r:httpd_sys_content_t:s0 /path/to/image.iso /mnt/dvd</command>
- </screen>
- <note>
- <para>
- If SELinux is enabled, use the default <literal>iso9660_t</literal> label instead of <literal>httpd_sys_content_t</literal>.
- </para>
- </note>
- </step>
- <step>
- <para>
- To support NFS installation, create a file <filename>/etc/exports</filename> and add the following line to it:
- </para>
- <screen>
-/mnt/dvd *(ro,async)
- </screen>
- <para>
- Start the NFS server using the following command:
- </para>
- <screen>
-<prompt>#</prompt> <command>systemctl start rpcbind nfs</command>
- </screen>
- </step>
- <step>
- <para>
- To support HTTP installation, use <command>yum</command> to install the Apache web server if it is not already installed:
- </para>
- <screen>
-<prompt>#</prompt> <command>yum -y install httpd</command>
- </screen>
- <para>
- Make a link to the mounted disc in the Apache public
- content area:
- </para>
- <screen>
-<prompt>#</prompt> <command>ln -s /mnt/dvd /var/www/html/<replaceable>distro</replaceable></command>
- </screen>
- </step>
- </procedure>
- </section>
-
- <section id="sect-cobbler-mirror">
- <title>Mirroring a Network Location</title>
- <para>
- If you do not have discs or ISO images for a distribution, you can use <command>cobbler</command> to create an installation server. The <command>cobbler</command> command can fetch the distribution over the network as part of the import process.
- </para>
- <para>
- Locate the distribution on the network. The location may be on the local network or reached at a remote site via FTP, HTTP, or rsync protocols. <!-- Note the URI, which will be in one of the
- following forms: -->
- </para>
- <!-- <itemizedlist>
- <listitem>
- <para><uri>http://mirror.example.com/pub/fedora/linux/releases/11/Fedora/<replaceable>arch</replaceable>/os</uri></para>
- </listitem>
- <listitem>
- <para><uri>ftp://mirror.example.com/pub/fedora/linux/releases/11/Fedora/<replaceable>arch</replaceable>/os</uri></para>
- </listitem>
- <listitem>
- <para><uri>rsync://mirror.example.com/fedora/linux/releases/11/Fedora/<replaceable>arch</replaceable>/os</uri></para>
- </listitem>
- </itemizedlist> -->
- </section>
-
- <section id="sect-cobbler-import-distro">
- <title>Importing the Distribution</title>
- <para>
- To offer a distribution through more than one installation method, perform additional <command>cobbler import</command> tasks using a different name for each method. For best results, use the installation method as part of the name, so it appears in the client's boot menu.
- </para>
- <procedure>
- <step>
- <para>
- To import the DVD disc or ISO distribution into <application>cobbler</application>, run this command:
- </para>
- <screen>
-<prompt>#</prompt> <command>cobbler import --path=/mnt/dvd --name=<replaceable>distro_name</replaceable></command>
- </screen>
- <para>
- For <replaceable>distro_name</replaceable>, substitute a meaningful name for the distribution.
- </para>
- <para>
- To import a local or remote network distribution into <command>cobbler</command>, run this command. Replace <replaceable>network_URI</replaceable> with the URI you found in <xref linkend="sect-cobbler-mirror"/>, and <replaceable>distro_name</replaceable> as above:
- </para>
- <screen>
-<prompt>#</prompt> <command>cobbler import --path=<replaceable>network_URI</replaceable> --name=<replaceable>distro_name</replaceable></command>
- </screen>
- <important>
- <para>
- When <command>cobbler</command> imports a distribution with the commands above, it copies all the files to the server's local storage, which may take some time.
- </para>
- </important>
- <para>
- If you do not want to make local copies of the distribution because clients can already reach its location, use the <option>--available-as</option> option.
- </para>
- <screen>
-<prompt>#</prompt> <command>cobbler import --path=/mnt/dvd --name=<replaceable>distro_name</replaceable> --available-as=<replaceable>network_URI</replaceable></command>
-<prompt>#</prompt> <command>cobbler import --path=<replaceable>network_URI</replaceable> --name=<replaceable>distro_name</replaceable> --available-as=<replaceable>network_URI</replaceable></command>
- </screen>
- <para>
- For <replaceable>nework_URI</replaceable>, substitute the appropriate network location of the distribution. This URI indicates how the server makes the distribution available to its clients. The examples above assume that your <command>cobbler</command> server reaches the mirror location at the same URI as the clients. If not, substitute an appropriate URI for the <option>--path</option> option. The following examples are URI locations that work if you have been following the procedures in this section, and your server's IP address is <systemitem class="ipaddress">192.168.1.1</systemitem>:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <uri>nfs://<replaceable>192.168.1.1</replaceable>:/mnt/dvd</uri>
- </para>
- </listitem>
- <listitem>
- <para>
- <uri>http://<replaceable>192.168.1.1</replaceable>:/distro</uri>
- </para>
- </listitem>
- </itemizedlist>
- <para>
- If necessary, replace <replaceable>192.168.1.1</replaceable> with the IP address for your <command>cobbler</command> server.
- </para>
- </step>
- <step>
- <para>
- Run the command <command>cobbler sync</command> to apply the changes. To check that your <command>cobbler</command> server is listening on the correct ports, use the <command>netstat -lp</command> command.
- </para>
- <important>
- <para>
- Depending on your server's configuration, you may need to use the <command>system-config-securitylevel</command> command to permit access to some or all of these network services:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- 67 or bootps, for the DHCP/BOOTP server
- </para>
- </listitem>
- <listitem>
- <para>
- 69 or tftp, for providing the PXE loader
- </para>
- </listitem>
- <listitem>
- <para>
- 80 or http, if the <application>cobbler</application> server is to provide HTTP installation service
- </para>
- </listitem>
- <listitem>
- <para>
- 20 and 21 or ftp, if the <application>cobbler</application> server is to provide FTP installation service
- </para>
- </listitem>
- <listitem>
- <para>
- 111 or sunrpc, if the <application>cobbler</application> server is to provide NFS installation service
- </para>
- </listitem>
- </itemizedlist>
- </important>
- </step>
- </procedure>
- </section>
-
- <section id="sect-install-server-manual">
- <title>Manually configure a PXE server</title>
- <para>
- The following steps must be performed to prepare for a network installation manually (without <application>cobbler</application>):
- </para>
- <orderedlist>
- <listitem>
- <para>
- Configure the network (<systemitem class="protocol">NFS</systemitem>, <systemitem class="protocol">HTTPS</systemitem>, <systemitem class="protocol">HTTP</systemitem>, or <systemitem class="protocol">FTP</systemitem>) server to export the installation tree or the installation ISO image. For procedures describing the configuration, see <xref linkend="sect-preparing-installation-sources" />.
- </para>
- </listitem>
- <listitem>
- <para>
- Configure the files on the <application>tftp</application> server necessary for network boot, configure <systemitem class="protocol">DHCP</systemitem>, and start the <systemitem class="service">tftp</systemitem> service on the PXE server. See <xref linkend="sect-network-boot-setup" /> for details.
- </para>
- </listitem>
- <listitem>
- <para>
- Boot the client (the system you want to install &PRODUCT; on) and start the installation. See <xref linkend="sect-booting-pxe-installation" /> for more information.
- </para>
- </listitem>
- </orderedlist>
- <note>
- <para>
- The procedures in this chapter describe setting up a PXE server on a &PRODUCT; &PRODVER; system. For details about configuring PXE on earlier releases of &PRODUCT;, see the appropriate <citetitle>Installation Guide</citetitle> for that release.
- </para>
- </note>
-
- <section id="sect-network-boot-setup">
- <title>Configuring PXE Boot</title>
- <para>
- After setting up a network server containing the package repositories to be used in the installation, the next step is to configure the PXE server itself. This server will contain files necessary to boot the &PRODUCT; and start the installation. Additionally, a <systemitem class="protocol">DHCP</systemitem> server must be configured, and all necessary services must be enabled and started.
- </para>
- <para>
- For more information on configuring a PXE server for use with headless systems (systems without a directly connected display, keyboard and mouse), see <xref linkend="sect-vnc-headless-considerations" />.
- </para>
-
<section id="sect-network-boot-setup-bios">
<title>Configuring a PXE Server for BIOS-based Clients</title>
<para>
9 years, 7 months