Categories

  • 13k Topics
    115k Posts
    K

    @Tom-Elliott

    * Setting up fogproject user..................................Skipped * Setting up MySQL user and database..........................Skipped * Creating redirection index file.............................Skipped * Installing Secure Boot signing helper........................./lib/common/functions.sh: Zeile 14181: /etc/sudoers.d/fog-secureboot.tmp: Datei oder Verzeichnis nicht gefunden Refusing to install an invalid sudoers rule; the web Kernel Update page will download unsigned kernels. See /srv/daten/setup/20260602_wechsel_auf_fog_dev/fogproject/bin/error_logs/fog_error_1.6.0-beta.5396.log. * Detected a web certificate managed outside FOG: /opt/fog/pki/web/leaf/.webLeaf.pem does not chain to this server's own CA * FOG will keep managing this vhost, but will not re-issue or re-key that certificate. Undo by pointing /opt/fog/pki/web/leaf/.webLeaf.pem back inside /etc/fog/pki/web. * Web certificate is externally managed (PKI_web_cert_publicly_trusted=yes) -- leaving it in place. Re-issue it yourself if you changed --hostname/--extra-server-name, or the certificate will not cover the new name. * Granting access to fogstorage database user.................Skipped * Setting up and starting DHCP Server.........................Skipped * A sample Kea DHCP config for a dedicated/external DHCP server was | written to: /var/www/fog/kea-dhcp4.conf.fog-sample | Copy it to your DHCP server as /etc/kea/kea-dhcp4.conf and adjust the | subnet/pool/routers/domain-name-servers to match that network. | next-server is already set to this FOG server (192.168.0.196). * autoexec/ is gone: every EFI binary in the TFTP root reads autoexec.ipxe now, so the duplicate tree served no purpose. * 10secdelay/ keeps its BIOS builds and has lost its EFI ones. On EFI the delay is installfog.sh --boot-delay, which writes a sleep into autoexec.ipxe; an EMBED-marked .efi sitting next to a root autoexec.ipxe panics the client it boots. * If any DHCP server hands out a boot filename starting "autoexec/", drop that prefix -- autoexec/snponly.efi becomes snponly.efi. If one names 10secdelay/<something>.efi, point it at the same file without the 10secdelay/ prefix and set --boot-delay instead. * Installing node certificate signing helper..................../lib/common/functions.sh: Zeile 5952: /etc/sudoers.d/fog-pki.tmp: Datei oder Verzeichnis nicht gefunden Failed * Refusing to install an invalid sudoers rule; storage nodes will keep generating their own self-signed certificates. * Installing the certificate management helper................../lib/common/functions.sh: Zeile 6104: /etc/sudoers.d/fog-pki-admin.tmp: Datei oder Verzeichnis nicht gefunden Failed * Refusing to install an invalid sudoers rule; the Certificates page will show the chain but will not be able to change it.

    3ef2c32b-ad70-4890-89eb-ec1937a0bcfc-grafik.png

    root@fog:~# systemctl restart FOGMulticastManager root@fog:~# systemctl -l status FOGMulticastManager ● FOGMulticastManager.service - FOGMulticastManager Loaded: loaded (/usr/lib/systemd/system/FOGMulticastManager.service; enabled; preset: enabled) Active: active (running) since Thu 2026-09-24 23:35:57 CEST; 29s ago Invocation: 0552def147314d8f8ec439d6e6eeb128 Main PID: 3797027 (php) Tasks: 2 (limit: 4594) Memory: 17.1M (peak: 18.7M) CPU: 247ms CGroup: /system.slice/FOGMulticastManager.service ├─3797027 php /opt/fog/service/FOGMulticastManager/FOGMulticastManager └─3797028 php /opt/fog/service/FOGMulticastManager/FOGMulticastManager Sep 24 23:35:57 fog systemd[1]: Started FOGMulticastManager.service - FOGMulticastManager. root@fog:~#

    Multicast test tomorrow

  • Get the latest news on what's happening.
    184 Topics
    825 Posts
    A

    @Tom-Elliott I really appreciate that you are putting effort into providing more frequent releases, which makes it easier for everyone to deploy new security fixes in time. Keep up the good work!

  • View tutorials or talk about FOG in general.
    2k Topics
    19k Posts
    R

    Now I read the AI summary and got what I need:

    It stores one row for each address in the hostNetwork table. Limits of this method The sleeping host must run fog-agent. The server uses the sleeping host’s own last report to find its subnet. A host with the legacy FOG Client, or with no client, has no rows, so the relay cannot help it. The old path still runs for it.

    So If I populate the hostNetwork table for the hosts that I need manually, It will work. Thank you for the details.

  • Report bugs, request features, or get the latest progress.
    2k Topics
    21k Posts
    Tom ElliottT

    @servicedesk-pianezza Yes, FOG writes that boot code, and I can show you where. Your finding holds up against our
    source and against a reproduction here.

    Where it comes from. On capture, saveGRUB() in funcs.sh copies the first 1 MiB of the
    source disk into d1.mbr with dd — LBA0 included, boot code and all. On deploy,
    clearPartitionTables() runs sgdisk -Z, which does clear the MBR, and then restoreGRUB()
    writes d1.mbr straight back over it. The next two commands are sgdisk -z, which destroys
    the GPT structures only and leaves the MBR bytes alone, and sgdisk -gl, which rewrites only
    the protective partition entry. So the captured Windows bootstrap survives the whole
    sequence, and gdisk supplies the entry in its own convention: EndCHS ff ff ff and the exact
    sector count.

    I replayed that sequence here on a loop-backed disk with one of our own Windows 11 resizable
    images. The result matches what you found byte for byte in shape:

    LBA0 : 33 c0 8e d0 bc 00 7c 8e ... (Windows MBR stub) 0x1BE : 00 00 02 00 ee ff ff ff 01 00 00 00 af 32 cf 1d

    Why it is not simply a bug. On a BIOS-booted GPT Linux disk that same region is GRUB’s
    boot.img, and d1.grub.mbr exists precisely so we keep it. We cannot blanket-zero LBA0 on
    every GPT restore. On a Windows GPT image it is dead weight — Windows only boots GPT through
    UEFI — so a targeted change is available to us. But we should change the right bytes.

    Which byte is it? Your diskpart disk differs from ours in three places at once, so we do
    not yet know which one the firmware chokes on. Three one-liners settle it. Start from a fresh
    deploy that hangs, run one of them, power off, power on, press F2. Redeploy between tests so
    each one is measured on its own:

    # 1 - the bootstrap, nothing else dd if=/dev/zero of=/dev/nvme0n1 bs=1 count=446 conv=notrunc # 2 - the size field -> sentinel printf '\xff\xff\xff\xff' | dd of=/dev/nvme0n1 bs=1 seek=458 conv=notrunc # 3 - EndCHS -> the diskpart value printf '\xfe\xff\xff' | dd of=/dev/nvme0n1 bs=1 seek=451 conv=notrunc

    Each writes inside LBA0 only and leaves the GPT untouched. Test 1 is the one I expect to
    matter, on the theory you already stated — a CSM path in that firmware reading or validating
    a bootstrap it should be ignoring.

    Name the byte and the fix is small: for a GPT image whose OS is Windows, clear that field
    during the restore and leave Linux images alone. That also gives the two 2020 reports on this
    hardware an explanation, which is worth having on its own.

46

Online

12.8k

Users

17.6k

Topics

157.2k

Posts