The `efibootmgr -c` command always creates a new boot entry rather than
updating an existing one. Prior to commit c6ba53c, the GRUB installation
block only ran on fresh installs. That commit extended it to run on
upgrades when GRUB versions differ, which also caused `efibootmgr -c` to
run on upgrades, creating duplicate TrueNAS-X entries. While firmware
typically cleans up duplicate entries on reboot (as observed on TrueNAS
MINI hardware), EFI NVRAM has limited space and users with NVRAM already
full from other sources reported `No space left on device` error during
updates as creating a new entry fails before the next reboot can clean up.
The boot entry created during fresh installation remains valid across
upgrades since GRUB binaries are updated at the same path
(`/EFI/debian/grubx64.efi`). Only create the boot entry on fresh installs
where `old_root` is None.
(cherry picked from commit a8be69ed46)
Co-authored-by: Ameer Hamza <ahamza@ixsystems.com>
* Correction to Publish-ISO pipeline file creation
* Temporary change to avoid repush
* Correction to sort
* Correction to sort
* Adding logging to check which builds are being added
* Adding debug to investigate why file is not being updated
* Removing the skip parameter
* Added creation or addition to releases.json including push to train
* Corrected paths
* Corrected point at which upload folder is cleaned up
* Commented out ISO whilst update push release file tested
* Reinstated ISO push steps
* Corrected indents
* Simplified logic to use all the fields from the manifest file and removed sorting of entries as they are added in sequence
* Jenkins JSONObject does not implement Cloneable, approach changed
* Added order check on 30 days to be certain we retain the correct data
Installing the BLI module in the installer’s minimal EFI environment
deadlocks, leading to an unresponsive black screen. We now only invoke
insmod bli on real installations by detecting ISO boots via
/.disk/info. This prevents the deadlock and blank screen on installer
boots while ensuring BLI still loads correctly on standard boots.
Always use '/var/empty' when comparing reference files to match TrueNAS SCALE's
standard home directory for system users, preventing false cache invalidation
due to Debian's '/nonexistent' default.
This commit adds a basic python version check to the truenas_install
module so that we can raise a useful error message if someone
is somehow running the installer in the context of a really old
python version (like in 13).
* Update mirrors for ge
* Prioritize bookworm backports over standard bookworm mirror
* Temporarily bump grub2 jobs
* Temporarily bump grub2 jobs
* Remove nomodeset on Ameer's suggestion
* Insert bli module for grub
* Reset grub jobs
* Revert "Remove nomodeset on Ameer's suggestion"
This reverts commit 4f79f500df.