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

dracut-initqueue[1184] Warning: cant find installer main image path in .treeinfo

Thats the error im getting, that SOUNDS exactly like the issue that I am having tho.

I went by the documentation created the tftp directories and everything, it finds the bootloader screen, but the dracut part doesnt seem to see the the files needed. I saw something about changing the directory for your tftp directory and creating a new service in.
documentation I found here:

I am curious if maybe the files do not have the proper permissions to be able to be used? But why would it be able to load the bootloader and everything and make it as far as it does?

Any progress??

Just found this too
https://www.reddit.com/r/RockyLinux/comments/1909qfu/rockylinux_9_pxe_installation_error_cant_find/

|The setup uses TFTP for PXE and a web server for hosting the content of the Rocky linux DVD.|

rocky is pretty close to redhat… which is basically fedora. Did you install the ngix server as well? I didnt see that as a requirement in the documentation, I thought http was just an “option”

Update 6/24/2024 – Will try this and see if it fixes my issue as well