Chapter 2. Preparing for your RHEL installation

This section describes how to prepare for your Red Hat Enterprise Linux installation.

2.1. Supported RHEL architectures and system requirements

Red Hat Enterprise Linux 9 delivers a stable, secure, consistent foundation across hybrid cloud deployments with the tools needed to deliver workloads faster with less effort. You can deploy RHEL as a guest on supported hypervisors and Cloud provider environments as well as on physical infrastructure, so your applications can take advantage of innovations in the leading hardware architecture platforms.

2.1.1. Supported architectures

Red Hat Enterprise Linux supports the following architectures:

  • AMD and Intel 64-bit architectures
  • The 64-bit ARM architecture
  • IBM Power Systems, Little Endian
  • 64-bit IBM Z architectures
Note

For installation instructions on IBM Power Servers, see IBM installation documentation. To ensure that your system is supported for installing RHEL, see https://catalog.redhat.com and https://access.redhat.com/articles/rhel-limits.

2.1.2. System requirements

If this is a first-time install of Red Hat Enterprise Linux it is recommended that you review the guidelines provided for system, hardware, security, memory, and RAID before installing. See System requirements reference for more information.

If you want to use your system as a virtualization host, review the necessary hardware requirements for virtualization.

2.2. Downloading a RHEL installation ISO image

You can download Red Hat Enterprise Linux by visiting the Red Hat customer portal or you can choose to download it using the curl command.

2.2.1. Types of installation ISO images

Two types of Red Hat Enterprise Linux 9 installation ISO images are available from the Red Hat Customer Portal.

DVD ISO image file
It is a full installation program that contains the BaseOS and AppStream repositories. With a DVD ISO file, you can complete the installation without access to additional repositories.
Boot ISO image file

The Boot ISO image is a minimal installation that can be used to install RHEL in two different ways:

  1. When registering and installing RHEL from the Content Delivery Network (CDN).
  2. As a minimal image that requires access to the BaseOS and AppStream repositories to install software packages. The repositories are part of the DVD ISO image that is available for download from the Red Hat Customer Portal. Download and unpack the DVD ISO image to access the repositories.

The following table contains information about the images that are available for the supported architectures.

Table 2.1. Boot and installation images

ArchitectureInstallation DVDBoot DVD

AMD64 and Intel 64

x86_64 DVD ISO image file

x86_64 Boot ISO image file

ARM 64

AArch64 DVD ISO image file

AArch64 Boot ISO image file

IBM POWER

ppc64le DVD ISO image file

ppc64le Boot ISO image file

64-bit IBM Z

s390x DVD ISO image file

s390x Boot ISO image file

2.2.2. Downloading an ISO image from the Customer Portal

The Boot ISO image is a minimal image file that supports registering your system, attaching subscriptions, and installing RHEL from the Content Delivery Network (CDN). The DVD ISO image file contains all repositories and software packages and does not require any additional configuration.

Prerequisites

  • You have an active Red Hat subscription.
  • You are logged in to the Product Downloads section of the Red Hat Customer Portal at Product Downloads.

Procedure

  1. Open the browser and access https://access.redhat.com/downloads/content/rhel.

    This page lists popular downloads for Red Hat Enterprise Linux.

  2. Click Download Now beside the ISO image that you require.
  3. If the desired version of RHEL is not listed, click All Red Hat Enterprise Linux Downloads.

    1. From the Product Variant drop-down menu, select the variant and architecture that you require.

      • Optional: Select the Packages tab to view the packages contained in the selected variant. For information about the packages available in Red Hat Enterprise Linux 9, see the Package Manifest document.
    2. From the Version drop-down menu, select the RHEL version you want to download. By default, the latest version for the selected variant and architecture is selected.

      The Product Software tab displays the image files, which include:

      • Red Hat Enterprise Linux Binary DVD image.
      • Red Hat Enterprise Linux Boot ISO image.

      Additional images may be available, for example, preconfigured virtual machine images.

    3. Click Download Now beside the ISO image that you require.

2.2.3. Downloading an ISO image using curl

With the curl tool, you can fetch the required file from the web using the command line to save locally or pipe it into another program as required. This section explains how to download installation images using the curl command.

Prerequisites

  • The curl and jq packages are installed.

    If your Linux distribution does not use dnf or apt, or if you do not use Linux, download the most appropriate software package from the curl website.

  • You have an offline token generated from Red Hat API Tokens.
  • You have a checksum of the file you want to download from Product Downloads.

Procedure

  1. Create a bash file with the following content:

    #!/bin/bash
    # set the offline token and checksum parameters
    offline_token="<offline_token>"
    checksum=<checksum>
    
    # get an access token
    access_token=$(curl https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token -d grant_type=refresh_token -d client_id=rhsm-api -d refresh_token=$offline_token | jq -r '.access_token')
    
    # get the filename and download url
    image=$(curl -H "Authorization: Bearer $access_token" "https://api.access.redhat.com/management/v1/images/$checksum/download")
    filename=$(echo $image | jq -r .body.filename)
    url=$(echo $image | jq -r .body.href)
    
    # download the file
    curl $url -o $filename

    In the text above, replace <offline_token> with the token collected from the Red Hat API portal and <checksum> with the checksum value taken from the Product Downloads page.

  2. Make this file executable.

    $ chmod u+x FILEPATH/FILENAME.sh
  3. Open a terminal window and execute the bash file.

    $ ./FILEPATH/FILENAME.sh
Warning

Use password management that is consistent with networking best practices.

  • Do not store passwords or credentials in a plain text.
  • Keep the token safe against unauthorized use.

Additional resources

2.3. Creating a bootable installation medium for RHEL

This section contains information about using the ISO image file that you have downloaded to create a bootable physical installation medium, such as a USB, DVD, or CD. For more information about downloading the ISO images, see Downloading the installation ISO image

2.3.1. Installation boot media options

There are several options available to boot the Red Hat Enterprise Linux installation program.

Full installation DVD or USB flash drive
Create a full installation DVD or USB flash drive using the DVD ISO image. The DVD or USB flash drive can be used as a boot device and as an installation source for installing software packages.
Minimal installation DVD, CD, or USB flash drive
Create a minimal installation CD, DVD, or USB flash drive using the Boot ISO image, which contains only the minimum files necessary to boot the system and start the installation program.
Important

If you are not using the Content Delivery Network (CDN) to download the required software packages, the Boot ISO image requires an installation source that contains the required software packages.

2.3.2. Creating a bootable DVD or CD

You can create a bootable installation DVD or CD using burning software and a CD/DVD burner. The exact steps to produce a DVD or CD from an ISO image file vary greatly, depending on the operating system and disc burning software installed. Consult your system’s burning software documentation for the exact steps to burn a CD or DVD from an ISO image file.

Warning

You can create a bootable DVD or CD using either the DVD ISO image (full install) or the Boot ISO image (minimal install). However, the DVD ISO image is larger than 4.7 GB, and as a result, it might not fit on a single or dual-layer DVD. Check the size of the DVD ISO image file before you proceed. A USB flash drive is recommended when using the DVD ISO image to create bootable installation media.

2.3.3. Creating a bootable USB device on Linux

You can create a bootable USB device which you can then use to install Red Hat Enterprise Linux on other machines.

Important

Following this procedure overwrites any data previously stored on the USB drive without any warning. Back up any data or use an empty flash drive. A bootable USB drive cannot be used for storing data.

Prerequisites

  • You have downloaded an installation ISO image as described in Downloading the installation ISO image.
  • You have a USB flash drive with enough capacity for the ISO image. The required size varies, but the recommended USB size is 8 GB.

Procedure

  1. Connect the USB flash drive to the system.
  2. Open a terminal window and display a log of recent events.

    $ dmesg|tail

    Messages resulting from the attached USB flash drive are displayed at the bottom of the log. Record the name of the connected device.

  3. Log in as a root user:

    $ su -

    Enter your root password when prompted.

  4. Find the device node assigned to the drive. In this example, the drive name is sdd.

    # dmesg|tail
    [288954.686557] usb 2-1.8: New USB device strings: Mfr=0, Product=1, SerialNumber=2
    [288954.686559] usb 2-1.8: Product: USB Storage
    [288954.686562] usb 2-1.8: SerialNumber: 000000009225
    [288954.712590] usb-storage 2-1.8:1.0: USB Mass Storage device detected
    [288954.712687] scsi host6: usb-storage 2-1.8:1.0
    [288954.712809] usbcore: registered new interface driver usb-storage
    [288954.716682] usbcore: registered new interface driver uas
    [288955.717140] scsi 6:0:0:0: Direct-Access     Generic  STORAGE DEVICE   9228 PQ: 0 ANSI: 0
    [288955.717745] sd 6:0:0:0: Attached scsi generic sg4 type 0
    [288961.876382] sd 6:0:0:0: sdd Attached SCSI removable disk
  5. If the inserted USB device mounts automatically, unmount it before continuing with the next steps. For unmounting, use the umount command. For more information, see Unmounting a file system with umount.
  6. Write the ISO image directly to the USB device:

    # dd if=/image_directory/image.iso of=/dev/device
    • Replace /image_directory/image.iso with the full path to the ISO image file that you downloaded,
    • Replace device with the device name that you retrieved with the dmesg command.

      In this example, the full path to the ISO image is /home/testuser/Downloads/rhel-9-x86_64-boot.iso, and the device name is sdd:

      # dd if=/home/testuser/Downloads/rhel-9-x86_64-boot.iso of=/dev/sdd
      Note

      Ensure that you use the correct device name, and not the name of a partition on the device. Partition names are usually device names with a numerical suffix. For example, sdd is a device name, and sdd1 is the name of a partition on the device sdd.

  7. Wait for the dd command to finish writing the image to the device. Run the sync command to synchronize cached writes to the device. The data transfer is complete when the # prompt appears. When you see the prompt, log out of the root account and unplug the USB drive. The USB drive is now ready to use as a boot device.

2.3.4. Creating a bootable USB device on Windows

You can create a bootable USB device on a Windows system with various tools. Red Hat recommends using Fedora Media Writer, available for download at https://github.com/FedoraQt/MediaWriter/releases. Note that Fedora Media Writer is a community product and is not supported by Red Hat. You can report any issues with the tool at https://github.com/FedoraQt/MediaWriter/issues.

Important

Following this procedure overwrites any data previously stored on the USB drive without any warning. Back up any data or use an empty flash drive. A bootable USB drive cannot be used for storing data.

Prerequisites

  • You have downloaded an installation ISO image as described in Downloading the installation ISO image.
  • You have a USB flash drive with enough capacity for the ISO image. The required size varies, but the recommended USB size is 8 GB.

Procedure

  1. Download and install Fedora Media Writer from https://github.com/FedoraQt/MediaWriter/releases.
  2. Connect the USB flash drive to the system.
  3. Open Fedora Media Writer.
  4. From the main window, click Custom Image and select the previously downloaded Red Hat Enterprise Linux ISO image.
  5. From the Write Custom Image window, select the drive that you want to use.
  6. Click Write to disk. The boot media creation process starts. Do not unplug the drive until the operation completes. The operation may take several minutes, depending on the size of the ISO image, and the write speed of the USB drive.
  7. When the operation completes, unmount the USB drive. The USB drive is now ready to be used as a boot device.

2.3.5. Creating a bootable USB device on macOS

You can create a bootable USB device which you can then use to install Red Hat Enterprise Linux on other machines.

Important

Following this procedure overwrites any data previously stored on the USB drive without any warning. Back up any data or use an empty flash drive. A bootable USB drive cannot be used for storing data.

Prerequisites

  • You have downloaded an installation ISO image as described in Downloading the installation ISO image.
  • You have a USB flash drive with enough capacity for the ISO image. The required size varies, but the recommended USB size is 8 GB.

Procedure

  1. Connect the USB flash drive to the system.
  2. Identify the device path with the diskutil list command. The device path has the format of /dev/disknumber, where number is the number of the disk. The disks are numbered starting at zero (0). Typically, disk0 is the OS X recovery disk, and disk1 is the main OS X installation. In the following example, the USB device is disk2:

    $ diskutil list
    /dev/disk0
    #:                       TYPE NAME                    SIZE       IDENTIFIER
    0:      GUID_partition_scheme                        *500.3 GB   disk0
    1:                        EFI EFI                     209.7 MB   disk0s1
    2:          Apple_CoreStorage                         400.0 GB   disk0s2
    3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
    4:          Apple_CoreStorage                         98.8 GB    disk0s4
    5:                 Apple_Boot Recovery HD             650.0 MB   disk0s5
    /dev/disk1
    #:                       TYPE NAME                    SIZE       IDENTIFIER
    0:                  Apple_HFS YosemiteHD             *399.6 GB   disk1
    Logical Volume on disk0s1
    8A142795-8036-48DF-9FC5-84506DFBB7B2
    Unlocked Encrypted
    /dev/disk2
    #:                       TYPE NAME                    SIZE       IDENTIFIER
    0:     FDisk_partition_scheme                        *8.1 GB     disk2
    1:               Windows_NTFS SanDisk USB             8.1 GB     disk2s1
  3. Identify your USB flash drive by comparing the NAME, TYPE and SIZE columns to your flash drive. For example, the NAME should be the title of the flash drive icon in the Finder tool. You can also compare these values to those in the information panel of the flash drive.
  4. Unmount the flash drive’s filesystem volumes:

    $ diskutil unmountDisk /dev/disknumber
    					Unmount of all volumes on disknumber was successful

    When the command completes, the icon for the flash drive disappears from your desktop. If the icon does not disappear, you may have selected the wrong disk. Attempting to unmount the system disk accidentally returns a failed to unmount error.

  5. Write the ISO image to the flash drive:

    # sudo dd if=/path/to/image.iso of=/dev/rdisknumber
    Note

    macOS provides both a block (/dev/disk*) and character device (/dev/rdisk*) file for each storage device. Writing an image to the /dev/rdisknumber character device is faster than writing to the /dev/disknumber block device.

    For example, to write the /Users/user_name/Downloads/rhel-9-x86_64-boot.iso file to the /dev/rdisk2 device, enter the following command:

    # sudo dd if=/Users/user_name/Downloads/rhel-9-x86_64-boot.iso of=/dev/rdisk2
  6. Wait for the dd command to finish writing the image to the device. The data transfer is complete when the # prompt appears. When the prompt is displayed, log out of the root account and unplug the USB drive. The USB drive is now ready to be used as a boot device.

2.4. Preparing an installation source

The Boot ISO image file does not include any repositories or software packages; it contains only the installation program and the tools required to boot the system and start the installation. This section contains information about creating an installation source for the Boot ISO image using the DVD ISO image that contains the required repositories and software packages.

Important

An installation source is required for the Boot ISO image file only if you decide not to register and install RHEL from the Content Delivery Network (CDN).

2.4.1. Types of installation source

You can use one of the following installation sources for minimal boot images:

  • DVD: Burn the DVD ISO image to a DVD. The DVD will be automatically used as the installation source (software package source).
  • Disk or USB drive: Copy the DVD ISO image to the disk and configure the installation program to install the software packages from the drive. If you use a USB drive, verify that it is connected to the system before the installation begins. The installation program cannot detect media after the installation begins.

    • Disk limitation: The DVD ISO image on the disk must be on a partition with a file system that the installation program can mount. The supported file systems are xfs, ext2, ext3, ext4, and vfat (FAT32).
    Warning

    On Microsoft Windows systems, the default file system used when formatting disks is NTFS. The exFAT file system is also available. However, neither of these file systems can be mounted during the installation. If you are creating a disk or a USB drive as an installation source on Microsoft Windows, verify that you formatted the drive as FAT32. Note that the FAT32 file system cannot store files larger than 4 GiB.

    In Red Hat Enterprise Linux 9, you can enable installation from a directory on a local disk. To do so, you need to copy the contents of the DVD ISO image to a directory on a disk and then specify the directory as the installation source instead of the ISO image. For example: inst.repo=hd:<device>:<path to the directory>

  • Network location: Copy the DVD ISO image or the installation tree (extracted contents of the DVD ISO image) to a network location and perform the installation over the network using the following protocols:

    • NFS: The DVD ISO image is in a Network File System (NFS) share.
    • HTTPS, HTTP or FTP: The installation tree is on a network location that is accessible over HTTP, HTTPS or FTP.

2.4.2. Specify the installation source

You can specify the installation source using any of the following methods:

2.4.3. Ports for network-based installation

The following table lists the ports that must be open on the server for providing the files for each type of network-based installation.

Table 2.2. Ports for network-based installation

Protocol usedPorts to open

HTTP

80

HTTPS

443

FTP

21

NFS

2049, 111, 20048

TFTP

69

Additional resources

2.4.4. Creating an installation source on an NFS server

Use this installation method to install multiple systems from a single source, without having to connect to physical media.

Prerequisites

  • You have an administrator-level access to a server with Red Hat Enterprise Linux 9, and this server is on the same network as the system to be installed.
  • You have downloaded a Binary DVD image. For more information, see Downloading the installation ISO image.
  • You have created a bootable CD, DVD, or USB device from the image file. For more information, see Creating installation media.
  • You have verified that your firewall allows the system you are installing to access the remote installation source. For more information, see Ports for network-based installation.

Procedure

  1. Install the nfs-utils package:

    # dnf install nfs-utils
  2. Copy the DVD ISO image to a directory on the NFS server.
  3. Open the /etc/exports file using a text editor and add a line with the following syntax:

    /exported_directory/ clients
    • Replace /exported_directory/ with the full path to the directory with the ISO image.
    • Replace clients with one of the following:

      • The host name or IP address of the target system
      • The subnetwork that all target systems can use to access the ISO image
      • To allow any system with network access to the NFS server to use the ISO image, the asterisk sign (*)

      See the exports(5) man page for detailed information about the format of this field.

      For example, a basic configuration that makes the /rhel9-install/ directory available as read-only to all clients is:

      /rhel9-install *
  4. Save the /etc/exports file and exit the text editor.
  5. Start the nfs service:

    # systemctl start nfs-server.service

    If the service was running before you changed the /etc/exports file, reload the NFS server configuration:

    # systemctl reload nfs-server.service

    The ISO image is now accessible over NFS and ready to be used as an installation source.

Note

When configuring the installation source, use nfs: as the protocol, the server host name or IP address, the colon sign (:), and the directory holding the ISO image. For example, if the server host name is myserver.example.com and you have saved the ISO image in /rhel9-install/, specify nfs:myserver.example.com:/rhel9-install/ as the installation source.

2.4.5. Creating an installation source using HTTP or HTTPS

You can create an installation source for a network-based installation using an installation tree, which is a directory containing extracted contents of the DVD ISO image and a valid .treeinfo file. The installation source is accessed over HTTP or HTTPS.

Prerequisites

  • You have an administrator-level access to a server with Red Hat Enterprise Linux 9, and this server is on the same network as the system to be installed.
  • You have downloaded a Binary DVD image. For more information, see Downloading the installation ISO image.
  • You have created a bootable CD, DVD, or USB device from the image file. For more information, see Creating installation media.
  • You have verified that your firewall allows the system you are installing to access the remote installation source. For more information, see Ports for network-based installation.
  • The httpd package is installed.
  • The mod_ssl package is installed, if you use the https installation source.
Warning

If your Apache web server configuration enables SSL security, prefer to enable the TLSv1.3 protocol. By default, TLSv1.2 (LEGACY) is enabled.

Important

If you use an HTTPS server with a self-signed certificate, you must boot the installation program with the noverifyssl option.

Procedure

  1. Copy the DVD ISO image to the HTTP(S) server.
  2. Create a suitable directory for mounting the DVD ISO image, for example:

    # mkdir /mnt/rhel9-install/
  3. Mount the DVD ISO image to the directory:

    # mount -o loop,ro -t iso9660 /image_directory/image.iso /mnt/rhel9-install/

    Replace /image_directory/image.iso with the path to the DVD ISO image.

  4. Copy the files from the mounted image to the HTTP(S) server root.

    # cp -r /mnt/rhel9-install/ /var/www/html/

    This command creates the /var/www/html/rhel9-install/ directory with the content of the image. Note that some other copying methods might skip the .treeinfo file which is required for a valid installation source. Entering the cp command for entire directories as shown in this procedure copies .treeinfo correctly.

  5. Start the httpd service:

    # systemctl start httpd.service

    The installation tree is now accessible and ready to be used as the installation source.

    Note

    When configuring the installation source, use http:// or https:// as the protocol, the server host name or IP address, and the directory that contains the files from the ISO image, relative to the HTTP server root. For example, if you use HTTP, the server host name is myserver.example.com, and you have copied the files from the image to /var/www/html/rhel9-install/, specify http://myserver.example.com/rhel9-install/ as the installation source.

2.4.6. Creating an installation source using FTP

You can create an installation source for a network-based installation using an installation tree, which is a directory containing extracted contents of the DVD ISO image and a valid .treeinfo file. The installation source is accessed over FTP.

Prerequisites

  • You have an administrator-level access to a server with Red Hat Enterprise Linux 9, and this server is on the same network as the system to be installed.
  • You have downloaded a Binary DVD image. For more information, see Creating a bootable installation medium.
  • You have verified that your firewall allows the system you are installing to access the remote installation source. For more information, see Ports for network-based installation.
  • The vsftpd package is installed.

Procedure

  1. Open and edit the /etc/vsftpd/vsftpd.conf configuration file in a text editor.

    1. Change the line anonymous_enable=NO to anonymous_enable=YES
    2. Change the line write_enable=YES to write_enable=NO.
    3. Add lines pasv_min_port=<min_port> and pasv_max_port=<max_port>. Replace <min_port> and <max_port> with the port number range used by FTP server in passive mode, for example, 10021 and 10031.

      This step might be necessary in network environments featuring various firewall/NAT setups.

    4. Optional: Add custom changes to your configuration. For available options, see the vsftpd.conf(5) man page. This procedure assumes that default options are used.

      Warning

      If you configured SSL/TLS security in your vsftpd.conf file, ensure that you enable only the TLSv1 protocol, and disable SSLv2 and SSLv3. This is due to the POODLE SSL vulnerability (CVE-2014-3566). See https://access.redhat.com/solutions/1234773 for details.

  2. Configure the server firewall.

    1. Enable the firewall:

      # systemctl enable firewalld
    2. Start the firewall:

      # systemctl start firewalld
    3. Configure the firewall to allow the FTP port and port range from the previous step:

      # firewall-cmd --add-port min_port-max_port/tcp --permanent
      # firewall-cmd --add-service ftp --permanent

      Replace <min_port> and <max_port> with the port numbers you entered into the /etc/vsftpd/vsftpd.conf configuration file.

    4. Reload the firewall to apply the new rules:

      # firewall-cmd --reload
  3. Copy the DVD ISO image to the FTP server.
  4. Create a suitable directory for mounting the DVD ISO image, for example:

    # mkdir /mnt/rhel9-install
  5. Mount the DVD ISO image to the directory:

    # mount -o loop,ro -t iso9660 /image-directory/image.iso /mnt/rhel9-install

    Replace /image-directory/image.iso with the path to the DVD ISO image.

  6. Copy the files from the mounted image to the FTP server root:

    # mkdir /var/ftp/rhel9-install
    # cp -r /mnt/rhel9-install/ /var/ftp/

    This command creates the /var/ftp/rhel9-install/ directory with the content of the image. Note that some copying methods can skip the .treeinfo file which is required for a valid installation source. Entering the cp command for whole directories as shown in this procedure will copy .treeinfo correctly.

  7. Make sure that the correct SELinux context and access mode is set on the copied content:

    # restorecon -r /var/ftp/rhel9-install
    # find /var/ftp/rhel9-install -type f -exec chmod 444 {} \;
    # find /var/ftp/rhel9-install -type d -exec chmod 755 {} \;
  8. Start the vsftpd service:

    # systemctl start vsftpd.service

    If the service was running before you changed the /etc/vsftpd/vsftpd.conf file, restart the service to load the edited file:

    # systemctl restart vsftpd.service

    Enable the vsftpd service to start during the boot process:

    # systemctl enable vsftpd

    The installation tree is now accessible and ready to be used as the installation source.

    Note

    When configuring the installation source, use ftp:// as the protocol, the server host name or IP address, and the directory in which you have stored the files from the ISO image, relative to the FTP server root. For example, if the server host name is myserver.example.com and you have copied the files from the image to /var/ftp/rhel9-install/, specify ftp://myserver.example.com/rhel9-install/ as the installation source.

2.4.7. Preparing a disk as an installation source

This module describes how to install RHEL by using a disk as an installation source with ext2, ext3, ext4, or XFS file systems. You can use this method for the systems without network access and the optical drive. Disk installations use an ISO image of the installation DVD. An ISO image is a file that contains an exact copy of the content of a DVD. With this file present on a disk, you can choose disk as the installation source when you boot the installation program.

  • To check the file system of a disk partition on a Windows operating system, use the Disk Management tool.
  • To check the file system of a disk partition on a Linux operating system, use the parted tool.
Note

You cannot use ISO files on LVM (Logical Volume Management) partitions.

Procedure

  1. Download an ISO image of the Red Hat Enterprise Linux installation DVD. Alternatively, if you have the DVD on physical media, you can create an image of an ISO with the following command on a Linux system:

    dd if=/dev/dvd of=/path_to_image/name_of_image.iso

    where dvd is your DVD drive device name, name_of_image is the name you give to the resulting ISO image file, and path_to_image is the path to the location on your system where you want to store the image.

  2. Copy and paste the ISO image onto the system disk or a USB drive.
  3. Use a SHA256 checksum program to verify that the ISO image that you copied is intact. Many SHA256 checksum programs are available for various operating systems. On a Linux system, run:

    $ sha256sum /path_to_image/name_of_image.iso

    where name_of_image is the name of the ISO image file. The SHA256 checksum program displays a string of 64 characters called a hash. Compare this hash to the hash displayed for this particular image on the Downloads page in the Red Hat Customer Portal. The two hashes should be identical.

  4. Specify the HDD installation source on the kernel command line before starting the installation:

    inst.repo=hd:<device>:/path_to_image/name_of_image.iso

2.5. Preparing to install from the network using HTTP

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.

2.5.1. Network install overview

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.
Note

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:

Steps

  1. Export the installation ISO image or the installation tree to an NFS, HTTPS, HTTP, or FTP server.
  2. Configure the HTTP or TFTP server and DHCP server, and start the HTTP or TFTP service on the server.
  3. 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.

2.5.2. Configuring the DHCPv4 server for HTTP and PXE boot

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 HTTP and PXE 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

  1. Install the DHCP server:

    dnf install dhcp-server
  2. Set up a DHCPv4 server. Enter the following configuration in the /etc/dhcp/dhcpd.conf file. Replace the addresses to match your network card.

    option architecture-type code 93 = unsigned integer 16;
    
    subnet 192.168.124.0 netmask 255.255.255.0 {
      option routers 192.168.124.1;
      option domain-name-servers 192.168.124.1;
      range 192.168.124.100 192.168.124.200;
      class "pxeclients" {
        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
        next-server 192.168.124.2;
              if option architecture-type = 00:07 {
                filename "redhat/EFI/BOOT/BOOTX64.EFI";
              }
              else {
                filename "pxelinux/pxelinux.0";
              }
      }
      class "httpclients" {
        match if substring (option vendor-class-identifier, 0, 10) = "HTTPClient";
        option vendor-class-identifier "HTTPClient";
        filename "http://192.168.124.2/redhat/EFI/BOOT/BOOTX64.EFI";
      }
    }
  3. Start the DHCPv4 service:

    # systemctl enable --now dhcpd

2.5.3. Configuring the DHCPv6 server for HTTP and PXE boot

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 HTTP and PXE 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

  1. Install the DHCP server:

    dnf install dhcp-server
  2. Set up a DHCPv6 server. Enter the following configuration in the /etc/dhcp/dhcpd6.conf file. Replace the addresses to match your network card.

    option dhcp6.bootfile-url code 59 = string;
    option dhcp6.vendor-class code 16 = {integer 32, integer 16, string};
    
    subnet6 fd33:eb1b:9b36::/64 {
            range6 fd33:eb1b:9b36::64 fd33:eb1b:9b36::c8;
    
            class "PXEClient" {
                    match substring (option dhcp6.vendor-class, 6, 9);
            }
    
            subclass "PXEClient" "PXEClient" {
                    option dhcp6.bootfile-url "tftp://[fd33:eb1b:9b36::2]/redhat/EFI/BOOT/BOOTX64.EFI";
            }
    
            class "HTTPClient" {
                    match substring (option dhcp6.vendor-class, 6, 10);
            }
    
            subclass "HTTPClient" "HTTPClient" {
                    option dhcp6.bootfile-url "http://[fd33:eb1b:9b36::2]/redhat/EFI/BOOT/BOOTX64.EFI";
                    option dhcp6.vendor-class 0 10 "HTTPClient";
            }
    }
  3. Start the DHCPv6 service:

    # systemctl enable --now dhcpd6
  4. 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

2.5.4. Configuring the HTTP server for HTTP boot

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

  1. Install the HTTP server:

    # dnf install httpd
  2. Create the /var/www/html/redhat/ directory:

    # mkdir -p /var/www/html/redhat/
  3. Download the RHEL DVD ISO file. See All Red Hat Enterprise Linux Downloads.
  4. Create a mount point for the ISO file:

    # mkdir -p /var/www/html/redhat/iso/
  5. Mount the ISO file:

    # mount -o loop,ro -t iso9660 path-to-RHEL-DVD.iso /var/www/html/redhat/iso
  6. 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/
  7. Make the boot loader configuration editable:

    # chmod 644 /var/www/html/redhat/EFI/BOOT/grub.cfg
  8. Edit the /var/www/html/redhat/EFI/BOOT/grub.cfg file and replace its content with the following:

    set default="1"
    
    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
    insmod part_gpt
    insmod ext2
    
    set timeout=60
    # END /etc/grub.d/00_header #
    
    search --no-floppy --set=root -l 'RHEL-9-3-0-BaseOS-x86_64'
    
    # BEGIN /etc/grub.d/10_linux #
    menuentry 'Install Red Hat Enterprise Linux 9.3' --class fedora --class gnu-linux --class gnu --class os {
        linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso quiet
        initrdefi ../../images/pxeboot/initrd.img
    }
    menuentry 'Test this media & install Red Hat Enterprise Linux 9.3' --class fedora --class gnu-linux --class gnu --class os {
        linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso quiet
        initrdefi ../../images/pxeboot/initrd.img
    }
    submenu 'Troubleshooting -->' {
        menuentry 'Install Red Hat Enterprise Linux 9.3 in text mode' --class fedora --class gnu-linux --class gnu --class os {
       	 linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso inst.text quiet
       	 initrdefi ../../images/pxeboot/initrd.img
        }
        menuentry 'Rescue a Red Hat Enterprise Linux system' --class fedora --class gnu-linux --class gnu --class os {
       	 linuxefi ../../images/pxeboot/vmlinuz inst.repo=http://192.168.124.2/redhat/iso inst.rescue quiet
       	 initrdefi ../../images/pxeboot/initrd.img
        }
    }

    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.
  9. Make the EFI boot file executable:

    # chmod 755 /var/www/html/redhat/EFI/BOOT/BOOTX64.EFI
  10. 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}
    Note

    This command enables temporary access until the next server reboot. To enable permanent access, add the --permanent option to the command.

  11. Reload firewall rules:

    # firewall-cmd --reload
  12. Start the HTTP server:

    # systemctl enable --now httpd
  13. Make the html directory and its content readable and executable:

    # chmod -cR u=rwX,g=rX,o=rX /var/www/html
  14. Restore the SELinux context of the html directory:

    # restorecon -FvvR /var/www/html

2.6. Preparing to install from the network using PXE

This section describes how to configure TFTP and DHCP on a PXE server to enable PXE boot and network installation.

2.6.1. Network install overview

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.
Note

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:

Steps

  1. Export the installation ISO image or the installation tree to an NFS, HTTPS, HTTP, or FTP server.
  2. Configure the HTTP or TFTP server and DHCP server, and start the HTTP or TFTP service on the server.
  3. 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.

2.6.2. Configuring the DHCPv4 server for HTTP and PXE boot

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 HTTP and PXE 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

  1. Install the DHCP server:

    dnf install dhcp-server
  2. Set up a DHCPv4 server. Enter the following configuration in the /etc/dhcp/dhcpd.conf file. Replace the addresses to match your network card.

    option architecture-type code 93 = unsigned integer 16;
    
    subnet 192.168.124.0 netmask 255.255.255.0 {
      option routers 192.168.124.1;
      option domain-name-servers 192.168.124.1;
      range 192.168.124.100 192.168.124.200;
      class "pxeclients" {
        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
        next-server 192.168.124.2;
              if option architecture-type = 00:07 {
                filename "redhat/EFI/BOOT/BOOTX64.EFI";
              }
              else {
                filename "pxelinux/pxelinux.0";
              }
      }
      class "httpclients" {
        match if substring (option vendor-class-identifier, 0, 10) = "HTTPClient";
        option vendor-class-identifier "HTTPClient";
        filename "http://192.168.124.2/redhat/EFI/BOOT/BOOTX64.EFI";
      }
    }
  3. Start the DHCPv4 service:

    # systemctl enable --now dhcpd

2.6.3. Configuring the DHCPv6 server for HTTP and PXE boot

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 HTTP and PXE 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

  1. Install the DHCP server:

    dnf install dhcp-server
  2. Set up a DHCPv6 server. Enter the following configuration in the /etc/dhcp/dhcpd6.conf file. Replace the addresses to match your network card.

    option dhcp6.bootfile-url code 59 = string;
    option dhcp6.vendor-class code 16 = {integer 32, integer 16, string};
    
    subnet6 fd33:eb1b:9b36::/64 {
            range6 fd33:eb1b:9b36::64 fd33:eb1b:9b36::c8;
    
            class "PXEClient" {
                    match substring (option dhcp6.vendor-class, 6, 9);
            }
    
            subclass "PXEClient" "PXEClient" {
                    option dhcp6.bootfile-url "tftp://[fd33:eb1b:9b36::2]/redhat/EFI/BOOT/BOOTX64.EFI";
            }
    
            class "HTTPClient" {
                    match substring (option dhcp6.vendor-class, 6, 10);
            }
    
            subclass "HTTPClient" "HTTPClient" {
                    option dhcp6.bootfile-url "http://[fd33:eb1b:9b36::2]/redhat/EFI/BOOT/BOOTX64.EFI";
                    option dhcp6.vendor-class 0 10 "HTTPClient";
            }
    }
  3. Start the DHCPv6 service:

    # systemctl enable --now dhcpd6
  4. 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

2.6.4. Configuring a TFTP server for BIOS-based clients

Use this procedure to configure a TFTP server and DHCP server and start the TFTP service on the PXE server for BIOS-based AMD and Intel 64-bit systems.

Important

All configuration files in this section are examples. Configuration details vary and are dependent on the architecture and specific requirements.

Procedure

  1. As root, install the following package.

    # dnf install tftp-server
  2. Allow incoming connections to the tftp service in the firewall:

    # firewall-cmd --add-service=tftp
    Note
    • This command enables temporary access until the next server reboot. To enable permanent access, add the --permanent option to the command.
    • Depending on the location of the installation ISO file, you might have to allow incoming connections for HTTP or other services.
  3. Access the pxelinux.0 file from the SYSLINUX package in the DVD ISO image file, where my_local_directory is the name of the directory that you create:

    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/AppStream/Packages/syslinux-tftpboot-version-architecture.rpm /my_local_directory
    # umount /mount_point
  4. Extract the package:

    # rpm2cpio syslinux-tftpboot-version-architecture.rpm | cpio -dimv
  5. Create a pxelinux/ directory in tftpboot/ and copy all the files from the directory into the pxelinux/ directory:

    # mkdir /var/lib/tftpboot/pxelinux
    # cp /my_local_directory/tftpboot/* /var/lib/tftpboot/pxelinux
  6. Create the directory pxelinux.cfg/ in the pxelinux/ directory:

    # mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
  7. Create a configuration file named default and add it to the pxelinux.cfg/ directory as shown in the following example:

    default vesamenu.c32
    prompt 1
    timeout 600
    
    display boot.msg
    
    label linux
      menu label ^Install system
      menu default
      kernel images/RHEL-9/vmlinuz
      append initrd=images/RHEL-9/initrd.img ip=dhcp inst.repo=http://192.168.124.2/RHEL-9/x86_64/iso-contents-root/
    label vesa
      menu label Install system with ^basic video driver
      kernel images/RHEL-9/vmlinuz
      append initrd=images/RHEL-9/initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://192.168.124.2/RHEL-9/x86_64/iso-contents-root/
    label rescue
      menu label ^Rescue installed system
      kernel images/RHEL-9/vmlinuz
      append initrd=images/RHEL-9/initrd.img inst.rescue
      inst.repo=http:///192.168.124.2/RHEL-8/x86_64/iso-contents-root/
    label local
      menu label Boot from ^local drive
      localboot 0xffff
    Note
    • The installation program cannot boot without its runtime image. Use the inst.stage2 boot option to specify location of the image. Alternatively, you can use the inst.repo= option to specify the image as well as the installation source.
    • The installation source location used with inst.repo must contain a valid .treeinfo file.
    • When you select the RHEL9 installation DVD as the installation source, the .treeinfo file points to the BaseOS and the AppStream repositories. You can use a single inst.repo option to load both repositories.
  8. Create a subdirectory to store the boot image files in the /var/lib/tftpboot/ directory, and copy the boot image files to the directory. In this example, the directory is /var/lib/tftpboot/pxelinux/images/RHEL-9/:

    # mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-9/
    # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-9/
  9. Start and enable the tftp.socket service:

    # systemctl enable --now tftp.socket

    The PXE boot server is now ready to serve PXE clients. You can start the client, which is the system to which you are installing Red Hat Enterprise Linux, select PXE Boot when prompted to specify a boot source, and start the network installation.

2.6.5. Configuring a TFTP server for UEFI-based clients

Use this procedure to configure a TFTP server and DHCP server and start the TFTP service on the PXE server for UEFI-based AMD64, Intel 64, and 64-bit ARM systems.

Important
  • All configuration files in this section are examples. Configuration details vary and are dependent on the architecture and specific requirements.
  • Red Hat Enterprise Linux 9 UEFI PXE boot supports a lowercase file format for a MAC-based grub menu file. For example, the MAC address file format for grub2 is grub.cfg-01-aa-bb-cc-dd-ee-ff

Procedure

  1. As root, install the following package.

    # dnf install tftp-server
  2. Allow incoming connections to the tftp service in the firewall:

    # firewall-cmd --add-service=tftp
    Note
    • This command enables temporary access until the next server reboot. To enable permanent access, add the --permanent option to the command.
    • Depending on the location of the installation ISO file, you might have to allow incoming connections for HTTP or other services.
  3. Access the EFI boot image files from the DVD ISO image:

    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
  4. Copy the EFI boot images from the DVD ISO image:

    # mkdir /var/lib/tftpboot/redhat
    # cp -r /mount_point/EFI /var/lib/tftpboot/redhat/
    # umount /mount_point
  5. Fix the permissions of the copied files:

    # chmod -R 755 /var/lib/tftpboot/redhat/
  6. Replace the content of /var/lib/tftpboot/redhat/EFI/BOOT/grub.cfg with the following example:

    set timeout=60
    menuentry 'RHEL 9' {
      linuxefi images/RHEL-9/vmlinuz ip=dhcp inst.repo=http://192.168.124.2/RHEL-9/x86_64/iso-contents-root/
      initrdefi images/RHEL-9/initrd.img
    }
    Note
    • The installation program cannot boot without its runtime image. Use the inst.stage2 boot option to specify location of the image. Alternatively, you can use the inst.repo= option to specify the image as well as the installation source.
    • The installation source location used with inst.repo must contain a valid .treeinfo file.
    • When you select the RHEL9 installation DVD as the installation source, the .treeinfo file points to the BaseOS and the AppStream repositories. You can use a single inst.repo option to load both repositories.
  7. Create a subdirectory to store the boot image files in the /var/lib/tftpboot/ directory, and copy the boot image files to the directory. In this example, the directory is /var/lib/tftpboot/images/RHEL-9/:

    # mkdir -p /var/lib/tftpboot/images/RHEL-9/
    # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-9/
  8. Start and enable the tftp.socket service:

    # systemctl enable --now tftp.socket

    The PXE boot server is now ready to serve PXE clients. You can start the client, which is the system to which you are installing Red Hat Enterprise Linux, select PXE Boot when prompted to specify a boot source, and start the network installation.

Additional resources

2.6.6. Configuring a network server for IBM Power systems

Use this procedure to configure a network boot server for IBM Power systems using GRUB2.

Important

All configuration files in this section are examples. Configuration details vary and are dependent on the architecture and specific requirements.

Procedure

  1. As root, install the following packages:

    # dnf install tftp-server dhcp-server
  2. Allow incoming connections to the tftp service in the firewall:

    # firewall-cmd --add-service=tftp
    Note
    • This command enables temporary access until the next server reboot. To enable permanent access, add the --permanent option to the command.
    • Depending on the location of the installation ISO file, you might have to allow incoming connections for HTTP or other services.
  3. Create a GRUB2 network boot directory inside the TFTP root:

    # grub2-mknetdir --net-directory=/var/lib/tftpboot
    Netboot directory for powerpc-ieee1275 created. Configure your DHCP server to point to /boot/grub2/powerpc-ieee1275/core.elf
    Note

    The command output informs you of the file name that needs to be configured in your DHCP configuration, described in this procedure.

    1. If the PXE server runs on an x86 machine, the grub2-ppc64-modules must be installed before creating a GRUB2 network boot directory inside the tftp root:

      # dnf install grub2-ppc64-modules
  4. Create a GRUB2 configuration file: /var/lib/tftpboot/boot/grub2/grub.cfg as shown in the following example:

    set default=0
    set timeout=5
    
    echo -e "\nWelcome to the Red Hat Enterprise Linux 9 installer!\n\n"
    
    menuentry 'Red Hat Enterprise Linux 9' {
      linux grub2-ppc64/vmlinuz ro ip=dhcp inst.repo=http://192.168.124.2/RHEL-9/x86_64/iso-contents-root/
      initrd grub2-ppc64/initrd.img
    }
    Note
    • The installation program cannot boot without its runtime image. Use the inst.stage2 boot option to specify location of the image. Alternatively, you can use the inst.repo= option to specify the image as well as the installation source.
    • The installation source location used with inst.repo must contain a valid .treeinfo file.
    • When you select the RHEL8 installation DVD as the installation source, the .treeinfo file points to the BaseOS and the AppStream repositories. You can use a single inst.repo option to load both repositories.
  5. Mount the DVD ISO image using the command:

    # mount -t iso9660 /path_to_image/name_of_iso/ /mount_point -o loop,ro
  6. Create a directory and copy the initrd.img and vmlinuz files from DVD ISO image into it, for example:

    # cp /mount_point/ppc/ppc64/{initrd.img,vmlinuz} /var/lib/tftpboot/grub2-ppc64/
  7. Configure your DHCP server to use the boot images packaged with GRUB2 as shown in the following example. Note that if you already have a DHCP server configured, then perform this step on the DHCP server.

    subnet 192.168.0.1 netmask 255.255.255.0 {
      allow bootp;
      option routers 192.168.0.5;
      group { #BOOTP POWER clients
        filename "boot/grub2/powerpc-ieee1275/core.elf";
        host client1 {
        hardware ethernet 01:23:45:67:89:ab;
        fixed-address 192.168.0.112;
        }
      }
    }
  8. Adjust the sample parameters subnet, netmask, routers, fixed-address and hardware ethernet to fit your network configuration. Note the file name parameter; this is the file name that was outputted by the grub2-mknetdir command earlier in this procedure.
  9. On the DHCP server, start and enable the dhcpd service. If you have configured a DHCP server on the localhost, then start and enable the dhcpd service on the localhost.

    # systemctl enable --now dhcpd
  10. Start and enable the tftp.socket service:

    # systemctl enable --now tftp.socket

    The PXE boot server is now ready to serve PXE clients. You can start the client, which is the system to which you are installing Red Hat Enterprise Linux, select PXE Boot when prompted to specify a boot source, and start the network installation.

2.7. Creating a remote repository

Follow the steps in this procedure to create an installation source for a network-based installation using a remote repository containing extracted contents of the DVD ISO image. The installation source is accessed over HTTP or HTTPS.

Prerequisites

  • You have a Red Hat Enterprise Linux 9 installation DVD/ISO image.
  • You have several servers running Red Hat Enterprise Linux.

2.7.1. Installing Apache on RHEL

This procedure will help you install Apache on Red Hat Enterprise Linux 9.

Prerequisites

  • You have access to a repo with Apache webserver.

Procedure

  1. Install the httpd package

    # dnf install httpd
  2. Run, then enable the Apache webserver. These commands will also start the webserver after reboot.

    # systemctl enable httpd
    # systemctl start httpd
  3. Insert any website files you may have.

    # echo Apache on RHEL {ProductNumber} > /var/www/html/index.html
  4. Update the firewall.

    # firewall-cmd --add-service=http --permanent
    # firewall-cmd --add-service=http
  5. Access the website.

    http://<the-apache-ip-address>
    
    http://<the-apache-hostname>

2.7.2. Creating a remote repository

Multiple Red Hat Enterprise Linux servers may access a single Red Hat Enterprise Linux repository on the network. This requires a running web server, most likely this will be Apache.

Prerequisites

  • You have a Red Hat Enterprise Linux 9 installation DVD/ISO image.
  • You have several servers running Red Hat Enterprise Linux.

Procedure

  1. Mount and copy the content of downloaded DVD.

    mkdir /mnt/rhel{ProductNumber}
    mount -o loop,ro rhel-{ProductNumber}-x86_64-dvd.iso /mnt/rhel{ProductNumber}/
    cp -r /mnt/rhel{ProductNumber}/ /var/www/html/
    umount  /mnt/rhel{ProductNumber}

    The next step is performed on the client side, not on the server where Apache is installed.

  2. Create a repo file for both BaseOS and AppStream repositories.

    vi /etc/yum.repos.d/rhel_http_repo.repo
    
    [BaseOS_repo_http]
    name=RHEL_9_x86_64_HTTP BaseOS
    baseurl="http://myhost/rhel9/BaseOS"
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    
    [AppStream_repo_http]
    name=RHEL_9_x86_64_HTTP AppStream
    baseurl="http://myhost/rhel9/AppStream"
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    
    [root@localhost ~]# dnf repolist
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 0:08:33 ago on Út 23. července 2019, 16:48:09 CEST.
    repo id                                                              repo name                                                                        status
    AppStream_repo_http                                                  RHEL_9_x86_64_HTTP AppStream                                                   4,672
    BaseOS_repo_http                                                     RHEL_9_x86_64_HTTP BaseOS                                                      1,658
    [root@localhost ~]#