PXE boot requests

Hi,

I would like to play around with a PXE boot server that will be on top of a xubuntu machine. However I read any many websites that it’s essential to run a “full” DHCP server on the host because “regular” DHCP servers don’t understand PXE boot requests.

How about the IPFire DHCP server? Does it work with PXE and if so, how do I confige it to route to the PXE boot server?

Cheers

Have you already looked on wiki.ipfire.org ?

https://wiki.ipfire.org/search?q=pxe

1 Like

Yes it does. That is what the DHCP entries “next-server” and “filename” are for.

3 Likes

Yeah I know that the field “next-server” will require the IP address of the PXE boot server but what’s about “filename”?

1 Like

Yes I did here: wiki.ipfire.org - DHCP Server

But there are no further information how to use this. It’s totally new to me / never have done this before.

Filename is for the name of the pxeimage file that you will be serving.

Have a look in the tftpd addon. It covers doing pxeboot to other machines on your network from a pxe server in IPFire. You will need to change the name of the next-server and the pxeimage filename depending on the specifics of the pxe server you are setting up on your xubuntu machine.

2 Likes

But I don’t want to run this server on the IPFire machine. There is already a tftp server running on the xubuntu host.

My point was that you could see what entries are used in the dhcp page for a pxe server running on IPFire. Then you could use that info to figure out what you need to use from your xubuntu server in their place.

My interpretation is that you need to put the IP address (not FQDN) of your xubuntu pxe server into the next-server box.

The filename needs to be the xubuntu equivalent of the pxelinux.0 filename used in tftpd for the pxe install of SuSE or the undionly.kpxe filename used for the pxe install of IPFire.

The pxe server on the xubuntu machine must have a pxe filename that defines the install that will be done. You will need to figure out how that file is defined and what filename to give it.

2 Likes

Ok thanks for that hint. I will try it tomorrow. I guess it’s that config file that defines the possible boot options (I want to offer more than one PXE boot image)

There is a file created /var/tftpboot/pxelinux.cfg/default which defines the location of the iso that will be used for the pxe install as defuined in the tftpd addon wiki page.

I think that the file doesn’t have to be called default and you create a different name for each image you want to install. However I am not certain on this.

I have also never done any of this, just read up a bit on it as I intend to play about with it sometime in the future.

I think this site about PXELINUX is probably worth a look through as well.
https://wiki.syslinux.org/wiki/index.php?title=PXELINUX

Good luck with your experimentation.

2 Likes

This link looks like it could be of use. Note that it is based on a very old version of Ubuntu but the essence of the steps used and the multiple entries in the default file to allow different OS’s to be installed should be able to be used in your setup work.
https://www.howtoforge.com/ubuntu_pxe_install_server

1 Like

I use this.

In a docker . It is noob friendly.
Would love to be able to boot into my own image file.
But that is for a different day.
Good luck. I’m sure you can get it working.

2 Likes

If you use it, why is that:

???

I haven’t had time to play with PXE any further because of playing with proxmox and homematic, but now I’ve found time again and will try PXE with Ubuntu first. If that works I’ll put netboot on my vsphere.

Edit: OK I got your point: netboot.xyz is totally different. It boots a pxe environment and downloads the files for the selected OS which is to be installed.

1 Like

This article is outdated. That’s what I hate most with linux. Masses of articles produced to the same topic, but most of them useless, because not valid anymore. So here with the netboot files. They point to a Ubuntu version from ~15 years ago that do not exist anymore. Also the netkit-inetd package doesn’t exist. The content/functions moved.

I did say it was based on a very old version. I suggested that the essence of the files in terms of multiple os’s might be of use but you havecto look at it in terms of the man pages for pxe.

If you are looking for something that can just be copy and pasted you are probably going to be out of luck.

An outdated article has nothing to do with c&p. If I want to invent the wheel again, I don’t need to read any articles at all. Since I couldn’t find netboot installers for newer versions of ubuntu @ archive ubuntu I downloaded the latest LTS and also the directory “installer” is empty, so something totally changed, propably because of uefi.

I found this, which is different and more complicated: Configuring PXE Network Boot Server on Ubuntu 22.04 LTS

How about Ubuntu 20.04?

It’s that easy, it’s unbelievable and not even worth to read all that articles.
I just installed xubuntu minimal, installed syslinux-common and tftpd-hpa.

I downloaded and put the Debian 11.5 netboot files in the root directory of the tftp server, and created an boot entry in the pxe default config.

That’s all you need to boot legacy systems. Now I need to figure out how it’s about efi.

I was just watching that video: Setting up an UEFI PXE server on Linux (Part 1) - YouTube. In minute 7:00 of this video you can see router options for PXE:

IPFire does not offer file names for EFI. Does that mean IPFire DHCP does not support EFI PXE boot?

For the record: EFI pxe also works fine.

3 Likes

hey can you help me with > how i can get remote access of PXe boot (Netboot) Client acess in private network in another machine