F5F Stay Refreshed Power Users Networks Attempting to configure PXE boot on Linux.

Attempting to configure PXE boot on Linux.

Attempting to configure PXE boot on Linux.

Pages (2): 1 2 Next
F
FeuerLuke
Junior Member
14
08-08-2023, 02:18 PM
#1
I have two computers. My first PC will act as a server with the Arch Linux ISO, while the second will connect via Ethernet to it. I’m new to networking and haven’t done this before, so I reached out to our AI overlords for guidance, which gave me a quick response from ChatGPT. I’m thinking there might be something missing. I have the dnsmasq service running, but I’m unsure how to start the PXE boot or if it’s already ready. The second PC is still prompting for the PXE setup, and I tried both IPv4 and 6.
F
FeuerLuke
08-08-2023, 02:18 PM #1

I have two computers. My first PC will act as a server with the Arch Linux ISO, while the second will connect via Ethernet to it. I’m new to networking and haven’t done this before, so I reached out to our AI overlords for guidance, which gave me a quick response from ChatGPT. I’m thinking there might be something missing. I have the dnsmasq service running, but I’m unsure how to start the PXE boot or if it’s already ready. The second PC is still prompting for the PXE setup, and I tried both IPv4 and 6.

T
Tojamz
Member
213
08-08-2023, 03:04 PM
#2
ChatGPT has no understanding. It only combines information it has seen online, without forming its own thoughts. Avoid using it for learning purposes. What are you attempting?
T
Tojamz
08-08-2023, 03:04 PM #2

ChatGPT has no understanding. It only combines information it has seen online, without forming its own thoughts. Avoid using it for learning purposes. What are you attempting?

S
Skippo_
Junior Member
15
08-08-2023, 04:08 PM
#3
I understand ChatGPT isn’t perfect, but it usually handles tasks efficiently when you’re focused on getting results. Learning from it saves time instead of wasting it. It seems like you’re trying to apply its advice to your PXE server setup, which makes sense. Still, I’m not sure exactly what steps are needed unless you clarify the details.
S
Skippo_
08-08-2023, 04:08 PM #3

I understand ChatGPT isn’t perfect, but it usually handles tasks efficiently when you’re focused on getting results. Learning from it saves time instead of wasting it. It seems like you’re trying to apply its advice to your PXE server setup, which makes sense. Still, I’m not sure exactly what steps are needed unless you clarify the details.

C
ca01andrew
Junior Member
21
08-11-2023, 09:11 PM
#4
When building an ISC-KEA PXE setup, you need three main parts (or two if you plan to store files locally): a DHCP server, a TFTP server, and optionally an NFS server. To configure: first, launch a DHCP server—likely using dnsmasq—and make sure it’s set up for DHCP only initially so the new device can obtain an IP address. Next, configure the TFTP server with a PXELINUX firmware image from the syslinux bootloader collection (see https://wiki.syslinux.org/wiki/index.php?title=PXELINUX). From the Oracle documentation (https://docs.oracle.com/en/operating-sys...-conf.html), note that dnsmasq already includes a built-in TFTP server. Then, pull the kernel and RAM disk image from your ISO; you can’t boot directly from it during PXE without a significant hassle. After that, in the DHCP server, assign the PXE option (like `dhcp-host`) to point at the TFTP server’s IP—typically the PC1’s network address. Once this is set, you should be able to boot and access the ramdisk shell. From there, adjust kernel settings or install NFS if you prefer a diskless setup or use the ISO as your installation medium. Alternatively, consider using a netboot package that supports `dhcp-boot` and `tftp-root`.
C
ca01andrew
08-11-2023, 09:11 PM #4

When building an ISC-KEA PXE setup, you need three main parts (or two if you plan to store files locally): a DHCP server, a TFTP server, and optionally an NFS server. To configure: first, launch a DHCP server—likely using dnsmasq—and make sure it’s set up for DHCP only initially so the new device can obtain an IP address. Next, configure the TFTP server with a PXELINUX firmware image from the syslinux bootloader collection (see https://wiki.syslinux.org/wiki/index.php?title=PXELINUX). From the Oracle documentation (https://docs.oracle.com/en/operating-sys...-conf.html), note that dnsmasq already includes a built-in TFTP server. Then, pull the kernel and RAM disk image from your ISO; you can’t boot directly from it during PXE without a significant hassle. After that, in the DHCP server, assign the PXE option (like `dhcp-host`) to point at the TFTP server’s IP—typically the PC1’s network address. Once this is set, you should be able to boot and access the ramdisk shell. From there, adjust kernel settings or install NFS if you prefer a diskless setup or use the ISO as your installation medium. Alternatively, consider using a netboot package that supports `dhcp-boot` and `tftp-root`.

T
tgi44
Junior Member
19
08-16-2023, 05:42 AM
#5
On a very basic setup, I used my router, netboot, and some lightweight containers. The main OS runs Proxmox as a hypervisor. Inside an LXC container, I installed netboot. I also had rescuezilla, bootrepair, systemrescue, and Ubuntu 22.04 available locally. My router is OPNESSE with a few tweaks for configuration.
T
tgi44
08-16-2023, 05:42 AM #5

On a very basic setup, I used my router, netboot, and some lightweight containers. The main OS runs Proxmox as a hypervisor. Inside an LXC container, I installed netboot. I also had rescuezilla, bootrepair, systemrescue, and Ubuntu 22.04 available locally. My router is OPNESSE with a few tweaks for configuration.

_
_eXelenT_
Junior Member
28
08-16-2023, 12:06 PM
#6
@soccermomisqueen Okay look, I am being overwhelmed. Lets do this slowly. These are my alterations in my /etc/dnsmasq.conf - Spoiler interface=eth0 dhcp-range=192.168.0.50,192.168.0.150,12h dhcp-boot=pxelinux.0 enable-tftp tftp-root=/srv/tftp I am planning to use the inbult TFTP server in dnsmasq. The Oracle docs show that the Kernel and the initramfs should be under my <tftp-root>/<dhcp-boot>/? So would that be /srv/tftp/pxelinux/vmlinuz-linux and initrd.img? According to ChatGPT I did nothing like this, and that is why it is not working of course. I just copied my iso to srv/tftp and that's it. EDIT - Wait a second, I am trying to use the UEFI based network boot. So do I still need SysLinux according to the Oracle docs? Like I need some firmware, no?
_
_eXelenT_
08-16-2023, 12:06 PM #6

@soccermomisqueen Okay look, I am being overwhelmed. Lets do this slowly. These are my alterations in my /etc/dnsmasq.conf - Spoiler interface=eth0 dhcp-range=192.168.0.50,192.168.0.150,12h dhcp-boot=pxelinux.0 enable-tftp tftp-root=/srv/tftp I am planning to use the inbult TFTP server in dnsmasq. The Oracle docs show that the Kernel and the initramfs should be under my <tftp-root>/<dhcp-boot>/? So would that be /srv/tftp/pxelinux/vmlinuz-linux and initrd.img? According to ChatGPT I did nothing like this, and that is why it is not working of course. I just copied my iso to srv/tftp and that's it. EDIT - Wait a second, I am trying to use the UEFI based network boot. So do I still need SysLinux according to the Oracle docs? Like I need some firmware, no?

B
Bessily
Junior Member
43
08-19-2023, 01:44 PM
#7
Avoid relying on autocomplete suggestions; instead, consult genuine documentation and manuals created by experienced users.
B
Bessily
08-19-2023, 01:44 PM #7

Avoid relying on autocomplete suggestions; instead, consult genuine documentation and manuals created by experienced users.

T
thekillhouse_
Junior Member
15
08-19-2023, 10:22 PM
#8
I'm trying to figure this out myself. I don't understand why people dislike ChatGPT so much. You probably wouldn't think that way—most of us know it's not the same as blindly trusting what it says. When I'm unsure about something, I always look it up first. It's been really useful since it came out, and I think it helps a lot. Of course, it can make mistakes sometimes, but it's still worth trying it out at the beginning.
T
thekillhouse_
08-19-2023, 10:22 PM #8

I'm trying to figure this out myself. I don't understand why people dislike ChatGPT so much. You probably wouldn't think that way—most of us know it's not the same as blindly trusting what it says. When I'm unsure about something, I always look it up first. It's been really useful since it came out, and I think it helps a lot. Of course, it can make mistakes sometimes, but it's still worth trying it out at the beginning.

W
wesselboy11
Member
221
08-20-2023, 12:06 AM
#9
@Gat Pelsinger Excuse for my delayed response—I was searching for a fresh opportunity while navigating the DNSMasq setup. Seems like typical updates. I’m considering integrating the Inbult TFTP server within dnsmasq. The Oracle guidelines indicate that the kernel and initramfs should reside under my <tftp-root>/<dhcp-boot> path, which appears to be /srv/tftp/pxelinux/vmlinuz-linux and initrd.img. That sounds correct. You’ll need to move the kernel (vmlinuz-linux) and ramdisk (initramfs) into the folder you mentioned (/srv/tftp/pxelinux/). These will be referenced in the bootloader’s config file (PXELINUX for BIOS or GRUB for UEFI). The BIOS setup should function ™, but if issues arise, you’ll likely need a firmware file capable of PXE booting for a UEFI system—GRUB is usually the go-to. This "firmware" is essentially your bootloader (pxelinux.0) as defined in DNSMasq. The PXE segment is just part of the process. Since you’re booting from an ISO, a significant amount of manual effort is required to gather all necessary files onto a network-accessible drive. Most tasks involve ensuring proper extraction from the ISO or mounting it on a server, which can be tricky due to permission mismatches.

1) This approach isn’t widely adopted online, so I wouldn’t heavily rely on ChatGPT for this.
2) Passing the ISO via TFTP won’t work because the PXE client expects a bootloader file, not just any ISO.

Further steps:
1) First test with a standard netboot image (Debian is recommended; see https://www.debian.org/distrib/netinst).
2) Once that works, try swapping Debian OS files for Arch and adjust the config to match your kernel needs.
3) You may need to modify the configuration file to align with the Linux kernel parameters you require.

My current PXELINUX structure looks like this:
tftp root: `/srv/tftp/`
dhcp-boot: `pxelinux.0`
tftp config file (embedded in firmware):
/ srv/tftp/pxeelinux.cfg/default

This includes the RS-232 serial port settings, boot parameters, and menu UI details.

NOTE: I’m using NFS as my storage root, though this might differ for you.
The initrd path is relative to the TFTP root, pointing to /dev/nfs.
IP configuration example:
ip=dhcp rw
This should give you a solid starting point and clarity on your next moves.
W
wesselboy11
08-20-2023, 12:06 AM #9

@Gat Pelsinger Excuse for my delayed response—I was searching for a fresh opportunity while navigating the DNSMasq setup. Seems like typical updates. I’m considering integrating the Inbult TFTP server within dnsmasq. The Oracle guidelines indicate that the kernel and initramfs should reside under my <tftp-root>/<dhcp-boot> path, which appears to be /srv/tftp/pxelinux/vmlinuz-linux and initrd.img. That sounds correct. You’ll need to move the kernel (vmlinuz-linux) and ramdisk (initramfs) into the folder you mentioned (/srv/tftp/pxelinux/). These will be referenced in the bootloader’s config file (PXELINUX for BIOS or GRUB for UEFI). The BIOS setup should function ™, but if issues arise, you’ll likely need a firmware file capable of PXE booting for a UEFI system—GRUB is usually the go-to. This "firmware" is essentially your bootloader (pxelinux.0) as defined in DNSMasq. The PXE segment is just part of the process. Since you’re booting from an ISO, a significant amount of manual effort is required to gather all necessary files onto a network-accessible drive. Most tasks involve ensuring proper extraction from the ISO or mounting it on a server, which can be tricky due to permission mismatches.

1) This approach isn’t widely adopted online, so I wouldn’t heavily rely on ChatGPT for this.
2) Passing the ISO via TFTP won’t work because the PXE client expects a bootloader file, not just any ISO.

Further steps:
1) First test with a standard netboot image (Debian is recommended; see https://www.debian.org/distrib/netinst).
2) Once that works, try swapping Debian OS files for Arch and adjust the config to match your kernel needs.
3) You may need to modify the configuration file to align with the Linux kernel parameters you require.

My current PXELINUX structure looks like this:
tftp root: `/srv/tftp/`
dhcp-boot: `pxelinux.0`
tftp config file (embedded in firmware):
/ srv/tftp/pxeelinux.cfg/default

This includes the RS-232 serial port settings, boot parameters, and menu UI details.

NOTE: I’m using NFS as my storage root, though this might differ for you.
The initrd path is relative to the TFTP root, pointing to /dev/nfs.
IP configuration example:
ip=dhcp rw
This should give you a solid starting point and clarity on your next moves.

P
Pancake109953
Junior Member
45
08-22-2023, 11:22 PM
#10
Also, if you're attempting to boot an ISO through this method, you can find more info at https://www.iventoy.com/en/index.html
P
Pancake109953
08-22-2023, 11:22 PM #10

Also, if you're attempting to boot an ISO through this method, you can find more info at https://www.iventoy.com/en/index.html

Pages (2): 1 2 Next