Testers

Notorious Beta Testers

Private

Posts

  • RE: FOG Boot via HTTP without DHCP

    Unfortunately, HTTP boot still requires a dhcp server.

    posted in FOG Problems
  • RE: All services are globally disabled

    I was able to fix the:

    PHP Warning: DateTime::modify(): Failed to parse time string (+ second) at position 0 (+): Unexpected character in FOGImageSize
    

    Replace:

    $ServiceClass::$zzz != 1 ? '' : 's'
    

    with

    $ServiceClass::$zzz == 1 ? '' : 's'
    

    The same for FOGImageReplicator,FOGImageSize.

    FOGPingHosts:

    Replace:

    $ServiceClass::$zzz != 1 ? '' : 's'
    

    with:

    sprintf(
        '+%s second%s',
        $ServiceClass::$zzz,
        $ServiceClass::$zzz != 1 ? '' : 's'
    )
    
    posted in FOG Problems
  • RE: All services are globally disabled

    I found this also:

    ● FOGImageReplicator.service - FOGImageReplicator
    Loaded: loaded (/usr/lib/systemd/system/FOGImageReplicator.service; enabled; preset: disabled)
    Active: active (running) since Wed 2026-02-11 13:41:33 EST; 51min ago
    Main PID: 22945 (php)
    Tasks: 2 (limit: 100404)
    Memory: 15.8M (peak: 18.9M)
    CPU: 1.704s
    CGroup: /system.slice/FOGImageReplicator.service
    ├─22945 php /opt/fog/service/FOGImageReplicator/FOGImageReplicator
    └─22962 php /opt/fog/service/FOGImageReplicator/FOGImageReplicator

    Feb 11 13:41:33 10fogserver systemd[1]: Started FOGImageReplicator.
    Feb 11 13:42:34 10fogserver env[22962]: PHP Warning: DateTime::modify(): Failed to parse time string (+ second) at position 0 (+): Unexpected character in /opt/fog/service/FOGImageReplicator/FOGImageReplicator on line 44
    Feb 11 13:42:34 10fogserver env[22962]: PHP Warning: DateTime::modify(): Failed to parse time string (+ second) at position 0 (+): Unexpected character in /opt/fog/service/FOGImageReplicator/FOGImageReplicator on line 58

    ● FOGSnapinReplicator.service - FOGSnapinReplicator
    Loaded: loaded (/usr/lib/systemd/system/FOGSnapinReplicator.service; enabled; preset: disabled)
    Active: active (running) since Wed 2026-02-11 13:41:33 EST; 52min ago
    Main PID: 22964 (php)
    Tasks: 2 (limit: 100404)
    Memory: 15.8M (peak: 18.9M)
    CPU: 1.794s
    CGroup: /system.slice/FOGSnapinReplicator.service
    ├─22964 php /opt/fog/service/FOGSnapinReplicator/FOGSnapinReplicator
    └─23075 php /opt/fog/service/FOGSnapinReplicator/FOGSnapinReplicator

    Feb 11 13:41:33 10fogserver systemd[1]: Started FOGSnapinReplicator.
    Feb 11 13:42:34 10fogserver env[23075]: PHP Warning: DateTime::modify(): Failed to parse time string (+ second) at position 0 (+): Unexpected character in /opt/fog/service/FOGSnapinReplicator/FOGSnapinReplicator on line 44
    Feb 11 13:42:34 10fogserver env[23075]: PHP Warning: DateTime::modify(): Failed to parse time string (+ second) at position 0 (+): Unexpected character in /opt/fog/service/FOGSnapinReplicator/FOGSnapinReplicator on line 58

    posted in FOG Problems
  • All services are globally disabled

    stable version 1.5.10.1754

    I am spinning up a new fogserver on a new host and I am seeing all services are globally disabled in the logs.

    [02-11-26 6:42:34 pm] * Starting ImageSize Service
    [02-11-26 6:42:34 pm] * Checking for new items every 3600 seconds
    [02-11-26 6:42:34 pm] * Starting service loop
    [02-11-26 6:42:34 pm] * * Image size is globally disabled

    [02-11-26 6:42:34 pm] * Starting SnapinReplicator Service
    [02-11-26 6:42:34 pm] * Checking for new items every 600 seconds
    [02-11-26 6:42:34 pm] * Starting service loop
    [02-11-26 6:42:34 pm] * * Snapin replication is globally disabled

    [02-11-26 6:42:34 pm] * Starting ImageReplicator Service
    [02-11-26 6:42:34 pm] * Checking for new items every 600 seconds
    [02-11-26 6:42:34 pm] * Starting service loop
    [02-11-26 6:42:34 pm] * * Image replication is globally disabled

    I have toggled the service off and on in fog settings but it still does not work.
    Any suggestions or troubleshooting steps would be greatly appreciated.

    Thanks.

    posted in FOG Problems
  • RE: PXE partial success, no tftp

    @thezman007 I would say the pcap file you provided is a model of how a proxy dhcp and dhcp server should interact. The first part of the pcap is perfect.

    The second part starting at second #19. The client issues a dhcp discover and the dnsmasq answers right away, the client had to issue a second discover request before the main dhcp server @ 2.2 address responded. This pattern is repeated at the end of the pcap (you can see this if you look at the pcap with wireshark).

    So this is only me reading the tea leaves but I think there is something up with your main dhcp server because its being slow to respond to dhcp requests. Understand I only can see 25 second pcap but I find it abnormal. When things go sideways (and it probably will) get a pcap of the failure, that’s going to tell us what’s missing.

    I’m going to remove your pcap from your post because its not needed now.

    posted in FOG Problems
  • RE: PXE partial success, no tftp

    @thezman007 said in PXE partial success, no tftp:

    My current setup seems to allow our PXE boot to partially work, but ultimately fails. It appears that our proxyDHCP via dnsmasq is working and our main DHCP server is handing out IPs while our fog server is directing devices to itself for PXE services, but the overall process fails once tftp should be serving the .efi file. We’ve tried using a different computer when attempting to PXE to try and eliminate model specific quirks. I’ve also tried changing the file dnsmasq should serve (snponly.efi or ipxe.efi) with no change. tftp via locahost works as expected, tftp over LAN fails. There are NO tftp requests seen from tcpdump during PXE boot, but I can’t provide that data until my tech returns on-site next week.

    This is the most important section.

    what I want you to do is run tcpdump from the fog server. I want you to use the pcap filter of port 67 or port 68 or port 4011 or port 69

    That will capture dhcp, proxy-dhcp and tftp.

    ref: https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue?_=1769224516191

    Review the pcap with wireshark. You should see the DORA process if the fog server is on the same subnet as the pxe booting client.

    Discover
    Offer
    Request
    Ack/Nack

    What will be important to watch is to make sure the client is getting two offer packets. Once will be from your main dhcp server and the second one from dnsmasq. If you are not seeing the one from dnsmasq server then that is the start of the problem. If you do see two and one is from your dnsmasq server then go to the next part.

    Now that you verified that dnsmasq is seeing the DISCOVER packet and responded with an OFFER packet then after DORA you should see the client call back to dnsmasq on port 4011. In that transaction the client will be told the boot server and boot file. Verify these are correct.

    And finally the client should reach out to the FOG server over tftp to first request the file size then request the file. So there will be two tftp communications, then the file should download.

    posted in FOG Problems
  • RE: PXE issues

    @Jamaal This problem is solvable but it make take some effort on your part.

    Lets start with the basics.

    For the DHCP IP zone where your pxe booting clients live, you need to set dhcp options 66 to the IP address of your fog server. And for dhcp options 67 that needs to be snponly.efi or snp.efi. With those settings configured on a MS Windows based dhcp server a pxe booting client should boot. Make sure on your dhcp server that is responding to bootp and dhcp requests. Its been a while since I messed with windows but on the dhcp server there should be a setting of dhcp bootp or both. Select both.

    Now lets talk about WDS for a second. A WDS server can use dhcp options 66 and 67 as above, but it can also run a proxy dhcp service that tells the client to ignore the dhcp options and come talk to it for boot information after it gets an IP address for the dhcp server. This maybe called a netboot service or something like that on your WDS server. Its not part of the main WDS service. If this service is still enabled it will override any settings you make in dhcp for pxe booting.

    So how do you figure this out to what’s wrong?

    The easiest and most complicated issue is to identify what is flying down your network during the pxe booting process. You can do this with wireshark on a witness computer (computer not part of the pxe booting process). This witness computer can either be a ms windows or linux computer, the key is to have wireshark loaded. When you start up a capture use a capture filter of port 67 or port 68 or port 4011 That will limit what wireshark sees to only the dhcp packets. Make sure the witness computer is connected to the same subnet as the pxe booting computer.

    Start the packet capture and then attempt to pxe boot the target computer. Continue to capture the packet until the pxe booting computer either reaches the fog iPXE menu or errors out. Then stop the capture.

    In the top section you should see the DORA (discover, offer, request, and finally ack/nack) process. The process goes as follows:
    Client -> Discovery
    Server-> Offer
    Client -> Request
    Server -> Ack/Nack

    In this process you are most interested in the one or more OFFER packets. In a normal network you should only see one OFFER packet. When WDS is involved you will see one OFFER packet from your main dhcp server and a second OFFER packet from your WDS server. If you are seeing the OFFER from your WDS server then you don’t have the proxy-dhcp service disabled, and that is causing your issue. If you are seeing two offer packets from two different dhcp servers, such as a primary / secondary setup make sure both dhcp server are configured to boot from FOG server.

    Now what do you do if you only have one OFFER packet and its still not working. This is where you need to select the OFFER packet and then look at the data in the parameters box. There will be the bootp fields of next-server and boot-file these need to be configured for the fog server IP and snp.efi. Then in the dhcp options section options 66 and 67 need to be set correctly. If one or the other sections are not set correctly you will get random machines not booting while others are.

    If you can’t figure it out save the packet capture file “be sure you only captured the dhcp process” and up load the file to a file share site and post the link here and one of us will take a look to see what’s wrong. But I think from what I covered here you should be able to figure out what the pxe booting client is being told to do incorrectly.

    posted in FOG Problems
  • RE: could not verify mount point, check if .mntcheck exists /bin/fog.download

    @alperi The bit if detail you are missing is what the kernel parameters were that was sent to the fog client. From what you posted it appears that the FOG server has all of the bits in the right spots.

    In the kernel parameters that are passed to bzImage during boot up it lists where the FOS engine can find the deployment server. I would verify the IP addresses are correct. If everything appears correct with the parameters, we can debug this a bit more by debug deploy and then manually interact with the fos engine from the target PC’s console.

    posted in FOG Problems
  • RE: The DDP package file was not found or could not be read

    @djgalloway Just to add a bit of detail here. All of the work you did was on the iPXE side, which is great work by the way. The kernel driver I updated was after you select an FOG iPXE menu item that is when bzImage is loaded and run. It relies on kernel parameters that is provided by iPXE to find the root file system. This is technically what you fixed by ensuring that default.ipxe/boot.php from the fog server was being called. At the end of the day, I’m glad you got that working because your setup is definitely an edge case that works well in your environment.

    posted in Hardware Compatibility
  • RE: FOG boot issue after BIOS update on HP ZBook Fury 16 G11 – iPXE autoexec.ipxe not found

    @CanadienITGuy Just for your and anyone’s fyi the autoexec.ipxe... Not Found is not an error. It’s more of an info message than a warning or error.
    I actually have tested adding an autoexec.ipxe, even just an empty file to remove that message but even an empty file or a file that is even just a symlink or copy/paste of our normal ipxe/boot menu files causes things to break in the process.
    The autoexec.ipxe is meant for adding customization to the ipxe process without needing to re-build the ipxe binary. But my testing with it within the fog workflow was that it’s best to just let that message exist and to see it as it being not found means the process will not be altered from your expected Fog ipxe workflow

    posted in FOG Problems