Raspberry pi network boot possible through fog - or how to exclude

  • Hi,

    Any advice on network booting pi’s very welcome please, or just to check my thinking.

    (Just to be clear, this is not installing fog project onto a pi)

    I’m using Fog as a DHCP proxy (DHCP/ DNS done by pi-hole dnsmaaq for now but likely to change as I may go back to isc/ bind)

    So I can see four options (in least to most preferable)

    1. Subnet/ VLAN
    2. Exclude the pis from fog through mac address to setup a seperate pxe boot system - I need to check whether to do this on the fog server dnsmasq, or pihole’s dnsmasq (?)
    3. Explicitly choose the pxe server for each mac through next-server or equivalent, can this be done per machine?
    4. Use fog: I’m hoping someone clever has already got this working? I’d rather not introduce a whole seperate PXE system if possible

    Using fog (notes for myself):
    *Apparantly the ARM kernels are available now for imaging a pi - https://forums.fogproject.org/topic/14064/imaging-rasberry-pi?_=1588408823472
    ** Need to check how to do reinstall (can I just ./installfog.sh -A over the existing installation as per new build)

    Many thanks in advance

  • Moderator

    @beardedfool said:

    Need to check how to do reinstall (can I just ./installfog.sh -A over the existing installation as per new build

    Yes you should be able to do just that!

  • Makes perfect sense, back to you ASAP with the Pcap and after I’ve read/ understood that advanced dnsmasq techniques link fully, thanks again.

  • Moderator

    @beardedfool said in Raspberry pi network boot possible through fog - or how to exclude:

    it may be easier to ask fog to ‘get out of the way’ for another pxe boot server

    Without doing any research on this topic. I can’t see the need for fog to get out of the way on this. And actually to be more precise at this moment its not a ‘FOG’ issue but a PI and pxe booting issue with DNSMASQ. The pcap will tell us what the PI is telling the dhcp server (dnsmasq in this case). The goal here would be to identify something unique (unique in that its different than a x86 system tells the dhcp server) that the PI is telling the dhcp server and key off of that to send the correct boot file name to the PIs only.

    PI imaging with fog is only possible once pxe booting has been solved.

  • Yep, these will be PI3b+ or Pi4’s - may backtrack to the others but to start with them.

    If it’s not a common thing it may be easier to ask fog to ‘get out of the way’ for another pxe boot server, hence methods 2&3 though I’m not loving the idea of two on one network so I’ll likely have a go with fog first as would- I’ll do some more digging and come back to you with specific questions.

    Out of interest, please do shout if you’re aware of any good links for the FOG/ pi imaging side you mentioned. Could be good learning there.

  • Moderator

    @beardedfool This is not something I’ve seen people do before here on the forum. Netbooting appears to be possible by the ref link I just added to my previous post. But it looks like you will have the best success with a PI3B+ system. Before that model pxe booting was possible but with a lot of exceptions. I need to look in my box of stuff to see if I have a PI3B or PI3B+, I know its a PI3B<something>.

  • Thanks @george1421

    I was looking to netboot them in the first instance. Maybe imaging could end up being useful as well but later.

    I’ll definitely come back to you on this as I’m only just thinking of doing it/ researching at present but will grab you that pcap ASAP - may just be a few days. Just wanted to check if I was on trodden ground initially.

    If no one comes back with a something I’ll setup a quick lab environment first to make sure I understand the process with a ‘normal’ pxe setup alongside this as well.

  • Moderator

    OK following the link that Sebastian provided from the link you provided it shows that pxe booting is possible with the PIs. So to start down the path of understanding I want you to follow this tutorial and grab a pcap (network capture) of the pxe booting process using the PIs. Understand that you will get an error pxe booting. But errors are good because they will tell us where the problem is. This pcap will also tell us what the PI is telling the network about itself. Follow the instructions and upload the pcap to either the forum or a file share site and post the link here. I want to see what the PI is telling the dhcp server. https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue

  • Moderator

    I see your setup, but what is the problem? Are you trying to image Pi systems or are you tying to netboot them?

    I have not looked into it, but do the Pi’s have a pxe boot option? If they do I’m sure we can get dnsmasq to send the proper boot file name to the PIs vs an x86 system.

    This is an old article but we may need it for reference: https://forums.fogproject.org/topic/8726/advanced-dnsmasq-techniques

    ref: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net_tutorial.md