jeefy/booty

Error reading PXE config

tobyl opened this issue · 5 comments

tobyl commented

Many thanks for this app - it's exactly what I've been looking for!

However, I'm seeing an error when I try to network boot - here is a brief description of the file/folder structure and Docker command I'm running.

When I run Booty and startup my client, I see it connect to DHCP and get an IP, then it freezes. The Booty console shows:

2023/03/09 19:48:01 tftp.go:18: TFTP Get: pxelinux.cfg/default
2023/03/09 19:48:01 tftp.go:28: Error reading PXE config: sending block 0: code=0, error: TFTP Aborted
2023/03/09 19:48:01 tftp.go:18: TFTP Get: pxelinux.cfg/default
2023/03/09 19:48:01 tftp.go:31: 251 bytes sent (pxelinux.cfg/default)

Pretty sure I'm doing something silly, but any guidance would be greatly appreciated!

jeefy commented

Yo! I'm traveling so won't be able to dig into this for a few days. Just wanted to ack this and assign myself so it doesn't get lost :)

tobyl commented

Appreciated! I did some more digging, but I'm now wondering if perhaps this is a bug with my client's PXE boot firmware. Unfortunately I don't have another system to test with right now, but I will have in a few days - I will update once I have tested on another system. Thank you!

Update: Still seeing the same issue on a different box, but it's possible/likely I'm doing something wrong. My router handles DHCP and forwards the request to my Booty server (running in Docker). I can tftp to the Docker box from another computer and do a get pxelinux.cfg/default, so port 69 is open. It seems to error on getting the config - what would be the bare minimum in the config folder to get a working PXE boot? Thank you!

jeefy commented

I'd also check and make sure you can curl the location here: https://github.com/jeefy/booty/blob/main/pkg/tftp/pxe_config.go#L14

That's what might cause PXE itself to fail, if there's no ignition.json being served.


RE: Config folder, the examples folder here is close to what I use, but in terms of "minimal", it can be pretty bare bones. See here for some other examples.

tobyl commented

Thanks for the response - I'll check that out and report back. I've been looking through the code, but I have no experience in golang. This should help me troubleshoot though!

tobyl commented

My ignition file was bad, which was causing the issue - I had included the following lines which apparently causes the config to fail:

variant: flatcar
version: 1.0.0

I think this is due to me following the Flatcar docs which uses Butane. I'm going to close this - thank you for the guidance!