• Issue Deploying Image To A Specific Laptop Brand

    Unsolved FOG Problems
    2
    0 Votes
    2 Posts
    623 Views
    george1421G

    @AngryITGuy First let me say I don’t use FOG for image deployment any more since I’ve moved to a different IT group, but if this situation hit my desk I would go through a similar process as below

    I have more questions than answers for you. But the good thing here is FOG is imaging these systems and can deploy windows 10 to the hardware without issue. Right away we can rule out fog’s foundational support system being broken because it can deploy win10 and win11 to other hardware and win10 to this stone hardware.

    When I debug something new or strange I try to build a truth table in my head of different experiments to see what works and what not works. Something like:

    Deploy and boot win10 Dell laptop: Yes
    Deploy and boot win11 Dell laptop: Yes
    Deploy and boot win10 Stone laptop: Yes
    Deploy and boot win11 Stone laptop: No (kind of)

    So now to the unknown questions (and I assume these stone laptops are in uefi mode, you mentioned ‘bios’, but your boot loader is ipxe.efi.

    On this stone laptops do you have pxe setup as the default boot source or is it the hard drive? This question is to see if the boot is failing if you are booting through ipxe.efi or if the firmware is having a problem finding the boot partition. If you are booting through iPXE see if changing the boot order to the hard drive solves the issue (for this test).

    You will need to turn off secure boot for this next step. If you swap the hard drives between the dell and stone computer, does the stone computer boot normally repeated times? Does the dell computer reboot repeated times OK? This check is to see if the problem moves with the hard drive. The question is around if fog combined with the disk controller hardware on the stone doing something to damage the boot sector for win11 when it deploys. The dells works, can you get the stone computers working by deploying to a dell and then transplanting the hard drive to the stone?

    If you deploy win10 and then upgrade to win11 on a stone laptop (verify its working 100%) and then capture and deploy to a same make and model computer. Does it boot correctly on the second computer? Can you deploy it to the same computer it was captured from and does it work? This will test if there is something wrong with your win11 image you are trying to deploy to the stone computer.

    Lets see how the above goes before we plot the next test.

    Just to recap

    Test booting through iPXE vs firmware booting directly to hard drive Swap the hard drives between the dells and stone computers see if the problem moves Try to capture and deploy using the same hardware. First to like computer if no work, try to deploy to same computer image was captured from.
  • 1 Votes
    5 Posts
    918 Views
    F

    @Tom-Elliott Yes, everything is working as expected. For the longest time, FOG would always show UTC time for when an image was captured or deployed, now it is correctly showing local time and no more zombie processes! Thanks

  • WS2K25 DHCP_ACK Failure

    Unsolved Windows Problems
    1
    0 Votes
    1 Posts
    172 Views
    No one has replied
  • cron-style scheduled task starts on UTC, not local time

    Solved FOG Problems
    10
    0 Votes
    10 Posts
    1k Views
    Tom ElliottT

    @RAThomas I wont make you do a PR. I already pushed it if you wanted to use the the pushed code. 🙂 thanks for testing and letting us all know!

  • FOG - Label Print....

    Unsolved FOG Problems
    4
    0 Votes
    4 Posts
    683 Views
    E

    @george1421 I would need help with where I can edit and which files to add a script for quick inventory.

  • 0 Votes
    1 Posts
    651 Views
    No one has replied
  • [Problem] Storage Node connection issues after updating to FOG 1.6

    Unsolved Bug Reports
    5
    0 Votes
    5 Posts
    1k Views
    F

    @Tom-Elliott Thanks, going to switch back to 1.6 very soon.

  • FOG Multicast Manager creating zombie processes. How to fix?

    Unsolved Linux Problems
    1
    0 Votes
    1 Posts
    99 Views
    No one has replied
  • Uploading an image to a host that has a stored Windows 11 Pro key

    Unsolved FOG Problems
    1
    0 Votes
    1 Posts
    450 Views
    No one has replied
  • Proper way to reinstall the FOG Client

    General Problems
    4
    0 Votes
    4 Posts
    468 Views
    jfernandzJ

    @Tom-Elliott oh, sorry, I didn’t notice this big yellow button in the General tab

    48c096ca-5f09-42d1-84dc-647e5bc6e22d-image.png

    And I can see the same button for the group, so I guess I can handle this. Thank you very much @Tom-Elliott ! 😄

  • Upgrading FOG

    General Problems
    5
    0 Votes
    5 Posts
    669 Views
    jfernandzJ

    @Tom-Elliott

    Well, the errors I can see in the /var/log/apache2/other_vhosts_access.log are:

    172.120.1.253:443 172.120.1.195 - - [09/Oct/2025:18:47:03 +0800] "POST /fog/service/Pre_Stage1.php HTTP/1.1" 500 3891 "-" "curl/8.14.1" 172.120.1.253:443 172.120.1.195 - - [09/Oct/2025:18:47:08 +0800] "POST /fog/service/Pre_Stage1.php HTTP/1.1" 500 3891 "-" "curl/8.14.1" 172.120.1.253:443 172.120.1.195 - - [09/Oct/2025:18:47:13 +0800] "POST /fog/service/Pre_Stage1.php HTTP/1.1" 500 3891 "-" "curl/8.14.1" 172.120.1.253:443 172.120.1.195 - - [09/Oct/2025:18:47:18 +0800] "POST /fog/service/Pre_Stage1.php HTTP/1.1" 500 3891 "-" "curl/8.14.1"

    Regarding the /var/log/apache2/error.log are:

    [Thu Oct 09 18:48:29.019424 2025] [proxy_fcgi:error] [pid 1662:tid 1662] [client 172.120.1.195:59922] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught ValueError: min(): Argument #1 ($value) must contain at least one element in /var/www/html/fog/lib/fog/image.class.php:396\nStack trace:\n#0 /var/www/html/fog/lib/fog/image.class.php(396): min()\n#1 /var/www/html/fog/lib/reg-task/taskqueue.class.php(112): Image->getStorageGroup()\n#2 /var/www/html/fog/service/Pre_Stage1.php(24): TaskQueue->checkIn()\n#3 {main}\n thrown in /var/www/html/fog/lib/fog/image.class.php on line 396' [Thu Oct 09 18:48:34.062774 2025] [proxy_fcgi:error] [pid 790:tid 790] [client 172.120.1.195:52762] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught ValueError: min(): Argument #1 ($value) must contain at least one element in /var/www/html/fog/lib/fog/image.class.php:396\nStack trace:\n#0 /var/www/html/fog/lib/fog/image.class.php(396): min()\n#1 /var/www/html/fog/lib/reg-task/taskqueue.class.php(112): Image->getStorageGroup()\n#2 /var/www/html/fog/service/Pre_Stage1.php(24): TaskQueue->checkIn()\n#3 {main}\n thrown in /var/www/html/fog/lib/fog/image.class.php on line 396' [Thu Oct 09 18:48:39.106621 2025] [proxy_fcgi:error] [pid 1461:tid 1461] [client 172.120.1.195:52776] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught ValueError: min(): Argument #1 ($value) must contain at least one element in /var/www/html/fog/lib/fog/image.class.php:396\nStack trace:\n#0 /var/www/html/fog/lib/fog/image.class.php(396): min()\n#1 /var/www/html/fog/lib/reg-task/taskqueue.class.php(112): Image->getStorageGroup()\n#2 /var/www/html/fog/service/Pre_Stage1.php(24): TaskQueue->checkIn()\n#3 {main}\n thrown in /var/www/html/fog/lib/fog/image.class.php on line 396'

    The php version the server is running is:

    # php --version PHP 8.2.29 (cli) (built: Jul 3 2025 16:16:05) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.29, Copyright (c) Zend Technologies with Zend OPcache v8.2.29, Copyright (c), by Zend Technologies
  • Report Download

    Unsolved FOG Problems
    5
    0 Votes
    5 Posts
    882 Views
    Tom ElliottT

    @ecoele The fact that dev-branch is in 1700’s this informatino seems to indicate your’e still running the latest stable.

    Once you switch to dev-branch you need to pull in the changes:

    cd /your/path/to/fogproject git checkout dev-branch git pull cd bin sudo ./installfog.sh -y

    Should get you installed.

    You may also need to (from the browser) do a “CTRL + SHIFT + R” to do whats called a hard refresh in the browser to get all the latest/new javascript information.

  • Resizable Linux

    General Problems
    5
    0 Votes
    5 Posts
    445 Views
    S

    @Tom-Elliott Hi, I finally made it. Here is a screenshot of the error, installing clone Linux, from 512 gb m2 ssd, to 500 gb m2 ssd. And an error is caused with the sections
    5576202d-a566-4124-9c8f-378d29cac505-image.png
    b64f740c-5e04-48db-b049-5630abcc1e0a-image.png

  • Subnet Groups Plugin | Dynamic Groups Not Working

    General Problems
    3
    0 Votes
    3 Posts
    328 Views
    C

    @Tom-Elliott, disregard this request.

    I edited ‘addsubnetgroup.hook.php’ which simplified getting the client IP and adding the host to the respective group. I understand this also removes certain checks that were in place but for my environment it is now working as intended.

    Old ‘addSubnetgroupHost’ function:

    public function addSubnetgroupHost($arguments) { if (!in_array($this->node, (array)self::$pluginsinstalled)) { return; } $Host = $arguments['Host']; $mac = $Host->get('mac'); if (!isset($mac)) { return; } // Setup for tests $name = $ipn = $Host->get('name'); $ip = $Host->get('ip'); $ipr = self::resolveHostname($name); // Perform all tests. $ip1t = filter_var($ip, FILTER_VALIDATE_IP); $ip2t = filter_var($ipn, FILTER_VALIDATE_IP); $ip3t = filter_var($ipr, FILTER_VALIDATE_IP); // If resolve hostname returns a valid IP, set IP appropriately. // Otherwise, if the name is valid, use it. // Otherwise, return if base $ip is false. if (false !== $ip3t) { $ip = $ipr; } elseif (false !== $ip2t) { $ip = $ipn; } elseif (false === $ip1t) { return; } // Now list our subnet groups. Route::listem('subnetgroup'); $SNGroups = json_decode(Route::getData()); foreach ($SNGroups->subnetgroups as &$SNGroup) { if (in_array($SNGroup->groupID, $Host->get('groups'))) { $Host->removeGroup($SNGroup->groupID)->save(); } $subnetList = str_replace(' ', '', $SNGroup->subnets); $subnets = explode(',', $subnetList); foreach ($subnets as &$subnet) { if ($this->_ipCIDRCheck($ip, $subnet)) { $Host->addGroup($SNGroup->groupID)->save(); unset($subnet); continue 2; } unset($subnet); } unset($SNGroup); } }

    New code:

    public function addSubnetgroupHost($arguments) { if (!in_array($this->node, (array)self::$pluginsinstalled)) { return; } $Host = $arguments['Host']; $mac = $Host->get('mac'); if (!isset($mac)) { return; } // Use the real source IP from the request $ip = $_SERVER['REMOTE_ADDR']; // Now list our subnet groups. Route::listem('subnetgroup'); $SNGroups = json_decode(Route::getData()); foreach ($SNGroups->subnetgroups as &$SNGroup) { if (in_array($SNGroup->groupID, $Host->get('groups'))) { $Host->removeGroup($SNGroup->groupID)->save(); } $subnetList = str_replace(' ', '', $SNGroup->subnets); $subnets = explode(',', $subnetList); foreach ($subnets as &$subnet) { if ($this->_ipCIDRCheck($ip, $subnet)) { $Host->addGroup($SNGroup->groupID)->save(); unset($subnet); continue 2; } unset($subnet); } unset($SNGroup); } }
  • Fog iPXE Menu no input

    Unsolved FOG Problems
    29
    0 Votes
    29 Posts
    13k Views
    L

    Sorry
    with ipxe 1.21.1+ (gc30b7) it works but not with the latest version

    @Lorenzo said in Fog iPXE Menu no input:

    @Tom-Elliott
    Hi
    using the new version of ipxe build I can confirm that the ipxe menu works with the keyboard.
    The problem is that chainloading grub, the keyboard doesn’t work.
    With ipxe 1.0.0 it works. So by now we keep using the old version.

    Lorenzo

  • Kernel Versions blank

    Unsolved FOG Problems
    12
    0 Votes
    12 Posts
    2k Views
    R

    @rogalskij Yes, I had read it and tried, but FQDN did not solve it for me…

  • Boot PXE on iMac 14.3 (catalina)

    Unsolved Mac Problems
    1
    0 Votes
    1 Posts
    185 Views
    No one has replied
  • rocky linux 9.6 quirks & php 8

    Unsolved Bug Reports
    4
    0 Votes
    4 Posts
    482 Views
    Tom ElliottT

    @mrowand The whole point of the checkAuthAndCSRF is to prevent unauthorized access. Based on the message I’m seeing, the 403 forbidden is happening because it’s crossing origin to get the data or the CSRF token isn’t passing correctly:

    Here’s the code that validates:

    // Optional defense-in-depth: Origin/Referer check for state-changing requests public static function checkOrigin(array $allowedOrigins): void { $method = strtoupper($_SERVER['REQUEST_METHOD'] ?? 'GET'); if (!in_array($method, ['POST','PUT','PATCH','DELETE'], true)) { return; } $origin = $_SERVER['HTTP_ORIGIN'] ?? null; $referer = $_SERVER['HTTP_REFERER'] ?? null; if ($origin) { foreach ($allowedOrigins as $allowed) { if (stripos($origin, $allowed) === 0) { return; } } http_response_code(403); echo _('Forbidden (disallowed Origin)'); exit; } elseif ($referer) { foreach ($allowedOrigins as $allowed) { if (stripos($referer, $allowed) === 0) { return; } } http_response_code(403); echo _('Forbidden (disallowed Referer)'); exit; } // If neither header is present, you can decide to be strict or lenient. // Often lenient to avoid breaking weird client setups. }

    I suspect your console has more information leading to the specific error that was hit.

    ultimately the code is working as expected and there’s something in your environment causing the issue. Now, to be fair, you said you installed Stable, and Dev-branch has a fix of which I admit I missed.

    If you’re willing/able to install the dev-branch I suspect you’ll see this is working much better.

  • Installing fog on Rocky Linux 9.6

    Solved FOG Problems
    8
    0 Votes
    8 Posts
    1k Views
    M

    @ rodluz

    Okay - So I got FOG working on my rocky 9.6 set up with a few caveats.

    I had to do some work to get tftp and pxe to work correctly.

    created a symlink from /var/lib/tftpboot > /tftpboot

    enabled and started the tftp service manually - systemctl enable tftp & systemctl start tftp

    then created a file in /etc/systemd/system/tftp.socket.d/override.conf (after making a director /tftp.socket.d and giving that file permissions) with the following code:

    [Socket]
    ListenDatagram=69

    [Service]
    ExecStart=
    ExecStart=/usr/sbn/in.tftpf --foreground --secure /tftpboot

    reloading the systemd service daemon - “systemctl daemon-reload” & “systemctl restart tftp.socket”

    The server would then pxeboot at least BIOS at this point.

    The Web UI currently seems to have php conflicts. I installed php-8.0.30-3 and the modules connected to this when installing the server. The web UI has a quirk on the FOG configuration page when you have a button for DefaultMember FOG Version: () it is not printing the version of FOG or the versions of bzimage or init.xz files and in checking using curl http://ip-address-of-server/fog/service/getversion.php - i ony see - 1.5.10.1698

    here is a picture of the error

    error.png

  • Group Export

    Solved FOG Problems
    7
    0 Votes
    7 Posts
    7k Views
    R

    Yes, was able to confirm it is working. Thank you for your help!