Questo contenuto non è disponibile nella lingua selezionata.
Chapter 6. Preparing a UEFI HTTP installation source
As an administrator of a server on a local network, you can configure an HTTP server to enable HTTP boot and network installation for other systems on your network.
6.1. Network install overview Copia collegamentoCollegamento copiato negli appunti!
A network installation allows you to install Red Hat Enterprise Linux to a system that has access to an installation server. At a minimum, two systems are required for a network installation:
- Server
- A system running a DHCP server, an HTTP, HTTPS, FTP, or NFS server, and in the PXE boot case, a TFTP server. Although each server can run on a different physical system, the procedures in this section assume a single system is running all servers.
- Client
- The system to which you are installing Red Hat Enterprise Linux. Once installation starts, the client queries the DHCP server, receives the boot files from the HTTP or TFTP server, and downloads the installation image from the HTTP, HTTPS, FTP or NFS server. Unlike other installation methods, the client does not require any physical boot media for the installation to start.
To boot a client from the network, enable network boot in the firmware or in a quick boot menu on the client. On some hardware, the option to boot from a network might be disabled, or not available.
The workflow steps to prepare to install Red Hat Enterprise Linux from a network using HTTP or PXE are as follows:
Procedure
- Export the installation ISO image or the installation tree to an NFS, HTTPS, HTTP, or FTP server.
- Configure the HTTP or TFTP server and DHCP server, and start the HTTP or TFTP service on the server.
- Boot the client and start the installation.
You can choose between the following network boot protocols:
- HTTP
- Red Hat recommends using HTTP boot if your client UEFI supports it. HTTP boot is usually more reliable.
- PXE (TFTP)
- PXE boot is more widely supported by client systems, but sending the boot files over this protocol might be slow and result in timeout failures.
6.2. Configuring the DHCPv4 server for network boot Copia collegamentoCollegamento copiato negli appunti!
Enable the DHCP version 4 (DHCPv4) service on your server, so that it can provide network boot functionality.
Prerequisites
You are preparing network installation over the IPv4 protocol.
For IPv6, see Configuring the DHCPv6 server for network boot instead.
Find the network addresses of the server.
In the following examples, the server has a network card with this configuration:
- IPv4 address
- 192.168.124.2/24
- IPv4 gateway
- 192.168.124.1
Procedure
Install the DHCP server:
yum install dhcp-server
yum install dhcp-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Set up a DHCPv4 server. Enter the following configuration in the
/etc/dhcp/dhcpd.conf
file. Replace the addresses to match your network card.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the DHCPv4 service:
systemctl enable --now dhcpd
# systemctl enable --now dhcpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3. Configuring the DHCPv6 server for network boot Copia collegamentoCollegamento copiato negli appunti!
Enable the DHCP version 6 (DHCPv4) service on your server, so that it can provide network boot functionality.
Prerequisites
You are preparing network installation over the IPv6 protocol.
For IPv4, see Configuring the DHCPv4 server for network boot instead.
Find the network addresses of the server.
In the following examples, the server has a network card with this configuration:
- IPv6 address
- fd33:eb1b:9b36::2/64
- IPv6 gateway
- fd33:eb1b:9b36::1
Procedure
Install the DHCP server:
yum install dhcp-server
yum install dhcp-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Set up a DHCPv6 server. Enter the following configuration in the
/etc/dhcp/dhcpd6.conf
file. Replace the addresses to match your network card.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the DHCPv6 service:
systemctl enable --now dhcpd6
# systemctl enable --now dhcpd6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If DHCPv6 packets are dropped by the RP filter in the firewall, check its log. If the log contains the
rpfilter_DROP
entry, disable the filter using the following configuration in the/etc/firewalld/firewalld.conf
file:IPv6_rpfilter=no
IPv6_rpfilter=no
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4. Configuring the HTTP server for HTTP boot Copia collegamentoCollegamento copiato negli appunti!
You must install and enable the httpd
service on your server so that the server can provide HTTP boot resources on your network.
Prerequisites
Find the network addresses of the server.
In the following examples, the server has a network card with the
192.168.124.2
IPv4 address.
Procedure
Install the HTTP server:
yum install httpd
# yum install httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
/var/www/html/redhat/
directory:mkdir -p /var/www/html/redhat/
# mkdir -p /var/www/html/redhat/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Download the RHEL DVD ISO file. See All Red Hat Enterprise Linux Downloads.
Create a mount point for the ISO file:
mkdir -p /var/www/html/redhat/iso/
# mkdir -p /var/www/html/redhat/iso/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mount the ISO file:
mount -o loop,ro -t iso9660 path-to-RHEL-DVD.iso /var/www/html/redhat/iso
# mount -o loop,ro -t iso9660 path-to-RHEL-DVD.iso /var/www/html/redhat/iso
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy the boot loader, kernel, and
initramfs
from the mounted ISO file into your HTML directory:cp -r /var/www/html/redhat/iso/images /var/www/html/redhat/ cp -r /var/www/html/redhat/iso/EFI /var/www/html/redhat/
# cp -r /var/www/html/redhat/iso/images /var/www/html/redhat/ # cp -r /var/www/html/redhat/iso/EFI /var/www/html/redhat/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Make the boot loader configuration editable:
chmod 644 /var/www/html/redhat/EFI/BOOT/grub.cfg
# chmod 644 /var/www/html/redhat/EFI/BOOT/grub.cfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Edit the
/var/www/html/redhat/EFI/BOOT/grub.cfg
file and replace its content with the following:Copy to Clipboard Copied! Toggle word wrap Toggle overflow In this file, replace the following strings:
- RHEL-9-3-0-BaseOS-x86_64 and Red Hat Enterprise Linux 9.3
- Edit the version number to match the version of RHEL that you downloaded.
- 192.168.124.2
- Replace with the IP address to your server.
Make the EFI boot file executable:
chmod 755 /var/www/html/redhat/EFI/BOOT/BOOTX64.EFI
# chmod 755 /var/www/html/redhat/EFI/BOOT/BOOTX64.EFI
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Open ports in the firewall to allow HTTP (80), DHCP (67, 68) and DHCPv6 (546, 547) traffic:
firewall-cmd --zone public \ --add-port={80/tcp,67/udp,68/udp,546/udp,547/udp}
# firewall-cmd --zone public \ --add-port={80/tcp,67/udp,68/udp,546/udp,547/udp}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow This command enables temporary access until the next server reboot.
-
Optional: To enable permanent access, add the
--permanent
option to the command. Reload firewall rules:
firewall-cmd --reload
# firewall-cmd --reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the HTTP server:
systemctl enable --now httpd
# systemctl enable --now httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Make the
html
directory and its content readable and executable:chmod -cR u=rwX,g=rX,o=rX /var/www/html
# chmod -cR u=rwX,g=rX,o=rX /var/www/html
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restore the SELinux context of the
html
directory:restorecon -FvvR /var/www/html
# restorecon -FvvR /var/www/html
Copy to Clipboard Copied! Toggle word wrap Toggle overflow