Subcategories

  • Technical help directly related to FOG.
    9k Topics
    86k Posts
    Tom ElliottT

    @Jeremy That’s the first time anyone has captured an image from a Raspberry Pi
    with FOG, so thank you for sticking with it through three rounds of this. The
    vc4 change is merged and will be in the next build.

    One correction to your boot.cmd before someone copies it: you didn’t actually
    need the uInitrd wrapper. The “Wrong Ramdisk Image Format” error came from
    dropping the size off the ramdisk argument - without it U-Boot reads the address
    as a legacy uImage and insists on a header. Either of these works:

    booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}

    or the wrapper you built, which is fine as-is because you used -C none. That
    part matters: -C gzip would have U-Boot decompress it and the kernel’s own gzip
    support - the first bug we fixed in this thread - would never have been
    exercised.

    For anyone finding this later, the display problem was ours. We build without
    DRM everywhere and rely on the firmware handing us a framebuffer, which is safe
    on a PC because UEFI always publishes one. On a Pi it isn’t: our device tree has
    no simple-framebuffer node, and the one the firmware would normally inject
    disappears as soon as config.txt enables vc4-kms-v3d, which current Pi OS ships
    turned on. So the kernel was booting fine the whole time and had no way to tell
    anyone.

    Worth saying plainly: your report exercised three separate fixes on real
    hardware for the first time - the initramfs decompression, the ARM platform
    support, and the NFS mount options. All of it had only ever run in QEMU before
    you.

  • Problems with specific computer models.
    713 Topics
    8k Posts
    R

    @Tom-Elliott

    Thanks so much for your help with this. Happy to feed back any info I can so please do let me know if there’s anything else you need me to test. Will be on annual leave for a couple of weeks after this and have no access to the systems but I think this confirms your suspicion. Please see results below from a Dell OptiPlex 3070:

    Addresses on this machine:

    NIC: 01:00.0 (Realtek RTL8168h)
    Root port: 00:1c.0

    UEFI mode:

    setpci -s 01:00.0 CAP_EXP+10.w = 0142 (last digit 2 = L1 enabled)
    setpci -s 00:1c.0 CAP_EXP+10.w = 0c42 (last digit 2 = L1 enabled)

    Legacy/CSM mode:

    setpci -s 01:00.0 CAP_EXP+10.w = 0040 (last digit 0 = ASPM off)
    setpci -s 00:1c.0 CAP_EXP+10.w = 0c40 (last digit 0 = ASPM off)

    Dell’s UEFI firmware enables L1 on both the NIC and root port. The Legacy/CSM path leaves both off. The only difference between the two readings is those two ASPM bits. Everything else in the register is identical.

    Thanks for the nudge to run these. Anything else needs testing please do let me know. We love using FOG and it’s invaluable in our set of schools that we work in at least so please do keep up the great work!

  • Technical help related to a Windows Problem.
    1k Topics
    8k Posts
    V

    What version of FOG are you running?

  • Technical help related to a Linux Problem.

    730 Topics
    6k Posts
    Mr_____TM

    @JasonNaughton

    Hi, I noticed that this was unresolved after so long. Wonder if you have solved it?
    I recently stumbled across the man page for dhcpcd.conf. In there is a denyinterfaces (pattern) should solve the issue for you. It tells dhcpd to ignore the nic interfaces listed in pattern. Just was wondering if you found the fix otherwise hope this helps.

  • Technical help related to a Mac Problem.

    81 Topics
    943 Posts
    Bristow 0B

    Hello everyone,

    As I work at a secondary school, I was able to get hold of some Catalina iMacs (iMac 14.3).
    I already use FOG to deploy Windows and Linux images on PCs.

    I would like to deploy a LinuxMint image on these iMacs.

    However, I am unable to boot into PXE on them with FOG, and I do not know what is wrong.

    I modified my DHCP server as follows:

    ## FOG class "UEFI-32-1" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00006"; filename "i386-efi/ipxe.efi"; } class "UEFI-32-2" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00002"; filename "i386-efi/ipxe.efi"; } class "UEFI-64-1" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007"; filename "ipxe.efi"; } class "UEFI-64-2" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00008"; filename "ipxe.efi"; } class "UEFI-64-3" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00009"; filename "ipxe.efi"; } class "Apple-Intel-Netboot" { match if substring (option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386"; option dhcp-parameter-request-list 1,3,17,43,60; if (option dhcp-message-type = 8) { option vendor-class-identifier "AAPLBSDPC"; if (substring(option vendor-encapsulated-options, 0, 3) = 01:01:01) { # BSDP List option vendor-encapsulated-options 01:01:01:04:02:80:00:07:04:81:00:05:2a:09:0D:81:00:05:2a:08:69:50:58:45:2d:46:4f:47; } elsif (substring(option vendor-encapsulated-options, 0, 3) = 01:01:02) { #BSDP Select option vendor-encapsulated-options 01:01:02:08:04:81:00:05:2a:82:0a:4e:65:74:42:6f:6f:74:30:30:31; # filename "i386-efi/ipxe.efi"; filename "snp.efi"; } } } class "Legacy" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00000"; filename "undionly.kkpxe"; } ### END FOG

    I tested ipxe.efi in 64-bit and 32-bit, as well as snp.efi, but it still doesn’t work. I get some kind of spinning planet when I try to boot.

    I admit I don’t fully understand the documentation page: https://wiki.fogproject.org/wiki/index.php/FOG_on_a_MAC

    Thanks in advance!

  • General Developer questions relating to FOG.
    686 Topics
    5k Posts
    Bristow 0B

    @Tom-Elliott

    I’ve updated my FOG to the stable release and also updated my script with the following three lines, and everything’s fine – the database has been backed up successfully, it’s perfect!

    fogApiToken="XYZ=" fogUsrToken="ZYF" curl -ik -X GET "http://$fogServerAddress/fog/system/export" -H "fog-api-token: $fogApiToken" -H "fog-user-token: $fogUsrToken" -o $backupDir/mysql/fog.sql 2>>$backupDir/logs/error.log 1>>$backupDir/logs/progress.log 2>&1

    Thanks again for all your hard work on the FOG project!

84

Online

12.7k

Users

17.6k

Topics

157.0k

Posts