How To: Boot Fedora 32 Workstation Over Network PXE Using SERVA on Windows 7/8/10
Step by step tutorial on how to boot and install Fedora 32 Workstation over the network with PXE Server from other host machine running Windows 10. The software used is SERVA Community Edition.
After the tutorial on booting up Ubuntu Desktop over the network, I decided to write one also for Fedora.
So here it goes …
- Both host and client computers must be connected to the same network.
The easiest way to achieve this is to use your existing local network. So your existing (WiFi) router assigns the IP addresses, and Serva software is configured as DHCP Proxy.
The host machine where Serva is installed could be connected via WiFi. Although the wired connection is recommended. It’s faster. The client, however, must be connected via ethernet cable to the router. Obviously, it cannot connect to the WiFi before and during boot.
- Fedora ISO image
Head over to the official Fedora website and download the Fedora-Workstation-Live-x86_64-32-1.6.iso file.
- SERVA Free Comunity Edition
This is a fully working free version of PXE Server software for Windows. This is for non-commercial use only, please buy a license if you use it in a professional manner. Download it from here. At the time of writing, it’s the Serva_Community_v3.2.0.
Step By Step Tutorial
- Serva: Extract files
You need to extract the Serva .zip file. It doesn’t matter where. You may create a new folder named “serva” on the Desktop and extract the .zip file into it.
- Serva: Create root folder
Create a root folder for Serva. The name and the location don’t matter, as you will point to it in the Serva settings in the next steps. For example, let’s create a folder directly on a C: drive, called “serva_root“.
- Serva: Run Serva
Run Serva64.exe (or Serva32.exe if you are on a 32-bit OS like Windows 7 32-bit). Wait for the countdown counter and click “I’m a “Community” user”. If your Windows Firewall is enabled, you get a warning. You need to ALLOW it. If you use some other 3rd party Firewall, you need to Allow Serva to access through it. Or you may just disable it for now.
Click on the icon on the top left corner and go to “Settings”.
- Serva: TFTP Settings
Tick the TFTP Server box and make sure you set the Root directory to C:\serva_root folder, created previously. Leave the rest as default.
- Serva: DHCP Settings
Move to the DHCP tab and tick proxyDHCP and BINL box. Leave the rest as default.
- Serva: HTTP Settings
Under the HTTP tab tick HTTP Server and set the Root directory to C:\serva_root folder. Leave the rest as default.
- Serva: Quit and Re-run
Click OK, close Serva, and re-run it again. This is a must because only when Serva starts it generates all the necessary folders in the root folder. So if you make any changes to the folders under C:\serva_root, then you should always quit and re-run the application before a PXE boot.
- Fedora ISO: Copy the Content
Inside the C:\serva_root\NWA_PXE create a new folder fedora and copy all the content from the disk image Fedora-Workstation-Live-x86_64-32-1.6.iso into it. You can mount the .iso file with Windows Explorer (right-click on the file and select “Open With -> Windows Explorer). Or with any other tool.
- File: ServaAsset.inf
Inside the C:\serva_root\NWA_PXE\fedora folder, create a new Text Document and paste the following text:
asset = Fedora Live Workstation 32
platform = x86_64
kernel_bios = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
append_bios = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/ rootfstype=auto ro rd.live.image rhgb rd.luks=0 rd.md=0 rd.dm=0
kernel_efi64 = /NWA_PXE/$HEAD_DIR$/isolinux/vmlinuz
append_efi64 = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/ rootfstype=auto ro rd.live.image rhgb rd.luks=0 rd.md=0 rd.dm=0
Save and close the text editor and rename the file to ServaAsset.inf
Be cautious to rename the file extension properly from .txt to .inf. Many times people wrongly rename the files to something like ServaAsset.inf.txt 🙂
- Serva: Run
Run Serva. After the countdown, you are all ready to go. Serva now listens to requests from the local network.
You may see something more in the log, that’s if Serva makes some changes when it starts.
You are now ready to boot up Fedora Workstation on a client machine. Make sure you enable boot up from network in the BIOS and place it to the first place in the boot order.
If you don’t know how to do it, check the manual of your motherboard or laptop. I can’t tell precisely as every motherboard, or a laptop computer has different settings and menus in BIOS.
If all goes well, the Fedora system boots up an from there, you are on your own. 🙂
I hope this guide helps some of you. If you have any questions or a suggestion, drop a comment below.