CentOS - Network Installation

This page covers Network installations of CentOS Version 7. Page contents -

Requirements

Your Network Boot Program will need to include HTTP support - if using grub4dos or PXELINUX you will need to chainload iPXE.

If using the Netinstall (LAN) method then you will need to download one of the CentOS iso files -

Netinstall (Internet)

A simple method to install CentOS is covered on the iPXE website (here) - an iPXE script is used to start the process and all files are copied from one of the on-line CentOS repositories.

Create a script in the TFTP root directory C:\pxesrv\files\centos.install.txt. Configure Tiny PXE Server to load iPXE > chainload the script using the altfilename option in config.ini (add altfilename=centos.install.txt to config.ini).

Sample script centos.install.txt -

Netinstall (LAN)

This method can be used to install CentOS on a network with no internet access. The CentOS source will need to be downloaded and configured, however these steps can be completed on another system.

Download either the DVD or Everything iso files (see here). If you have the required storage space and bandwidth, then I recommend downloading the Everything iso as this contains a full CentOS repository.

CentOS-7-x86_64-Everything-1611.iso was used in testing. Download the iso and copy the contents to the following path - C:\pxesrv\files\centos7x64\.

The source files will need to be modified in order for the INSTALLATION SOURCE to be correctly located when CentOS is loaded. There will be a number of files in the C:\pxesrv\files\centos7x64\repodata directory missing a required file extension. Open C:\pxesrv\files\centos7x64\repodata\repomd.xml to identify the required file extension(s) and rename the files accordingly. For example, rename...

...to...

Depending on the options picked during the installation, you may need to rename some of the files in the C:\pxesrv\files\centos7x64\Packages directory.

During my first install attempt I received an error due to gnome-shell-extension-launch-new-instance-3.14.4-21.el7.noarch.rpm not being found. On checking the contents of the C:\pxesrv\files\centos7x64\Packages directory, I noticed that the required file was missing the correct file extension - (the required file had a .r extension - not .rpm).

Consider renaming any files in the C:\pxesrv\files\centos7x64\Packages directory with a .r extension to .rpm. These packages include -

Now create a script to boot CentOS using the local repository. Create a script in the TFTP root directory C:\pxesrv\files\centos.install.txt. Configure Tiny PXE Server to load iPXE > chainload the script using the altfilename option in config.ini (add altfilename=centos.install.txt to config.ini).

Sample script centos.install.txt -

NOTE - remember to change any references to ${dhcp-server} to ${next-server} if using ProxyDHCP.

Install CentOS

The installation process is straightforward - it is covered in more detail in the iSCSI (Netinstall CentOS to Target) page.

Alternatively, see here for a detailed walkthrough.


Document date - 28th February 2017(DRAFT)