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

    Unsolved FOG Problems
    1
    0 Votes
    1 Posts
    18 Views
    No one has replied
  • FOG Multicast on different VLANs

    Unsolved FOG Problems
    4
    0 Votes
    4 Posts
    52 Views
    george1421G

    @sega said in FOG Multicast on different VLANs:

    So some people already tried it?

    Yes and so have I. You would need some way to dynamically change the network adapter defined in the global FOG settings to change the network adapter. You might also need to change a file called /tftpboot/default.ipxe to point to different interfaces. You might be able to get around this by setting up multiple tftp servers on the fog server, where each tftp server bound to a different interface and had a different home directory, that would be more of a long term change. And then you need to work out a way to update the imaging network interface in the fog settings depending on what interface you wanted to image using. There may be more crafty ways about doing this, but this is just off the top of my head.

  • [Problem] Storage Node connection issues after updating to FOG 1.6

    Unsolved Bug Reports
    5
    0 Votes
    5 Posts
    631 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
    9 Views
    No one has replied
  • FOG - Label Print....

    Unsolved FOG Problems
    2
    0 Votes
    2 Posts
    41 Views
    george1421G

    @ecoele I can say this option will not probably be added by the developers since its such a niche or one off requirement. But I’m not speaking on behalf of the developers, I’m just stating my opinion. Its up to them to decide if a feature request has merit.

    But fog being opensource its free for you to modify to your needs.

    What I can tell you that there are several user defined fields you are free to add whatever data you want. On the database side I think the fields are called user1 and user2.

    The second part is that FOG’s database runs on mysql (mariadb). This is much like any other sql server. If you have a windows computer and the mysql odbc driver installed you can query the fog database from a reporting writing tool running on windows. From there you can print labels, etc. You could do something as an excel macro to query mysql on the fog server.

    Again on the mysql server, you could program something on the fog server in either python or php to extract the data from mysql.

  • Uploading an image to a host that has a stored Windows 11 Pro key

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

    General Problems
    4
    0 Votes
    4 Posts
    44 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
    59 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
    252 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.

  • Wrong target device

    Unsolved FOG Problems
    4
    0 Votes
    4 Posts
    51 Views
    Tom ElliottT

    @Floppyrub The code exists in the FOS system (when you boot a machine for a task, not on your server)

  • Resizable Linux

    General Problems
    5
    0 Votes
    5 Posts
    220 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
    103 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
    12k 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
    794 Views
    R

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

  • IPXE.EFI does not load USB network adapters

    Hardware Compatibility
    3
    0 Votes
    3 Posts
    56 Views
    F

    Just follow these steps:
    Replace the following files (I used the default installation):

    /root/fogproject/utils/FOGiPXE/buildipxe.sh /root/ipxe/src/config/usb.h

    then fire:

    /root/fogproject/utils/FOGiPXE/buildipxe.sh

    and finally copy the files to the target folder:

    cp -r /root/fogproject/packages/ftp/* /tftpboot
  • 2 Votes
    2 Posts
    266 Views
    F

    Thank you so much, that was exactly the solution to my issue!

  • Boot PXE on iMac 14.3 (catalina)

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

    Unsolved Bug Reports
    4
    0 Votes
    4 Posts
    110 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
    703 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
    6k Views
    R

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