Trying to install Fedora Workstation via PXE

I’m trying to install Fedora Workstation via pxe. I set up a pxe server and seem to mostly have it working, but the client boots up and after a little bit dracut says it fails to mount the root filesystem. Unlike Fedora Server, the mirrors for Workstation don’t have an “os” folder, just an iso. But from my research it appears the contents of the os folder are just the contents of the iso, so I extracted it and that’s the folder my server is pointing the client to with the pxe option inst.stage2. The initrd and vmlinuz I’m using are the ones from the iso under “images/pxeboot”

I know this probably isn’t enough to troubleshoot the issue fully, but I at least want to know where to start and what log files I should post or whatnot.

A quick google search gives this

which also leads to this

Yes I have my server set up and the client is booting over tftp. But I think my problem has something to do with the stage2 files. In the example in the first link you sent it installs Fedora Server and just points stage2 to a location on the official Fedora download site. That link, the os dir, doesn’t exist in Workstation. I tried to extract the iso on my own server and pointing the stage2 url to that but then I get the mounting error. So, I assume I’m missing a file or something. Or maybe an option needed for Workstation but not Server. Pretty much all of the stuff I found while searching before I posted here talked about installed Server over pxe, not Workstation

I have not tried a pxe boot for many years so I am not familiar with current configs.

However, in my experience, doing so means that you must set up a server at some location that the system is able to reach on the local lan. That server then provides the files needed to boot.

Past experience tells me it is not as simple as putting the files from the install media onto a server, but that the server must be set up to provide the proper environment to support pxe booting of clients and that the client must have a minimal config to know what server to contact for booting.

That first link I provided above gives the details on how to do that, and no it does not limit installations to only installing and booting the server version. It seems to be talking about how to configure the server to provide the necessary services for pxe booting.

I’ve always used the Everything repos via metalinks.

repo --name="updates"  --metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch&country=us
repo --name="updates-testing"  --metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch&country=us
repo --name="fedora-cisco-openh264"  --metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-cisco-openh264-$releasever&arch=$basearch
repo --name="rpmfusion-free"  --metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
repo --name="rpmfusion-free-updates"  --metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-$releasever&arch=$basearch
repo --name="rpmfusion-free-updates-testing"  --metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-testing-$releasever&arch=$basearch
repo --name="rpmfusion-nonfree"  --metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-$releasever&arch=$basearch
repo --name="rpmfusion-nonfree-updates"  --metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch
repo --name="rpmfusion-nonfree-updates-testing"  --metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-testing-$releasever&arch=$basearch

# Use network installation
url --metalink="https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch&country=us"
1 Like

Just additional info to previous post by @steppybug , the Everything folder has an os folder, see Index of /pub/fedora/linux/releases/39/Everything/x86_64/os

(URL from the master server is just an example, you are encouraged to use the mirror service)

@augenauf

Thanks for the addition. I definitely assume too much so a little explanation may be helpful.

If I use the workstation live iso when kickstarting and provide the url and repos as above the resultant system is a workstation variant unless I specifically add something to the kickstart to use a different variant. The Everything repos support any variant, see /etc/yum.repos.d after install.

Mostly I really just use the Everything netinst and from there anything is possible.

Adjust the url and repo lines to point to your own server if you have one with all the files populated from the mirrors.

Follow the anaconda code to see.

1 Like