A short introduction on PXE

PXE(Preboot Execution Environment) allows a workstation to boot from a server on a network to boot the operating system on the local drive.A PXE-enabled workstation connects its NIC (Network Interface Controller)to the LAN via a Jumper, which keeps the workstation connected to the network even when there is no power.

Booting 

THE SERVER

  • 1st we need to disable SELinux(Security-Enhanced Linux)
    • sudo setenforce 0
  • After disabling SELinux, let’s install Cobbler
    • sudo dnf install cobbler dnf-plugins-core pykickstart yum-utils
  • When the installation gets complete edit the cobbler configuration file located at /etc/cobbler/settings​. We need to tweak the file and add the result of openssl passwd -1 ​.

openssl

  • For example,
    • default_password_crypted: "<your-result>"

pass

  • Now, lets configure the listening server, by adding your Private IP to the line
    • next_server: 192.168.x.y
    • server: 192.168.x.y

nextserverserver

  • Lets now configure the DHCP located at /etc/cobbler/dhcp.template.
    • subnet 192.168.x.x netmask 255.255.255.0 {
           option routers             192.168.x.y;
           option domain-name-servers 192.168.x.y;
           option subnet-mask         255.255.255.0;
           range dynamic-bootp        192.168.x.100 192.168.x.254;
           default-lease-time         21600;
           max-lease-time             43200;
           next-server                $next_server;

Capture

  • Go back to /etc/cobbler/settings,  and change manage_dhcp to 1
    • manage_dhcp: 1

dhcp

  • Now lets download bootloader
    • sudo cobbler get-loaders
  • We need to restart the services
    • systemctl start cobblerd.service
      systemctl start httpd
      sudo cobbler sync
  • We need to now transfer the Fedora ISO to Cobbler server and mount it
    • sudo mount -t iso9660 -o loop,ro /path/of/image/Fedora-Workstation-Live-x86_64-29-1.2.iso /mnt
  • Now we import the ISO file to the Cobbler server
    • sudo cobbler import --name=fedora29 --arch=x86_64 -breed=redhat --os-version=fedora29 --path=/mnt

THE CLIENT

  • Now we need to enter the BIOS(Basic Input Output system) by pressing the specific key to enter the BIOS(For Example: F1, Ecs, F10, F12)
  • Then navigate to Boot options and change the priority to PXE Boot or Network Adapter Boot.
  • Save your settings and you are done. You will be successfully booting Fedora 29 from a PXE Server.