Categories

  • 13k Topics
    115k Posts
    J

    @Tom-Elliott

    I’ve been working on deploying images to a Raspberry Pi 4 (ARM64) using FOG (version 1.5.10.2254, FOS kernel 6.18.38), and I wanted to share our findings, encountered errors, and current limitations we faced during the process. Hopefully, this can help improve native ARM support or guide others trying to achieve unattended RPi deployments.

    Here is a summary of what we experienced and how we bypassed it:

    U-Boot bootargs Buffer Overflow

    Issue: When adding extra environment variables to bootargs inside boot.cmd (such as custom storage IPs, disk targets, or MAC addresses), the ARM64 kernel command line exceeded the maximum allowed size. This caused the kernel boot process to silently halt right after the network interface came up (Link is Up).

    Workaround: Kept the bootargs string as minimal as possible and relied on FOG web settings where applicable.

    Missing osid Parameter

    Issue: FOS initialization stops with No os id passed (determineOS) and reboots if the kernel parameters do not explicitly provide osid=50 (or the corresponding OS ID) alongside type=down.

    Workaround: Explicitly appending osid=50 type=down in the U-Boot script parameters.

    FOG Automatic Script Orchestration vs. ARM Multi-Partition Layout

    Issue: Even when successfully booting into FOS and passing the correct variables (img=Raspberry, storage=…, fdrive=/dev/sda), the automated fog script skips or fails to correctly parse multi-partition layouts on USB/SD external drives (/dev/sda), directly jumping to “Task Complete” without actually writing data via Partclone or triggering errors like Fatal Error: Unknown request type :: Null.

    Workaround: We had to enter FOG Debug Mode (isdebug=yes), export variables manually (export storage, export img, export type=down), and notice that FOG’s single-partition versus multi-partition routines expect specific raw file structures (d1.mbr, d1p1.img, d1p2.img).

    Raw Image Files (.img) vs. Partclone Format

    Issue: When attempting manual deployment via partclone.restore, Partclone throws This is not partclone image because FOG stores standard multi-partition RPi captures as raw binary dumps (.img) rather than compressed partclone streams.

    Workaround: Restoring the MBR and partitions required direct block-level commands:
    Bash

    dd if=/images/Raspberry/d1.mbr of=/dev/sda bs=512 count=1
    dd if=/images/Raspberry/d1p1.img of=/dev/sda1 bs=4M status=progress
    dd if=/images/Raspberry/d1p2.img of=/dev/sda2 bs=4M status=progress

    Result: While the partitions are written, the RPi firmware still struggles to directly boot the resulting USB structure (Unable to read partition as FAT), indicating that standard FOG MBR generation (d1.mbr) doesn’t align cleanly with RPi’s expected GPT/FAT bootloader requirements for USB-MSD booting.

    It seems the automated deployment engine (fog script) inside FOS needs specific adaptations for ARM/Raspberry Pi multi-partition disk imaging (handling fdrive=/dev/sda and raw dd-like partition layouts seamlessly).

    Any insights or recommendations on how to properly handle native RPi deployments through FOG would be greatly appreciated!

  • 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
    J

    @Tom-Elliott
    Something isn’t working well for me.
    I can’t get iPXE menu when secureboot is enable and secureboot/snponly-shimx64.efi is set.

    On a Lenovo ThinkPad E16 Gen 1, I only have this :
    9b9dee1d-92da-4baf-9afc-0e60d4f74b01-image.png

    I acces on iPXE menu a Lenovo ThinkBook 15-IIL but yet I think MOK.DER isn’t registering well even with an usb key connected formatted in fat32 with the 3 files.
    94105339-cff4-4e2f-a839-eb0977c8c936-vlcsnap-2026-08-26-09h50m19s364.png https://streamable.com/v6wyus

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

    @Valer I think we need to understand what this plugin is doing.

    CSS isn’t something we’ve allowed to be injectable though it could be.

    You can still use your own CSS but that’s more at the FOG Configuration -> FOG Setting -> FOG_THEME, but you would need to put it on your server in a location you type the path too here.

    https://docs.fogproject.org/en/latest/development/plugin-development

    This is a good toolkit for understanding how to build your own plugin.

83

Online

12.7k

Users

17.6k

Topics

157.0k

Posts