Add RHEL 6 installation option to PXE Server - CentLinux

Latest

Wednesday, 31 October 2018

Add RHEL 6 installation option to PXE Server

Add RHEL 6 installation option to PXE Server

In our previous posts, we have configured a PXE boot server for automated installation of RHEL 7.5 operating system that supports both BIOS and UEFI based clients. Now, we will add RHEL 6 installation option in our PXE boot server. We will also create a Kickstart file for automated installation of RHEL 6 operating system, and ensure that it will support both BIOS and UEFI based clients.

Note: In this article, we are performing everything from CLI, therefore, it is highly recommended that, you should have Linux Pocket Guide: Essential Commands for quick reference.

 

This Article Provides:

     

    System Specification:

    We use the same Linux server that we have configured as PXE Boot Server in our previous article. These specifications have been re-mentioned below for convenience of the readers.

    • CPU - 2 Core (2.4 Mhz)
    • Memory - 2 GB
    • Storage - 50 GB
    • Operating System - RHEL 7.5
    • Hostname - pxe-server.itlab.com
    • IP Address - 192.168.116.41/24

     

    Copy RHEL 6 ISO/DVD contents to FTP Server:

    Connect to pxe-server.itlab.com using ssh.

    Attach RHEL 6 ISO/DVD and mount it at /mnt/iso (you can use any mountpoint, according to your choice).

    [root@pxe-server ~]# mount -t iso9660 /dev/cdrom /mnt/iso mount: /dev/sr0 is write-protected, mounting read-only

    Copy contents of /mnt/iso directory to FTP server.

    [root@pxe-server ~]# cp -rf /mnt/iso /var/ftp/pub/rhel6

     

    Create a Kickstart file for automated installation of RHEL 6:

    We have to write a Kickstart file for RHEL 6 within the /var/ftp/pub/rhel6 directory, so it can be accessed by PXE clients via FTP service.

    [root@pxe-server ~]# vi /var/ftp/pub/rhel6/rhel6.cfg

    A sample kickstart file is given below, you can modify it according to your requirements.

    Read Also: Automate PXE Client Installations with Kickstart

    #platform=x86, AMD64, or Intel EM64T #version=DEVEL # Install OS instead of upgrade install # Keyboard layouts keyboard 'us' # Root password rootpw --iscrypted $1$vyNMLtgd$VmtByshddZSBK..uuFhoH0 # Use network installation url --url="ftp://192.168.116.41/pub/rhel6" # System language lang en_US # System authorization information auth --useshadow --passalgo=sha512 # Use graphical install graphical firstboot --disable # SELinux configuration selinux --enforcing # Firewall configuration firewall --enabled --ssh # Network information network --bootproto=dhcp --device=eth0 # Reboot after installation reboot # System timezone timezone Asia/Karachi # System bootloader configuration bootloader --location=mbr autopart # Partition clearing information clearpart --none --initlabel # Packages to be installed %packages @core %end

     

    Copy boot images to tftpboot directory:

    We need to copy initrd.img and vmlinuz files from RHEL 6 ISO to /var/lib/tftpboot/networkboot/rhel6 directory. These files will be later referenced in the menu entry of PXE boot menu.

    [root@pxe-server ~]# mkdir /var/lib/tftpboot/networkboot/rhel6 [root@pxe-server ~]# cp /var/ftp/pub/rhel6/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/rhel6/ [root@pxe-server ~]# cp /var/ftp/pub/rhel6/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/rhel6/

     

    Create Menu Entries for RHEL 6 installation:

    Edit PXE boot menu for BIOS based clients.

    [root@pxe-server ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

    add a menu entry for RHEL 6 installation therein.

    default menu.c32 prompt 0 timeout 30 menu title Ahmer's PXE Menu label Install RHEL 7.5 kernel /networkboot/rhel7/vmlinuz append initrd=/networkboot/rhel7/initrd.img inst.repo=ftp://192.168.116.41/pub/rhel7 ks=ftp://192.168.116.41/pub/rhel7/rhel7.cfg label Install RHEL 6.0 (64-bit) kernel /networkboot/rhel6/vmlinuz append initrd=/networkboot/rhel6/initrd.img inst.repo=ftp://192.168.116.41/pub/rhel6 ks=ftp://192.168.116.41/pub/rhel6/rhel6.cfg

    Edit PXE boot menu for UEFI based clients.

    [root@pxe-server ~]# vi /var/lib/tftpboot/grub.cfg

    add a menu entry for RHEL 6 installation therein.

    set timeout=60 menuentry 'Install RHEL 7.5' { linuxefi /networkboot/rhel7/vmlinuz inst.repo=ftp://192.168.116.41/pub/rhel7/ inst.ks=ftp://192.168.116.41/pub/rhel7/rhel7.cfg initrdefi /networkboot/rhel7/initrd.img } menuentry 'Install RHEL 6.0' { linuxefi /networkboot/rhel6/vmlinuz inst.repo=ftp://192.168.116.41/pub/rhel6/ inst.ks=ftp://192.168.116.41/pub/rhel6/rhel6.cfg initrdefi /networkboot/rhel6/initrd.img }

    Now, connect a BIOS based PXE client to network and boot it. It will display the following PXE boot menu.

    PXE Boot Menu for BIOS based Clients

    Similarly, connect a UEFI based PXE client to network and boot it. It will display the following PXE boot menu.

    PXE Boot Menu for UEFI based Clients

    We have successfully added the RHEL 6 installation option to our PXE boot server. You can add other versions of RHEL or CentOS in similar manner.

    No comments:

    Post a comment