Search for:
Network Installation of “Debian 7 (Wheezy) on Client Machines using DNSMASQ Network Boot Server

Network Installation of &-8220;Debian 7 (Wheezy) on Client Machines using DNSMASQ Network Boot Server &-8211; this Article or News was published on this date:2019-05-28 19:00:43 kindly share it with friends if you find it helpful

This tutorial will guide you on how you can install Debian 7 (Wheezy) directly from a network location using DNSMASQ as a PXE Server (Preboot eXecution Environment), in case your server doesn’t provide any method to boot from a CD/DVD/USB media drive or it just can operate with an attached monitor, keyboard and mouse.

Network Installation of Debian 7Network Installation of Debian 7

Debian 7 Network Installation on Client Machines

DNSMASQ is a lightweight network infrastructure server which can provide crucial network services such as DNS, DHCP and Network Boot, using a build-in DNS, DHCP and TFTP server.

Once the PXE server is up and running you can instruct all your clients machines to directly boot from network, with the specifications that your clients must own a network card that supports network booting, which can be enabled from BIOS under Network Boot or Boot Services option.

Requirements

  1. Debian 7 (Wheezy) Installation Guide

Step 1: Install and Configure DNSMASQ Server

1. On first hand, after you install Debian Server assure that your system uses a Static IP Address, because, besides network booting, will also provide DHCP service for your entire network segment. Once the Static IP Address has been configured run the following command from root account or using a user with root powers to install DNSMASQ server.

- apt-get install dnsmasq
Network Installation of Debian 7Install Dnsmasq in Debian

Install Dnsmasq Package

2. Once DNSMASQ package installed, you can start editing its configuration file. First create a backup of the main configuration and then start editing dnsmasq.conf file by issuing the following commands.

- mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.backup
- nano /etc/dnsmasq.conf
Network Installation of Debian 7Backup Dnsmasq Configuration

Backup Dnsmasq Configuration

3. The above backup process consisted on renaming the main configuration file, so the new file should be an empty one. Use the following excerpt for DNSMASQ configuration file as described below.

interface=eth0
domain=debian.lan
dhcp-range=192.168.1.3,192.168.1.253,255.255.255.0,1h
dhcp-boot=pxelinux.0,pxeserver,192.168.1.100
pxe-prompt="Press F8 for menu.", 60
-pxe-service types: x86PC, PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
pxe-service=x86PC, "Install Debian 7 Linux from network server 192.168.1.100", pxelinux
enable-tftp
tftp-root=/srv/tftp
Network Installation of Debian 7Configuration of Dnsmasq

Configuration of Dnsmasq

  1. interface – The network interface that the server should listen.
  2. domain – Replace it with your domain name.
  3. dhcp-range – Replace it with your network IP range defined by your network mask.
  4. dhcp-boot – Leave it as default but replace the IP statement with your server IP Address.
  5. pxe-prompt – Leave it as default – requires F8 key strike to enter menu 60 with seconds wait time.
  6. pxe=service – Use x86PC for 32-bit/64-bit architectures and enter a menu description prompt under string quotes. Other values types can be: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI.
  7. enable-tftp – Enables the build-in TFTP server.
  8. tftp-root – Use /srv/tftp is the location for Debian netboot files.

Step 2: Download Debian Netboot Files and Open Firewall Connection

4. Now it’s time to download Debian Network Boot files. First, change your current working directory path to TFTP Root location defined by the last configuration statement (/srv/tftp system path ).

Go to a offical page mirror of Debian NetinstallNetwork boot section and grab the following files depending on your system architecture that you want to install it on your clients.

Once, you download netboot.tar.gz file, extract archive at the same time (this procedure describes only for 64-bit but the same procedure applies for other system architectures).

- cd /srv/tftp/
- wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/netboot.tar.gz
- tar xfz netboot.tar.gz
- wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/SHA256SUMS
- wget http://ftp.nl.debian.org/debian/dists/wheezy/Release
- wget http://ftp.nl.debian.org/debian/dists/wheezy/Release.gpg

Also it may be necessary to make all files in TFTP directory readable for TFTP server.

- chmod -R 755 /srv/tftp/
Network Installation of Debian 7Download Debian NetBoot Files

Download Debian NetBoot Files

Use the following variables for Debian Netinstall mirrors and architectures.

- wget http://"$YOURMIRROR"/debian/dists/wheezy/main/installer-"$ARCH"/current/images/netboot/netboot.tar.gz
- wget http://"$YOURMIRROR"/debian/dists/wheezy/main/installer-"$ARCH"/current/images/SHA256SUMS
- wget http://"$YOURMIRROR"/debian/dists/wheezy/Release
- wget http://"$YOURMIRROR"/debian/dists/wheezy/Release.gpg

5. On the next step start or restart DNSMASQ daemon and run netstat command to get a list of ports that the server is listening.

- service dnsmasq restart
- netstat -tulpn | grep dnsmasq
Network Installation of Debian 7Start Dnsmasq Service

Start Dnsmasq Service

6. Debian based distribution usually ships with UFW Firewall package. Use the following commands to open the required DNSMASQ port numbers: 67 (Bootps), 69 (TFTP) 53 (DNS), 4011 (proxyDHCP) udp and 53 tcp (DNS).

- ufw allow 69/udp
- ufw allow 4011/udp   -- Only if you have a ProxyDHCP on the network
- ufw allow 67/udp
- ufw allow 53/tcp
- ufw allow 53/udp
Network Installation of Debian 7Open Dnsmasq Ports

Open Dnsmasq Ports

Now, the PXE loader located on your client network interface will load pxelinux configuration files from /srv/tftp/pxelinux.cfg directory using this order.

  1. GUID files
  2. MAC files
  3. Default file

Step 3: Configure Clients to Boot from Network

7. To enable network boot for a client computer enter your system BIOS configuration (please consult the hardware motherboard vendor documentation for entering BIOS settings).

Go to Boot menu and select Network boot as the primary boot device (on some systems you can select the boot device without entering BIOS configuration just by pressing a key during BIOS POST).

Network Installation of Debian 7Select BIOS Settings

Select BIOS Settings

8. After editing the boot order sequence, usually, press F10 to save BIOS settings. After reboot, your client computer should boot directly from network and the first PXE prompt should appear demanding you to press F8 key to enter menu.

Next, hit F8 key to move forward and a new prompt should appear. Hit Enter key again and the main Debian Installer prompt should appear on your screen as in the screenshots below.

Network Installation of Debian 7Boot Menu Selection

Boot Menu Selection

Network Installation of Debian 7Select Debian Installer Boot

Select Debian Installer Boot

Network Installation of Debian 7Select Debian Install

Select Debian Install

From here on you can start install Debian on your machine using the Debian 7 Wheezy procedure (installation link given above), but you can also need to make sure that your machine has an active Internet connection in order to be able to finish installation process.

Step 4: Debug DNSMASQ Server and Enable it System-Wide

9. To diagnosticate the server for eventual occurred problems or other information offered to clients run the following command to open log file.

- tailf /var/log/daemon.log
Network Installation of Debian 7Debug DNSMASQ Server

Debug DNSMASQ Server

10. If everything is in place during server tests you can now enable DNSMASQ daemon to automatically start after system reboot with the help of sysv-rc-conf package.

- apt-get install sysv-rc-conf
- sysv-rc-conf dnsmaq on
Network Installation of Debian 7Enable DNSMASQ Daemon

Enable DNSMASQ Daemon

That’s all! Now your PXE server is ready to allocate IP addresses (DHCP) and to offer the required boot information for all your network segment clients which will be configured to boot and install Debian Wheezy from network.

Using PXE network boot installation has some advantages on networks with an increased number of server hosts because you can set up the entire network infrastructure in a short period of time or the same time, facilitates the distribution upgrading process, and, can also automate the entire installation process using kickstart files.

Setting up a ‘PXE Network Boot Server’ for Multiple Linux Distribution Installations in RHEL/CentOS 7

Setting up a &-8216;PXE Network Boot Server&-8217; for Multiple Linux Distribution Installations in RHEL/CentOS 7 &-8211; this Article or News was published on this date:2019-05-28 18:58:44 kindly share it with friends if you find it helpful

PXE Server – Preboot eXecution Environment – instructs a client computer to boot, run or install an operating system directly form a network interface, eliminating the need to burn a CD/DVD or use a physical medium, or, can ease the job of installing Linux distributions on your network infrastructure on multiple machines the same time.

Setting PXE Network Boot in CentOSSetting PXE Network Boot in CentOS

Setting PXE Network Boot in RHEL/CentOS 7

Requirements

  1. CentOS 7 Minimal Installation Procedure
  2. RHEL 7 Minimal Installation Procedure
  3. Configure Static IP Address in RHEL/CentOS 7
  4. Remove Unwanted Services in RHEL/CentOS 7
  5. Install NTP Server to Set Correct System Time in RHEL/CentOS 7

This article will explain how you can install and configure a PXE Server on RHEL/CentOS 7 x64-bit with mirrored local installation repositories, sources provided by CentOS 7 DVD ISO image, with the help of DNSMASQ Server.

Which provides DNS and DHCP services, Syslinux package which provides bootloaders for network booting, TFTP-Server, which makes bootable images available to be downloaded via network using Trivial File Transfer Protocol (TFTP) and VSFTPD Server which will host the local mounted mirrored DVD image – which will act as an official RHEL/CentOS 7 mirror installation repository from where the installer will extract its required packages.

Step 1: Install and configure DNSMASQ Server

1. No need to remind you that is absolutely demanding that one of your network card interface, in case your server poses more NICs, must be configured with a static IP address from the same IP range that belongs to the network segment that will provide PXE services.

So, after you have configured your static IP Address, updated your system and performed other initial settings, use the following command to install DNSMASQ daemon.

- yum install dnsmasq
Setting PXE Network Boot in CentOSInstall dnsmasq in CentOS

Install dnsmasq Package

2. DNSMASQ main default configuration file located in /etc directory is self-explanatory but intends to be quite difficult to edit, do to its highly commented explanations.

First make sure you backup this file in case you need to review it later and, then, create a new blank configuration file using your favorite text editor by issuing the following commands.

- mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.backup
- nano /etc/dnsmasq.conf

3. Now, copy and paste the following configurations on dnsmasq.conf file and assure that you change the below explained statements to match your network settings accordingly.

interface=eno16777736,lo
-bind-interfaces
domain=centos7.lan
- DHCP range-leases
dhcp-range= eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h
- PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.20
- Gateway
dhcp-option=3,192.168.1.1
- DNS
dhcp-option=6,92.168.1.1, 8.8.8.8
server=8.8.4.4
- Broadcast Address
dhcp-option=28,10.0.0.255
- NTP Server
dhcp-option=42,0.0.0.0

pxe-prompt="Press F8 for menu.", 60
pxe-service=x86PC, "Install CentOS 7 from network server 192.168.1.20", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot
Setting PXE Network Boot in CentOSDnsmasq Configuration in CentOS

Dnsmasq Configuration

The statements that you need to change are follows:

  1. interface – Interfaces that the server should listen and provide services.
  2. bind-interfaces – Uncomment to bind only on this interface.
  3. domain – Replace it with your domain name.
  4. dhcp-range – Replace it with IP range defined by your network mask on this segment.
  5. dhcp-boot – Replace the IP statement with your interface IP Address.
  6. dhcp-option=3,192.168.1.1 – Replace the IP Address with your network segment Gateway.
  7. dhcp-option=6,92.168.1.1 – Replace the IP Address with your DNS Server IP – several DNS IPs can be defined.
  8. server=8.8.4.4 – Put your DNS forwarders IPs Addresses.
  9. dhcp-option=28,10.0.0.255 – Replace the IP Address with network broadcast address –optionally.
  10. dhcp-option=42,0.0.0.0 – Put your network time servers – optionally (0.0.0.0 Address is for self-reference).
  11. pxe-prompt – Leave it as default – means to hit F8 key for entering menu 60 with seconds wait time..
  12. pxe=service – Use x86PC for 32-bit/64-bit architectures and enter a menu description prompt under string quotes. Other values types can be: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI.
  13. enable-tftp – Enables the build-in TFTP server.
  14. tftp-root – Use /var/lib/tftpboot – the location for all netbooting files.

For other advanced options concerning configuration file feel free to read dnsmasq manual.

Step 2: Install SYSLINUX Bootloaders

4. After you have edited and saved DNSMASQ main configuration file, go ahead and install Syslinx PXE bootloader package by issuing the following command.

- yum install syslinux
Setting PXE Network Boot in CentOSInstall Syslinux Bootloaders in CentOS

Install Syslinux Bootloaders

5. The PXE bootloaders files reside in /usr/share/syslinux absolute system path, so you can check it by listing this path content. This step is optional, but you might need to be aware of this path because on the next step, we will copy of all its content to TFTP Server path.

- ls /usr/share/syslinux
Setting PXE Network Boot in CentOSSyslinux Files

Syslinux Files

Step 3: Install TFTP-Server and Populate it with SYSLINUX Bootloaders

6. Now, let’s move to next step and install TFTP-Server and, then, copy all bootloders files provided by Syslinux package from the above listed location to /var/lib/tftpboot path by issuing the following commands.

- yum install tftp-server
- cp -r /usr/share/syslinux/* /var/lib/tftpboot
Setting PXE Network Boot in CentOSInstall TFTP Server In CentOS

Install TFTP Server

Step 4: Setup PXE Server Configuration File

7. Typically the PXE Server reads its configuration from a group of specific files (GUID files – first, MAC files – next, Default file – last) hosted in a folder called pxelinux.cfg, which must be located in the directory specified in tftp-root statement from DNSMASQ main configuration file.

Create the required directory pxelinux.cfg and populate it with a default file by issuing the following commands.

- mkdir /var/lib/tftpboot/pxelinux.cfg
- touch /var/lib/tftpboot/pxelinux.cfg/default

8. Now it’s time to edit PXE Server configuration file with valid Linux distributions installation options. Also note that all paths used in this file must be relative to the /var/lib/tftpboot directory.

Below you can see an example configuration file that you can use it, but modify the installation images (kernel and initrd files), protocols (FTP, HTTP, HTTPS, NFS) and IPs to reflect your network installation source repositories and paths accordingly.

- nano /var/lib/tftpboot/pxelinux.cfg/default

Add the following whole excerpt to the file.

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

menu title ---------- PXE Boot Menu ----------

label 1
menu label ^1) Install CentOS 7 x64 with Local Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount

label 2
menu label ^2) Install CentOS 7 x64 with http://mirror.centos.org Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp

label 3
menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz
append  initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password

label 4
menu label ^4) Boot from local drive
Setting PXE Network Boot in CentOSConfigure PXE Server

Configure PXE Server

As you can see CentOS 7 boot images (kernel and initrd) reside in a directory named centos7 relative to /var/lib/tftpboot (on an absolute system path this would mean /var/lib/tftpboot/centos7) and the installer repositories can be reached by using FTP protocol on 192.168.1.20/pub network location – in this case the repos are hosted locally because the IP address is the same as the PXE server address).

Also menu label 3 specifies that the client installation should be done from a remote location via VNC (here replace VNC password with a strong password) in case you install on a headless client and the menu label 2 specifies as
installation sources a CentOS 7 official Internet mirror (this case requires an Internet connection available on client through DHCP and NAT).

Important: As you see in the above configuration, we’ve used CentOS 7 for demonstration purpose, but you can also define RHEL 7 images, and following whole instructions and configurations are based on CentOS 7 only, so be careful while choosing distribution.

Step 5: Add CentOS 7 Boot Images to PXE Server

9. For this step CentOS kernel and initrd files are required. To get those files you need the CentOS 7 DVD ISO Image. So, go ahead and download CentOS DVD Image, put it in your DVD drive and mount the image to /mnt system path by issuing the below command.

The reason for using the DVD and not a Minimal CD Image is the fact that later this DVD content would be used to create the
locally installer repositories for FTP sources.

- mount -o loop /dev/cdrom  /mnt
- ls /mnt
Setting PXE Network Boot in CentOSMount CentOS DVD

Mount CentOS DVD

If your machine has no DVD drive you can also download CentOS 7 DVD ISO locally using wget or curl utilities from a CentOS mirror and mount it.

- wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
- mount -o loop /path/to/centos-dvd.iso  /mnt

10. After the DVD content is made available, create the centos7 directory and copy CentOS 7 bootable kernel and initrd images from the DVD mounted location to centos7 folder structure.

- mkdir /var/lib/tftpboot/centos7
- cp /mnt/images/pxeboot/vmlinuz  /var/lib/tftpboot/centos7
- cp /mnt/images/pxeboot/initrd.img  /var/lib/tftpboot/centos7
Setting PXE Network Boot in CentOSCopy CentOS Bootable Files

Copy CentOS Bootable Files

The reason for using this approach is that, later you can create new separate directories in /var/lib/tftpboot path and add other Linux distributions to PXE menu without messing up the entire directory structure.

Step 6: Create CentOS 7 Local Mirror Installation Source

11. Although you can setup Installation Source Mirrors via a variety of protocols such as HTTP, HTTPS or NFS, for this guide, I have chosen FTP protocol because is very reliable and easy to setup with the help of vsftpd server.

Further install vsftpd daemon, copy all DVD mounted content to vsftpd default server path (/var/ftp/pub) – this can take a while depending on your system resources and append readable permissions to this path by issuing the following commands.

- yum install vsftpd
- cp -r /mnt/*  /var/ftp/pub/ 
- chmod -R 755 /var/ftp/pub
Setting PXE Network Boot in CentOSInstall Vsftpd in CentOS

Install Vsftpd Server

Setting PXE Network Boot in CentOSCopy Files to FTP Path

Copy Files to FTP Path

Setting PXE Network Boot in CentOSSet Permissions on FTP Path

Set Permissions on FTP Path

Step 7: Start and Enable Daemons System-Wide

12. Now that the PXE server configuration is finally finished, start DNSMASQ and VSFTPD servers, verify their status and enable it system-wide, to automatically start after every system reboot, by running the below commands.

- systemctl start dnsmasq
- systemctl status dnsmasq
- systemctl start vsftpd
- systemctl status vsftpd
- systemctl enable dnsmasq
- systemctl enable vsftpd
Setting PXE Network Boot in CentOSStart Dnsmasq Service

Start Dnsmasq Service

Setting PXE Network Boot in CentOSStart Vsftpd Service

Start Vsftpd Service

Step 8: Open Firewall and Test FTP Installation Source

13. To get a list of all ports that needs to be open on your Firewall in order for client machines to reach and boot from PXE server, run netstat command and add CentOS 7 Firewalld rules accordingly to dnsmasq and vsftpd listening ports.

- netstat -tulpn
- firewall-cmd --add-service=ftp --permanent  	-- Port 21
- firewall-cmd --add-service=dns --permanent  	-- Port 53
- firewall-cmd --add-service=dhcp --permanent  	-- Port 67
- firewall-cmd --add-port=69/udp --permanent  	-- Port for TFTP
- firewall-cmd --add-port=4011/udp --permanent  -- Port for ProxyDHCP
- firewall-cmd --reload  -- Apply rules
Setting PXE Network Boot in CentOSCheck Listening Ports

Check Listening Ports

Setting PXE Network Boot in CentOSOpen Ports in Firewall in CentOS

Open Ports in Firewall

14. To test FTP Installation Source network path open a browser locally (lynx should do it) or on a different computer and type the IP Address of your PXE server with
FTP protocol followed by /pub network location on URL filed and the result should be as presented in the below screenshot.

ftp://192.168.1.20/pub
Setting PXE Network Boot in CentOSAccess FTP Files via Browser

Access FTP Files via Browser

15. To debug PXE server for eventual misconfigurations or other information and diagnostics in live mode run the following command.

- tailf /var/log/messages
Setting PXE Network Boot in CentOSCheck PXE Logs for Errors

Check PXE Logs for Errors

16. Finally, the last required step that you need to do is to unmount CentOS 7 DVD and remove the physical medium.

- umount /mnt

Step 9: Configure Clients to Boot from Network

17. Now your clients can boot and install CentOS 7 on their machines by configuring Network Boot as primary boot device from their systems BIOS or by hitting a specified key during BIOS POST operations as specified in motherboard manual.

In order to choose network booting. After first PXE prompt appears, press F8 key to enter presentation and then hit Enter key to proceed forward to PXE menu.

Setting PXE Network Boot in CentOSPXE Network Boot

PXE Network Boot

Setting PXE Network Boot in CentOSPXE Network OS Boot

PXE Network OS Boot

18. Once you have reached PXE menu, choose your CentOS 7 installation type, hit Enter key and continue with the installation procedure the same way as you might install it from a local media boot device.

Please note down that using variant 2 from this menu requires an active Internet connection on the target client. Also, on below
screenshots you can see an example of a client remote installation via VNC.

Setting PXE Network Boot in CentOSPXE Menu

PXE Menu

Setting PXE Network Boot in CentOSRemote Linux Installation via VNC

Remote Linux Installation via VNC

Setting PXE Network Boot in CentOSRemote Installation of CentOS

Remote Installation of CentOS

That’s all for setting up a minimal PXE Server on CentOS 7. On my next article from this series, I will discuss other issues concerning this PXE server configuration such as how to setup automated installations of CentOS 7 using Kickstart files and adding other Linux distributions to PXE menu – Ubuntu Server and Debian 7.

Automated Installations of Multiple RHEL/CentOS 7 Distributions using PXE Server and Kickstart Files

Automated Installations of Multiple RHEL/CentOS 7 Distributions using PXE Server and Kickstart Files &-8211; this Article or News was published on this date:2019-05-28 18:57:32 kindly share it with friends if you find it helpful

This article is an extension of my previous PXE Boot Environment Setup on RHEL/CentOS 7 and it’s focused on how you can perform Automatic Installations of RHEL/CentOS 7, without the need for user intervention, on headless machines using a Kickstart file read from a local FTP server.

The environment preparation for this kind of installation has already been processed on the previous tutorial regarding PXE Server setup, the only key missing, a Kickstart file, will be discussed further on this tutorial.

Multiple Linux OS Installation using KickstartMultiple Linux OS Installation using Kickstart

Multiple RHEL/CemtOS 7 Installation using Kickstart

The simplest way to create a customize Kickstart file that you can use it further for multiple installations is to manually perform an installation of RHEL/CentOS 7 and copy, after installation process finishes, the file named anaconda-ks.cfg, that resides in /root path, to an accessible network location, and specify the initrd boot parameter inst.ks=protocol://path/to/kickstart.fileto PXE Menu Configuration File.

Requirements

  1. Setup a PXE Network Boot Server on RHEL/CentOS 7

This tutorial, and the Kickstart file configuration, only covers the Minimal Installation of RHEL/CentOS 7 without a Graphical Installation, basically the Kikstart file resulted from the previous Minimal Installation procedure of RHEL/CentOS 7.

  1. CentOS 7 Minimal Installation Procedure
  2. RHEL 7 Minimal Installation Procedure

If you need a Kickstart file that covers GUI Installation and a specific partition table, I suggest that you first perform a customizable
Graphical Installation of RHEL/CentOS 7 in a virtualized environment and use that resulted Kickstart file for future GUI installations.

Step 1: Create and Copy Kiskstart File to FTP Server Path

1. On the first step go to your PXE machine /root directory and copy the file named anaconda-ks.cfg to Vsftpd default server path (/var/ftp/pub) – also the path for RHEL/CentOS 7 Local Mirror Installation Source configured on PXE network Boot Server – Step 6 (refer PXE Server setup article above).

- cp anaconda-ks.cfg  /var/ftp/pub/
- chmod 755 /var/ftp/pub/anaconda-ks.cfg

2. After the file has been copied, open it with your favorite text editor and make the following minimal changes.

- nano /var/ftp/pub/anaconda-ks.cfg
  1. Replace –url filed with your network installation source location: Ex: –url=ftp://192.168.1.25/pub/
  2. Replace network –bootproto with dhcp in case you have manually configured network interfaces on installation process.

An excerpt on how a Kickstart file might look like is presented below.

-version=RHEL7
- System authorization information
auth --enableshadow --passalgo=sha512

- Use network installation
url --url="ftp://192.168.1.25/pub/"
- Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
- Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
- System language
lang en_US.UTF-8

- Network information
network  --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
network  --hostname=localhost.localdomain
- Root password
rootpw --iscrypted $6$RMPTNRo5P7zulbAR$ueRnuz70DX2Z8Pb2oCgfXv4qXOjkdZlaMnC.CoLheFrUF4BEjRIX8rF.2QpPmj2F0a7iOBM3tUL3tyZNKsDp50
- System services
services --enabled="chronyd"
- System timezone
timezone Europe/Bucharest --isUtc
- System bootloader configuration
bootloader --location=mbr --boot-drive=sda
- Partition clearing information
clearpart --none --initlabel
- Disk partitioning information
part pv.20 --fstype="lvmpv" --ondisk=sda --size=19979
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.20
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap  --fstype="swap" --size=2048 --name=swap01 --vgname=centos

%packages
@compat-libraries
@core
wget
net-tools
chrony

%end
Multiple Linux OS Installation using KickstartCentOS Kickstart Configuration

Kickstart Configuration

For more advanced Kickstart file options and syntax feel free to read RHEL 7 Kickstart Documentation.

3. Before attempting to use this file for installations procedures, it is important that you verify the file using ksvalidator command included on Pykickstart package, especially if manual customizations had been performed. Install Pykickstart package and verify your Kickstart file by issuing the following commands.

- yum install pykickstart
- ksvalidator /var/ftp/pub/anaconda-ks.cfg
Multiple Linux OS Installation using KickstartInstall Pykickstart in CentOS

Install Pykickstart Package

Multiple Linux OS Installation using KickstartVerify Kickstart Configuration

Verify Kickstart Files

4. The last verification is to assure that Kickstart file is accessible from your specified network location – in this case FTP Local Mirror Installation Source defined by following URL Address.

ftp://192.168.1.25/pub/
Multiple Linux OS Installation using KickstartVerify FTP Mirror

Verify FTP Mirror

Step 2: Add Kikstart Installation Label to PXE Server Configuration

5. In order to access Automatic Installation of RHEL/CentOS 7 option from PXE Menu add the following label to PXE default file configuration.

- nano /var/lib/tftpboot/pxelinux.cfg/default

PXE Menu Label excerpt.

For RHEL 7
label 5
menu label ^5) Install RHEL 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
For CentOS 7
label 5
menu label ^5) Install CentOS 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Multiple Linux OS Installation using KickstartAdd Kickstart to PXE Menu

Add Kickstart to PXE Menu

As you can see from this example the automatically installation can be supervised via VNC with password (replace VNC password accordingly) and the Kickstart file is located locally on PXE server and is specified by the initrd boot parameter inst.ks= FTP network location (replace protocol and network location accordingly if you are using other installation methods such as HTTP, HTTPS, NFS or remote Installation Sources and Kickstart files).

Step 3: Configure Clients to Automatically Install RHEL/CentOS 7 using Kickstart

6. To automatically install RHEL/CentOS 7 and supervise the entire installation process, especially on headless servers, instruct your client machine from BIOS
to boot from network, wait a few seconds then press F8 and Enter keys, then select Kickstart option from PXE menu.

Multiple Linux OS Installation using KickstartPXE Boot Menu

PXE Boot Menu

7. After the kernel and ramdisk loads and detects the Kickstart file, the installation process automatically starts without any intervention from user side needed. If you want to watch the installation process connect with a VNC client from a different computer using the address that the installer provides you and enjoy the view.

Multiple Linux OS Installation using KickstartAutomatic CentOS 7 Installation

Automatic OS Installation

Multiple Linux OS Installation using KickstartVNC Remote CentOs Installation

Connect to VNC

Multiple Linux OS Installation using KickstartKickstart Automatic CentOS Installation

Kickstart Automatic OS Installation

8. After the installation process finishes login to the newly installed system with root account and the password used on previous installation (the
one that you copied the Kickstart file) and change your client root password by running passwd command.

Multiple Linux OS Installation using KickstartConnect to New Installed Server

Connect to New Installed Server

That’s all! Automatic Kickstart installations offer a great deal of benefits for system administrators in environments that they have to perform system installations on multiple machines the same time, in a short period of time, without the need to manually interfere with the installation process.

Adding Ubuntu 14.10, Ubuntu 14.04 and Debian 7 to PXE Network Boot Environment Setup on RHEL/CentOS 7

Adding Ubuntu 14.10, Ubuntu 14.04 and Debian 7 to PXE Network Boot Environment Setup on RHEL/CentOS 7 &-8211; this Article or News was published on this date:2019-05-28 18:57:07 kindly share it with friends if you find it helpful

This tutorial will guide you on how to add Ubuntu 14.10 Server, Ubuntu 14.04 Server and Debian 7 Wheezy distributions to PXE Network Boot Environment Setup on RHEL/CentOS 7.

Add Ubuntu and Debian to PXEAdd Ubuntu and Debian to PXE

Add Ubuntu and Debian to PXE Network

Although for the purposes of this tutorial, I will only demonstrate how you can add 64-bit Network Installation Images, the same procedure can also be applied for Ubuntu or Debian 32-bit or other architectures images. Also, the process of adding Ubuntu 32-bit sources will be explained but not configured on my premises.

Installing Ubuntu or Debian from a PXE Server requires that your client machines must have an active Internet connection, preferably configured through NAT with DHCP dynamic addresses allocation, in order for the installer to pull the required packages and finish the installation process.

Requirements

  1. Install PXE Network Boot Server for Multiple Linux Distribution Installations in RHEL/CentOS 7

Step 1: Add Ubuntu 14.10 and Ubuntu 14.04 Server to PXE Menu

1. Adding Network Installation Sources for Ubuntu 14.10 and Ubuntu 14.04 to PXE Menu can be achieved in two ways: One is by downloading the Ubuntu CD ISO Image and mount it on PXE Server machine in order to access Ubuntu Netboot files and the other is by directly downloading Ubuntu Netboot archive and extract it onto the system. Further I will discuss both methods:

Using Ubuntu 14.10 and Ubuntu 14.04 CD ISO Image

In order to use this method your PXE server needs a functional CD/DVD drive. On an arbitrary computer go to Ubuntu 14.10 Download and Ubuntu 14.04 Download page, grab the 64-bit Server Install Image, burn it to a CD, place the CD image to PXE Server DVD/CD drive and mount it on your system using the following command.

- mount /dev/cdrom  /mnt

In case your PXE server machine has no CD/DVD drive you can download Ubuntu 14.10 and Ubuntu 14.04 ISO Image locally using wget command line and mount it on your server on the same above path by issuing the following commands (download and mount the CD).

On Ubuntu 14.10
------------------ On 32-Bit ------------------

- wget http://releases.ubuntu.com/14.10/ubuntu-14.10-server-i386.iso
- mount -o loop /path/to/ubuntu-14.10-server-i386.iso /mnt
------------------ On 64-Bit ------------------

- wget http://releases.ubuntu.com/14.10/ubuntu-14.10-server-amd64.iso
- mount -o loop /path/to/ubuntu-14.10-server-amd64.iso /mnt
On Ubuntu 14.04
------------------ On 32-Bit ------------------

- wget http://releases.ubuntu.com/14.04/ubuntu-14.04.1-server-i386.iso
- mount -o loop /path/to/ubuntu-14.04.1-server-i386.iso /mnt
------------------ On 64-Bit ------------------

- wget http://releases.ubuntu.com/14.04/ubuntu-14.04.1-server-amd64.iso
- mount -o loop /path/to/ubuntu-14.04.1-server-amd64.iso /mnt

Using Ubuntu 14.10 and Ubuntu 14.04 Netboot Image

For this approach download Ubuntu Netboot Images onto PXE Server using the following commands.

On Ubuntu 14.04
------------------ On 32-Bit ------------------

- cd
- wget http://archive.ubuntu.com/ubuntu/dists/utopic/main/installer-i386/current/images/netboot/netboot.tar.gz
------------------ On 64-Bit ------------------

- cd
- http://archive.ubuntu.com/ubuntu/dists/utopic/main/installer-amd64/current/images/netboot/netboot.tar.gz
On Ubuntu 14.04
------------------ On 32-Bit ------------------

- cd
- wget http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-i386/current/images/netboot/netboot.tar.gz
------------------ On 64-Bit ------------------

- cd
- wget http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz 

For other processor architectures visit Ubuntu 14.10 and Ubuntu 14.04 Netboot Official pages at following locations and select your architecture type and download the required files.

  1. http://cdimage.ubuntu.com/netboot/14.10/
  2. http://cdimage.ubuntu.com/netboot/14.04/

2. After you have downloaded the ISO Images or Netboot Installer archives copy the entire ubuntu-installer folder to PXE tftp server location by issuing the following commands depending on the method you have chosen.

A). For both CD ISO Images (32-bit or 64-bit) use the following command after you mounted the specific architecture CD onto PXE Server /mnt system path.

- cp -fr /mnt/install/netboot/ubuntu-installer/ /var/lib/tftpboot/

B). For Netboot archives run the following commands depending on the specific Ubuntu architecture.

- cd
- tar xfz netboot.tar.gz
- cp -rf ubuntu-installer/ /var/lib/tftpboot/

If you want to use both Ubuntu Server architectures on PXE Server, first download, mount or extract, depending on the case, the 32-bit architecture and copy ubuntu-installer directory to /var/lib/tftpboot, then unmount the CD or delete the Netboot archive and the extracted files and folders, and, repeat the same steps with 64-bit architecture, so that the final tftp path should have the following structure.

/var/lib/tftpboot/ubuntu-installer/amd64
/var/lib/tftpboot/ubuntu-installer/i386

3. On the next step add the Ubuntu 14.10 and Ubuntu 14.04 Menu labels to PXE Server default configuration file by issuing the following command.

Important: It’s not possible for me to show the instructions for both Ubuntu versions, that’s the reason for demonstration purpose, I’m adding Ubuntu 14.04 Menu lable to PXE Server, but the same following instructions also applied to Ubuntu 14.10, only with minor changes to version numbers, just change the version numbers and path to OS architecture according to your Ubuntu distributions.

Open PXE default configuration file with the help of your favourite text editor, in my case it’s nano editor.

- nano /var/lib/tftpboot/pxelinux.cfg/default

Next, add the following configurations to PXE Menu.

For Ubuntu 14.04 32-bit
label 1
menu label ^1) Install Ubuntu 14.04 x32
        kernel ubuntu-installer/i386/linux
        append vga=788 initrd=ubuntu-installer/i386/initrd.gz -- quiet

label 2
menu label ^2) Ubuntu 14.04 Rescue Mode x32
        kernel ubuntu-installer/i386/linux
        append vga=788 initrd=ubuntu-installer/i386/initrd.gz rescue/enable=true -- quiet
For Ubuntu 14.04 64-bit
label 5
menu label ^5) Install Ubuntu 14.04 x64
        kernel ubuntu-installer/amd64/linux
        append vga=788 initrd=ubuntu-installer/amd64/initrd.gz -- quiet

label 5
menu label ^6) Ubuntu 14.04 Rescue Mode
        kernel ubuntu-installer/amd64/linux
        append vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true -- quiet
Add Ubuntu and Debian to PXEAdd Ubuntu 14.04 to PXE Boot

Add Ubuntu to PXE Boot

Note: If you want to include other Ubuntu architectures, follow the same above instructions and replace label numbers and ubuntu-installer/$architecture_name/ directory accordingly on PXE default menu configuration file.

4. After you have configured PXE menu configuration file, clean up the sources depending on the employed method and proceed with client PXE installations to test your configuration.

---------------------- For CD/DVD Method ----------------------

- umount /mnt 
---------------------- For Netboot Method ----------------------

- cd && rm -rf ubuntu-installer/netboot.tar.gz pxelinux.* version.info  

Below are some screenshots for Ubuntu 14.04 PXE Clients installations testing.

Add Ubuntu and Debian to PXESelect Ubuntu from PXE Menu

Select Ubuntu from PXE Menu

Add Ubuntu and Debian to PXESelect Ubuntu Installation Language

Choose Ubuntu Installation Language

Add Ubuntu and Debian to PXESelect Ubuntu Rescue Mode

Choose Ubuntu Rescue Mode

Add Ubuntu and Debian to PXEUbuntu Rescue Mode Shell

Ubuntu Rescue Mode Shell

Step 2: Add Debian 7 Wheezy to PXE Menu

5. Adding Debian 7 to a PXE Server, requires the same steps as for Ubuntu Server Edition as explained above, the only differences being the Netboot archive images download links and the name for the sources directory, which is now debian-installer.

To download Debian Wheezy Netboot archives, go to official Debian Netinstall Download page, choose your desired system architecture from Network Boot menu, then hit the netboot link from Directory list and download the netboot.tar.gz archive from Filename list.

While Debian offers Netboot Installation Sources for a multitude of system architectures, such as Armel, ia64, Mips, PowerPC, Sparc etc, in this guide I will only discuss 64-bit architecture because the process of adding other architectures sources is almost the same as the current one, the only difference being the debian-installer/$directory_architecture name.

So, to proceed further, login to your PXE Server with root account and grab Debian 7 64-bit Netboot archive by issuing the below command.

- wget  http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/netboot.tar.gz
Add Ubuntu and Debian to PXEDownload Debain 7 Netboot

Download Debain 7 Netboot

6. After wget finishes downloading the netboot.tar.gz file, extract it and copy debian-installer directory to tftp server default path by
running the following commands.

- tar xfz netboot.tar.gz
- cp -rf debian-installer/ /var/lib/tftpboot/
Add Ubuntu and Debian to PXEExtract Debain 7 Netboot

Extract Debain 7 Netboot

Add Ubuntu and Debian to PXECopy Debain 7 Netboot to FTP

Copy Debain 7 Netboot to FTP

7. To add Debian Wheezy labels to PXE Menu, open PXE Server default configuration file with your favorite text editor and add the below labels.

- nano /var/lib/tftpboot/pxelinux.cfg/default

PXE Label Menu for Debian Wheezy 64-bit.

label 7
menu label ^7) Install Debian 7 x64
        kernel debian-installer/amd64/linux
        append vga=788 initrd=debian-installer/amd64/initrd.gz -- quiet

label 8
menu label ^8) Install Debian 7 x64 Automated
       kernel debian-installer/amd64/linux
       append auto=true priority=critical vga=788 initrd=debian-installer/amd64/initrd.gz -- quiet
Add Ubuntu and Debian to PXEAdd Debian to PXE Boot

Add Debian to PXE Boot

Note: If you want to add other Debian architectures repeat the above steps and replace label numbers and debian-installer/$architecture_name/ directory accordingly on PXE default menu configuration file.

8. Before testing the configuration on clients side, clean up Debian sources by issuing the following command.

- cd && rm -rf debian-installer/  netboot.tar.gz  pxelinux.*  version.info 

9. Then network boot a client machine, choose Install Debian from PXE menu and proceed further with the installation as normally.

Add Ubuntu and Debian to PXESelect Install Debian from PXE

Select Install Debian from PXE

Add Ubuntu and Debian to PXESelect Debian Install Language

Select Debian Install Language

That’s all the steps required to add and install Ubuntu or Debian from a RHEL/CentOS 7 PXE Server onto your network client machines. On my next article I will discuss a more complicated method on how you can add and perform network installation for Windows 7 on client computers using RHEL/CentOS 7 PXE Network Boot Server.

Setting Up Prerequisites to ‘Install Windows 7’ over ‘PXE Network Boot Server’ on RHEL/CentOS 7 – Part 1

Setting Up Prerequisites to &-8216;Install Windows 7&-8217; over &-8216;PXE Network Boot Server&-8217; on RHEL/CentOS 7 &-8211; Part 1 &-8211; this Article or News was published on this date:2019-05-28 18:56:55 kindly share it with friends if you find it helpful

Continuing the series of tutorials regarding RHEL/CentOS 7 PXE Network Boot Server Environment, where so far I have only discussed integrating and installing Linux distributions over PXE Server.

Configure PXE Server to Install WindowsConfigure PXE Server to Install Windows

Configure PXE Server to Install Windows

This tutorial will be concentrate around Windows based systems and will show you how to add and manually install Windows 7, both 32-bit and 64-bit architectures, over a PXE Server and Samba shares.

Requirements

  1. Install PXE Network Boot Server for Multiple OS Installations in RHEL/CentOS 7
  2. A Samba fully accessed directory share setup on PXE Server machine.
  3. A computer with Windows 7 operating system installed.
  4. Windows Automated Installation Kit (AIK) installed on Windows 7 computer.
  5. Both Windows 7 32-bit/64-bit DVD ISO Images.

Before proceeding with the installation process, I will explain how this guide is structured.

The first part will cover the configurations needed to setup the environment on RHEL/CentOS 7 PXE Server premises, by installing and configuring a Samba fully accessed shared directory with no authentication needed, where both Windows 7 system architecture images will be deployed, and, also, editing PXE Server default configuration file with the options needed to boot WinPE ISO Image in order to manually proceed with Windows installation process.

The second part will be focused on building WinPE ISO image (Windows Preinstallation Enironment) with the help of Windows Automated Installation Kit (AIK) installed on a Windows 7 computer premises. This image will be then transferred to PXE Server machine via Samba shared directory and moved to TFTP server default location.

The next steps that should be made on the client-side in order to boot, access and install Windows 7 over network.

Step 1: Install and Setup Samba Share on PXE Server

1. On the first step, login to PXE Server with root account and setup a fully accessed Samba share, where Windows 7 DVD installation sources will be deployed. Install Samba daemon by issuing the following command.

- yum install samba samba-common samba-winbind 
Configure PXE Server to Install WindowsInstall Samba on CentOS 7

Install Samba on PXE

2. Next, backup samba main configuration file and create a new configuration file with your favourite text editor by running the following commands.

- mv /etc/samba/smb.conf /etc/samba/smb.conf.backup
- nano /etc/samba/smb.conf
Configure PXE Server to Install WindowsBackup Samba Configuration

Backup Samba Configuration

3. Now add the following configurations to samba main file as presented in the below file excerpt.

[global]
        workgroup = PXESERVER
        server string = Samba Server Version %v
        log file = /var/log/samba/log.%m
        max log size = 50
        idmap config * : backend = tdb
        cups options = raw
        netbios name = pxe
        map to guest = bad user
        dns proxy = no
        public = yes
        -- For multiple installations the same time - not lock kernel
        kernel oplocks = no
        nt acl support = no
        security = user
        guest account = nobody

[install]
        comment = Windows 7 Image
        path = /windows
        read only = no
        browseable = yes
        public = yes
        printable = no
        guest ok = yes
        oplocks = no
        level2 oplocks = no
        locking = no
Configure PXE Server to Install WindowsConfigure Samba in CentOS 7

Configure Samba for PXE

As you can see from this configuration file, I have created a shared folder named install which is located under /windows system path (on this path will copy Windows 7 DVD installation sources).

4. After finishing editing main samba configuration file run testparm command in order to check and validate the file for eventual errors or misconfigurations.

- testparm
Configure PXE Server to Install WindowsCheck Samba Configuration

Check Samba Configuration

5. On the next step create the /windows directory under root path (the directory defined in samba conf file) and add SELinux contextual rules in
order to be fully accessed in case your system has enforced SELinux security.

- mkdir /windows
- semanage fcontext -a -t samba_share_t ‘/windows(/.*)?’
- restorecon -R -v /windows
Configure PXE Server to Install WindowsAdd Samba Selinux Rules

Add Samba Selinux Rules

Step 2: Deploy Windows 7 Installation Sources on PXE Server

6. For this step both Windows 7 ISO DVD Images are needed. But before mounting and copy DVD content create two directories under /windows path
to separate Windows installation sources architectures.

- mkdir /windows/x32
- mkdir /windows/x64
Configure PXE Server to Install WindowsCreate Windows Install Sources on PXE

Create Windows Install Sources on PXE

7. Now it’s time to copy Windows Installation Sources to the paths created above. First put Windows 7 32-bit DVD Image ISO on your machine DVD drive, mount the image to /mnt path and copy all DVD mounted content to samba shared directory /windows/x32/. The transfer process can take a while depending on your system resources, and, after it finishes, unmount Windows 7 32-bit DVD Image.

- mount -o loop /dev/cdrom /mnt
- cp -rf  /mnt/*  /windows/x32/
- umount  /mnt
Configure PXE Server to Install WindowsMount Windows Install DVD on PXE

Mount Windows Install DVD on PXE

8. Repeat the above process with Windows 7 64-bit DVD Image, but this time copy DVD mounted content to /windows/x64/ shared path.

- mount -o loop /dev/cdrom /mnt
- cp -rf  /mnt/*  /windows/x64/
- umount  /mnt
Configure PXE Server to Install WindowsMount Windows 7 64 bit on PXE

Mount Windows 7 64 bit on PXE

Note: If your PXE server machine doesn’t have a DVD drive you can copy both Windows DVDs contents after you start samba server and access the “install” shared folder from a Windows computer.

9. After both DVD’s images are copied, issue the following commands to setup the right owner and permissions in order to make the share readable and fully accessible without authentication.

- chmod -R 0755 /windows
- chown -R nobody:nobody /windows
Configure PXE Server to Install WindowsGrant Permission Windows Install Sources

Grant Permission Windows Install Sources

Step 3: Add Firewall Rules, Start and Enable Samba System-Wide

10. If you are using a Firewall on your PXE Server premises, add the following rule to Firewalld service to open Samba to outside connections.

- firewall-cmd --add-service=samba --permanent
- firewall-cmd --reload
Configure PXE Server to Install WindowsOpen Samba in Centos 7 Firewall

Open Samba on Firewall

11. Now, start Samba daemons and enable it system wide, to automatically start after every reboot, by issuing the following commands.

- systemctl restart smb
- systemctl enable smb
- systemctl restart winbind
- systemctl enable winbind
- systemctl restart nmb
- systemctl enable nmb
- systemctl status smb
Configure PXE Server to Install WindowsEnable Samba Systemwide in CentOS 7

Enable Samba Systemwide

12. To test Samba configuration move to a Windows computer and add the IP Address of your Samba server followed by the shared path name in Windows Explorer address bar and the shared folders should appear.

192.168.1.20install
Configure PXE Server to Install WindowsCheck Samba Shares in CentOS 7

Check Samba Shares

At this point you can now use the alternate method explained in the above note, and put Windows 7 ISO Images in your DVD drive and copy their content, depending on the system architecture, to x32 and x64 folders.

Step 4: Configure PXE Server

13. Before editing PXE Menu configuration file, create a new directory named windows on TFTP server default system path. Under this directory you will later copy WinPE ISO image, created on the Windows 7 computer using Windows Automated Installation Kit program.

- mkdir /var/lib/tftpboot/windows

14. Now, open PXE Server default configuration file and add Windows Installation label to PXE menu, as described in the below menu excerpt.

- nano /var/lib/tftpboot/pxelinux.cfg/default

Windows 7 menu label configuration.

label 9
menu label ^9) Install Windows 7 x32/x64
                KERNEL memdisk
                INITRD windows/winpe_x86.iso
                APPEND iso raw
Configure PXE Server to Install WindowsAdd Windows 7 to PXE Menu

Add Windows 7 to PXE Menu

That’s all you need to setup on RHEL/CentOS 7 PXE Server side. Still, don’t close the console yet, because you will need it later to copy WinPE ISO image to /var/lib/tftpboot/windows/ directory.

Further let’s continue with the procedure and move onto a Windows 7 Installation on PXE Network – Part 2 of this series, and don’t forget to give your valuable feedback about the article.