1.3.5 Boot Loader Configuration for BIOS-Based PXE Clients

The default file is the default boot loader configuration file for BIOS-based PXE clients and uses pxelinux configuration settings, for example:

prompt 0
default ol7
timeout 0

label ol7
kernel vmlinuz
append initrd=initrd.img inst.repo=http://10.0.0.11/OSimage/OL7 inst.ks.sendmac \
inst.ks=http://10.0.0.11/ksfiles/ol7_cfg.ks

To allow the boot: prompt to be displayed, change the value of prompt to 1. To display the prompt, press Shift or Alt at the console.

The default directive identifies the default boot entry by its label value, ol7.

Pxelinux boots the client using the default boot entry after timeout/10 seconds.

The kernel directive defines the name of the kernel executable and the append directive defines any parameters that should be appended when loading the kernel, such as the name of the ram-disk image and the location of a kickstart file.

The kernel and ram-disk image file paths are assumed to be relative to the subdirectory that contains the boot loader, for example pxelinux. If you place the vmlinuz and initrd.img files in a subdirectory such as pxelinux/OL7, ensure you have the correct relative paths.

If you want to display the boot loader configuration as a menu on the screen, you can use the menu.c32 module. To do this:

  1. Copy the menu.c32 module to the boot loader directory:

    # cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/pxelinux
  2. Edit the boot loader configuration to use the module, for example:

    default menu.c32
    timeout 0
    
    menu title Install Oracle Linux
    label Install Oracle Linux 7
    kernel vmlinuz
    append initrd=initrd.img inst.repo=http://10.0.0.11/OSimage/OL7 inst.ks.sendmac \
    inst.ks=http://10.0.0.11/ksfiles/ol7_cfg.ks

To support different types of client, you can create a configuration file named for:

  • A client's UUID (for example, a8943708-c6f6-51b9-611e-74e6ac80b93d).

  • A client's MAC address prefixed by 01-, which represents the ARP hardware type for Ethernet, and using dashes to separate each byte value instead of colons (for example, 01-80-00-27-c6-a1-16).

    Note

    The file name must use lowercase characters for the MAC address.

  • A client's IP address expressed in hexadecimal without any leading 0x (for example, 0A0000FD represents the IP address 10.0.0.253).

    To reduce the number of configuration files, you can group clients by IP address range, for example 0A0000E represents the IP address range 10.0.0.224 through 10.0.0.239.

Place the configuration files in pxelinux/pxelinux.cfg.

The boot loader looks for a configuration file in the following order until it finds a matching file name:

  • UUID (for example, a8943708-c6f6-51b9-611e-74e6ac80b93d)

  • 01-MAC_address (for example, 01-80-00-27-c6-a1-16)

  • Full 32 bits of the IP address (for example, 0A0000FD)

  • Most significant 28 bits of the IP address (for example, 0A0000F)

  • Most significant 24 bits of the IP address (for example, 0A0000)

  • Most significant 20 bits of the IP address (for example, 0A000)

  • Most significant 16 bits of the IP address (for example, 0A00)

  • Most significant 12 bits of the IP address (for example, 0A0)

  • Most significant 8 bits of the IP address (for example, 0A)

  • Most significant 4 bits of the IP address (for example, 0)

  • default (the default configuration file)

If several configuration files have identical content, you can use the ln command to link the files to a master copy, for example:

# ln master-ol7 0A0000FC
# ln master-ol7 0A0000FD
# ln master-ol7 0A0000FE

For more information about pxelinux, see http://www.syslinux.org/wiki/index.php/PXELINUX.

For information about configuring and using kickstart to perform automated installation, see Section 3.2, “Automated Installation Using Kickstart”.