SB42 updates fail on system with 512MB /boot, 128MB /boot/efi

system rebased to SB42 on 16.02, tried to do a first update just now

$ rpm-ostree status
State: idle
Warning: failed to finalize previous deployment
         error: Bootloader write config: grub2-mkconfig: Child process exited with code 1
         check `journalctl -b -1 -u ostree-finalize-staged.service`
Deployments:
● fedora:fedora/42/x86_64/silverblue
                  Version: 42.20250216.n.0 (2025-02-16T07:52:59Z)
               BaseCommit: 53d51fc0701682c4484dcc887e5dceda712072174e8b9c19eb402e3c11643c9b
             GPGSignature: Valid signature by B0F4950458F69E1150C6C5EDC8AC4916105EF944
          LayeredPackages: adw-gtk3-theme btrfsmaintenance duperemove gnome-tweaks golang rpmfusion-free-release rpmfusion-nonfree-release steam-devices tealdeer unrar vim yaru-icon-theme zsh

  fedora:fedora/41/x86_64/silverblue
                  Version: 41.20250216.0 (2025-02-16T00:47:06Z)
               BaseCommit: 11586721589827255fc418fd544356568d2f7381868193a5f1c6c1c8716023e8
             GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1
          LayeredPackages: adw-gtk3-theme btrfsmaintenance duperemove gnome-tweaks golang rpmfusion-free-release rpmfusion-nonfree-release steam-devices tealdeer unrar vim yaru-icon-theme zsh
$ df -h -x tmpfs
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p3  477G  348G  127G  74% /sysroot
composefs        26M   26M     0 100% /
devtmpfs        4,0M     0  4,0M   0% /dev
efivarfs        154K   53K   97K  35% /sys/firmware/efi/efivars
/dev/nvme0n1p2  471M  326M  110M  75% /boot
/dev/nvme0n1p3  477G  348G  127G  74% /var/home
/dev/nvme0n1p1  128M   29M  100M  23% /boot/efi
$ journalctl -b -1 -u ostree-finalize-staged.service --no-pager --output=cat
Finished ostree-finalize-staged.service - OSTree Finalize Staged Deployment.
Stopping ostree-finalize-staged.service - OSTree Finalize Staged Deployment...
Finalizing staged deployment
Copying /etc changes: 22 modified, 3 removed, 93 added
Copying /etc changes: 22 modified, 3 removed, 93 added
Refreshing SELinux policy
Refreshed SELinux policy in 7016 ms
Finalized deployment
bootfs requires additional space: 168,2 MB
Size to prune from bootfs: 166,0 MB
Insufficient space left in bootfs; updating bootloader in two steps
/usr/bin/grub2-probe: error: failed to get canonical path of `composefs'.
error: Bootloader write config: grub2-mkconfig: Child process exited with code 1
ostree-finalize-staged.service: Control process exited, code=exited, status=1/FAILURE
ostree-finalize-staged.service: Failed with result 'exit-code'.
Stopped ostree-finalize-staged.service - OSTree Finalize Staged Deployment.
ostree-finalize-staged.service: Consumed 8.180s CPU time, 294.7M memory peak.
$ sudo find /boot -type f -printf "%s\t%p\n" | sort -n | tail -10
949424	/boot/efi/EFI/fedora/shimx64-fedora.efi
2960704	/boot/efi/EFI/fedora/grubia32.efi
3621581	/boot/grub2/themes/system/background.png
3621581	/boot/grub2/themes/system/fireworks.png
3968320	/boot/efi/EFI/fedora/grubx64.efi
16611688	/boot/ostree/fedora-2f6ca3a8412e77175ee7cefc89773968f11a0faadd7c834f2a1e939bd565397a/vmlinuz-6.12.13-200.fc41.x86_64
16951656	/boot/ostree/fedora-a4958ac9848c7f5abe8fdc4b4875404dea7415afa016f3d18111fdf3fa90f718/vmlinuz-6.14.0-0.rc1.15.fc42.x86_64
17401456	/boot/efi/EFI/fedora/fw/fwupd-b3ddeb3b-7264-43f0-bf36-a2b108adc70a.cap
149360951	/boot/ostree/fedora-2f6ca3a8412e77175ee7cefc89773968f11a0faadd7c834f2a1e939bd565397a/initramfs-6.12.13-200.fc41.x86_64.img
151152059	/boot/ostree/fedora-a4958ac9848c7f5abe8fdc4b4875404dea7415afa016f3d18111fdf3fa90f718/initramfs-6.14.0-0.rc1.15.fc42.x86_64.img
$ sudo tree /boot
/boot
β”œβ”€β”€ boot -> .
β”œβ”€β”€ efi
β”‚   β”œβ”€β”€ EFI
β”‚   β”‚   └── fedora
β”‚   β”‚       β”œβ”€β”€ BOOTIA32.CSV
β”‚   β”‚       β”œβ”€β”€ BOOTX64.CSV
β”‚   β”‚       β”œβ”€β”€ fonts
β”‚   β”‚       β”œβ”€β”€ fw
β”‚   β”‚       β”‚   └── fwupd-b3ddeb3b-7264-43f0-bf36-a2b108adc70a.cap
β”‚   β”‚       β”œβ”€β”€ fwupdx64.efi
β”‚   β”‚       β”œβ”€β”€ grub.cfg
β”‚   β”‚       β”œβ”€β”€ grub.cfg.old
β”‚   β”‚       β”œβ”€β”€ grubenv
β”‚   β”‚       β”œβ”€β”€ grubenvfkbmSr
β”‚   β”‚       β”œβ”€β”€ grubia32.efi
β”‚   β”‚       β”œβ”€β”€ grubx64.efi
β”‚   β”‚       β”œβ”€β”€ mmia32.efi
β”‚   β”‚       β”œβ”€β”€ mmx64.efi
β”‚   β”‚       β”œβ”€β”€ shim.efi
β”‚   β”‚       β”œβ”€β”€ shimia32.efi
β”‚   β”‚       β”œβ”€β”€ shimx64.efi
β”‚   β”‚       └── shimx64-fedora.efi
β”‚   β”œβ”€β”€ FSCK0000.REC
β”‚   └── System Volume Information
β”œβ”€β”€ grub2
β”‚   β”œβ”€β”€ grubenv -> ../efi/EFI/fedora/grubenv
β”‚   └── themes
β”‚       └── system
β”‚           β”œβ”€β”€ background.png
β”‚           └── fireworks.png
β”œβ”€β”€ loader -> loader.0
β”œβ”€β”€ loader.0
β”‚   └── entries
β”‚       β”œβ”€β”€ ostree-1.conf
β”‚       └── ostree-2.conf
β”œβ”€β”€ loader.1
β”‚   └── entries
β”‚       └── ostree-1.conf
β”œβ”€β”€ lost+found
└── ostree
    β”œβ”€β”€ fedora-2f6ca3a8412e77175ee7cefc89773968f11a0faadd7c834f2a1e939bd565397a
    β”‚   β”œβ”€β”€ initramfs-6.12.13-200.fc41.x86_64.img
    β”‚   └── vmlinuz-6.12.13-200.fc41.x86_64
    └── fedora-a4958ac9848c7f5abe8fdc4b4875404dea7415afa016f3d18111fdf3fa90f718
        β”œβ”€β”€ initramfs-6.14.0-0.rc1.15.fc42.x86_64.img
        └── vmlinuz-6.14.0-0.rc1.15.fc42.x86_64

Can you give us the output of sudo journalctl -u bootloader-update.service --no-pager --output=cat?

You system should have been migrated to a static GRUB config by now: Use composefs by default (#35) Β· Issues Β· fedora / Fedora Atomic Desktops / SIG Issue Tracker Β· GitLab

It also looks like you don’t have a GRUB config anymore in /boot which is unexpected.

$ sudo journalctl -u bootloader-update.service --since "4 days ago" --no-pager
Feb 14 20:14:21 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 14 20:14:21 mershl-t495 bootupctl[1087]: cp: cannot stat 'BOOT': No such file or directory
Feb 14 20:14:21 mershl-t495 bootupctl[1041]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 14 20:14:21 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 14 20:14:21 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 14 20:14:21 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot a6a83e83692347e381abf1d036e1f4d7 --
Feb 15 17:45:41 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 15 17:45:41 mershl-t495 bootupctl[1083]: cp: cannot stat 'BOOT': No such file or directory
Feb 15 17:45:41 mershl-t495 bootupctl[1037]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 15 17:45:41 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 15 17:45:42 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 15 17:45:42 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot fcd2e5dd4af5406182ac6bc0e281db6d --
Feb 16 14:31:35 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 16 14:31:36 mershl-t495 bootupctl[1110]: cp: cannot stat 'BOOT': No such file or directory
Feb 16 14:31:36 mershl-t495 bootupctl[1065]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 16 14:31:36 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 14:31:36 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 16 14:31:36 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot 529352b881d34d54ad5c4e2ed7dabd43 --
Feb 16 18:19:17 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 16 18:19:17 mershl-t495 bootupctl[1091]: cp: cannot stat 'BOOT': No such file or directory
Feb 16 18:19:17 mershl-t495 bootupctl[1046]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 16 18:19:17 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 18:19:17 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 16 18:19:17 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot 2c411be63f054e3a9a0acbb2b2c64908 --
Feb 16 22:11:57 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 16 22:11:57 mershl-t495 bootupctl[1085]: cp: cannot stat 'BOOT': No such file or directory
Feb 16 22:11:57 mershl-t495 bootupctl[1038]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 16 22:11:57 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 22:11:57 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 16 22:11:57 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot f68bf4caabd148c8b6af3ce04a6253c8 --
Feb 16 22:25:52 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 16 22:25:52 mershl-t495 bootupctl[1144]: cp: cannot stat 'BOOT': No such file or directory
Feb 16 22:25:52 mershl-t495 bootupctl[1071]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 16 22:25:52 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 22:25:52 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 16 22:25:52 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot f4441423a4e44e73840c34d53dbadd8a --
Feb 16 22:33:27 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 16 22:33:27 mershl-t495 bootupctl[1155]: cp: cannot stat 'BOOT': No such file or directory
Feb 16 22:33:27 mershl-t495 bootupctl[1068]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 16 22:33:27 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 22:33:27 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 16 22:33:27 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot eb6068de86424c4fad9c58e824b005e6 --
Feb 16 22:41:32 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 16 22:41:33 mershl-t495 bootupctl[1110]: cp: cannot stat 'BOOT': No such file or directory
Feb 16 22:41:33 mershl-t495 bootupctl[1038]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 16 22:41:33 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 22:41:33 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 16 22:41:33 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot 28387053c11842afb0bbc1cb073d5400 --
Feb 17 17:29:59 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 17 17:29:59 mershl-t495 bootupctl[1178]: cp: cannot stat 'BOOT': No such file or directory
Feb 17 17:29:59 mershl-t495 bootupctl[1050]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 17 17:29:59 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 17 17:29:59 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 17 17:29:59 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot feb5ef247bba404795648e8dfc738753 --
Feb 18 17:33:34 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 18 17:33:34 mershl-t495 bootupctl[1126]: cp: cannot stat 'BOOT': No such file or directory
Feb 18 17:33:34 mershl-t495 bootupctl[1062]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 18 17:33:34 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 18 17:33:34 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 18 17:33:34 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.
-- Boot e82e84893f764ac488f50f9c023768ee --
Feb 18 17:50:16 mershl-t495 systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Feb 18 17:50:16 mershl-t495 bootupctl[1143]: cp: cannot stat 'BOOT': No such file or directory
Feb 18 17:50:16 mershl-t495 bootupctl[1067]: error: Failed adopt and update: applying filesystem changes: Failed to copy BOOT to .btmp.BOOT
Feb 18 17:50:16 mershl-t495 systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Feb 18 17:50:16 mershl-t495 systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Feb 18 17:50:16 mershl-t495 systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.

OK, do you remember which version you used to install the system first?

It looks like this a bug in bootupd with older installations that we would have to fix.

Can you post the output of efibootmgr?

$ efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0010,0011,0012,0013,0016,0017,0018,0019,001A,001B,001C,001D,0001
Boot0000* Fedora	HD(1,GPT,d60d0bca-b484-4945-bcad-b3d8e7fd0138,0x800,0x12c000)/\EFI\fedora\shimx64.efi
Boot0001* Linux-Firmware-Updater	HD(1,GPT,d60d0bca-b484-4945-bcad-b3d8e7fd0138,0x800,0x40000)/\EFI\fedora\shimx64.efi5c00660077007500700064007800360034002e006500660069000000
Boot0010  Setup	FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu	FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0012  Diagnostic Splash Screen	FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0013  Lenovo Diagnostics	FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0014  Startup Interrupt Menu	FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0015  Rescue and Recovery	FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0016* USB CD	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot0017* USB FDD	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot0018* NVMe0	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
Boot0019* NVMe1	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a401)
Boot001A* ATA HDD0	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot001B* USB HDD	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot001C* PCI LAN	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot001D  Regulatory Information	FvFile(e4a83242-deee-f12e-15ff-0102036cc3ce)
Boot001E* Boot Next Boot Option	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,a7ca6d35b2c2684783721826a7404894)
$ sudo grep -Eoh -m 1 "Fedora [0-9]+" /var/log/anaconda/anaconda.log               ✘ 130 
Fedora 33

Thanks.

Can you try creating the /boot/efi/EFI/BOOT folder and triggering a bootloader update again?

sudo mkdir -p /boot/efi/EFI/BOOT
sudo systemctl start bootloader-update.service
sudo journalctl -u bootloader-update.service --no-pager --output=cat
1 Like
[...]
Starting bootloader-update.service - Update bootloader on boot...
Adopted and updated: EFI: grub2-efi-ia32-1:2.12-23.fc42.x86_64,grub2-efi-x64-1:2.12-23.fc42.x86_64,shim-ia32-15.8-3.x86_64,shim-x64-15.8-3.x86_64
ostree repo 'sysroot.bootloader' config option is not set yet
Marking bootloader as BLS capable...
'/boot/grub2/grub.cfg' is not a symlink, nothing to migrate
Setting 'sysroot.bootloader' to 'none' in ostree repo config...
Static GRUB config migration completed successfully
Finished bootloader-update.service - Update bootloader on boot.

Looks good, updates should be working now.

Updates are working. Thanks for the support @siosm

1 Like

So this definitely looks like a bug in bootupd so I’ve filed: Do not try to copy a dir in the ESP if it does not exists Β· Issue #856 Β· coreos/bootupd Β· GitHub

Thanks a lot for testing the updated to F42 and reporting the issue!

2 Likes

Updates are working. grub entries seem to be out-of-sync with the deployments. the 0218 deployment is not available in grub.

Second deployment is booted when doing nothing in grub

$ rpm-ostree status
State: idle
Deployments:
  fedora:fedora/42/x86_64/silverblue
                  Version: 42.20250218.n.0 (2025-02-18T07:48:51Z)
               BaseCommit: 1a096603196fc2111e73bf5303dc2279968fb169c1c0a130d9a5c2da4e69b22e
             GPGSignature: Valid signature by B0F4950458F69E1150C6C5EDC8AC4916105EF944

● fedora:fedora/42/x86_64/silverblue
                  Version: 42.20250216.n.0 (2025-02-16T07:52:59Z)
               BaseCommit: 53d51fc0701682c4484dcc887e5dceda712072174e8b9c19eb402e3c11643c9b
             GPGSignature: Valid signature by B0F4950458F69E1150C6C5EDC8AC4916105EF944

Grub entries are out-of-sync with deployments

Arg, this is not resolved yet. It looks like the GRUB config is stored in the ESP instead of /boot/grub2 and thus we don’t update it as part of the migration. It notably does not include the part that enables BLS configs.

Make sure to pin this deployment for now as the GRUB config is not updated anymore so if it is removed then you won’t be able to boot.

1 Like

I’ve installed a β€œfresh” Silverblue 33, updated it to F42 and only got part of this issue and this did not prevent me from updating further so this is weird.

@mershl Can you post your /boot/efi/EFI/fedora/grub.cfg config?

$ sudo cat /boot/efi/EFI/fedora/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set pager=1

if [ -f ${config_directory}/grubenv ]; then
  load_env -f ${config_directory}/grubenv
elif [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

terminal_output console
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/00_tuned ###
set tuned_params=""
export tuned_params
set tuned_initrd=""
export tuned_initrd
### END /etc/grub.d/00_tuned ###

### BEGIN /etc/grub.d/01_users ###
if [ -f ${prefix}/user.cfg ]; then
  source ${prefix}/user.cfg
  if [ -n "${GRUB2_PASSWORD}" ]; then
    set superusers="root"
    export superusers
    password_pbkdf2 root ${GRUB2_PASSWORD}
  fi
fi
### END /etc/grub.d/01_users ###

### BEGIN /etc/grub.d/08_fallback_counting ###
insmod increment
# Check if boot_counter exists and boot_success=0 to activate this behaviour.
if [ -n "${boot_counter}" -a "${boot_success}" = "0" ]; then
  # if countdown has ended, choose to boot rollback deployment,
  # i.e. default=1 on OSTree-based systems.
  if  [ "${boot_counter}" = "0" -o "${boot_counter}" = "-1" ]; then
    set default=1
    set boot_counter=-1
  # otherwise decrement boot_counter
  else
    decrement boot_counter
  fi
  save_env boot_counter
fi
### END /etc/grub.d/08_fallback_counting ###

### BEGIN /etc/grub.d/10_linux ###

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_reset_boot_success ###
# Hiding the menu is ok if last boot was ok or if this is a first boot attempt to boot the entry
if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then
  set menu_hide_ok=1
else
  set menu_hide_ok=0 
fi
# Reset boot_indeterminate after a successful boot
if [ "${boot_success}" = "1" ] ; then
  set boot_indeterminate=0
# Avoid boot_indeterminate causing the menu to be hidden more than once
elif [ "${boot_indeterminate}" = "1" ]; then
  set boot_indeterminate=2
fi
# Reset boot_success for current boot 
set boot_success=0
save_env boot_success boot_indeterminate
### END /etc/grub.d/10_reset_boot_success ###

### BEGIN /etc/grub.d/12_menu_auto_hide ###
if [ x$feature_timeout_style = xy ] ; then
  if [ "${menu_show_once}" ]; then
    unset menu_show_once
    save_env menu_show_once
    set timeout_style=menu
    set timeout=60
  elif [ "${menu_auto_hide}" -a "${menu_hide_ok}" = "1" ]; then
    set orig_timeout_style=${timeout_style}
    set orig_timeout=${timeout}
    if [ "${fastboot}" = "1" ]; then
      # timeout_style=menu + timeout=0 avoids the countdown code keypress check
      set timeout_style=menu
      set timeout=0
    else
      set timeout_style=hidden
      set timeout=1
    fi
  fi
fi
### END /etc/grub.d/12_menu_auto_hide ###

### BEGIN /etc/grub.d/14_menu_show_once ###
if [ x$feature_timeout_style = xy ]; then
  if [ "${menu_show_once_timeout}" ]; then
    set timeout_style=menu
    set timeout="${menu_show_once_timeout}"
    unset menu_show_once_timeout
    save_env menu_show_once_timeout
  fi
fi
### END /etc/grub.d/14_menu_show_once ###

### BEGIN /etc/grub.d/15_ostree ###
menuentry 'Fedora Linux 42.20250216.n.0 (Silverblue Prerelease) (ostree:0)' --class gnu-linux --class gnu --class os --unrestricted 'ostree-0-05941402-a9ac-408c-872e-8aad27cc2a97' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 05941402-a9ac-408c-872e-8aad27cc2a97
linuxefi /ostree/fedora-a4958ac9848c7f5abe8fdc4b4875404dea7415afa016f3d18111fdf3fa90f718/vmlinuz-6.14.0-0.rc1.15.fc42.x86_64 rhgb quiet root=UUID=74f20a30-4294-4fee-a9cf-fc63ce99220a rootflags=subvol=root ostree=/ostree/boot.0/fedora/a4958ac9848c7f5abe8fdc4b4875404dea7415afa016f3d18111fdf3fa90f718/0 selinux=0 rw
initrdefi /ostree/fedora-a4958ac9848c7f5abe8fdc4b4875404dea7415afa016f3d18111fdf3fa90f718/initramfs-6.14.0-0.rc1.15.fc42.x86_64.img
}
menuentry 'Fedora Linux 41.20250216.0 (Silverblue) (ostree:1)' --class gnu-linux --class gnu --class os --unrestricted 'ostree-1-05941402-a9ac-408c-872e-8aad27cc2a97' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 05941402-a9ac-408c-872e-8aad27cc2a97
linuxefi /ostree/fedora-2f6ca3a8412e77175ee7cefc89773968f11a0faadd7c834f2a1e939bd565397a/vmlinuz-6.12.13-200.fc41.x86_64 rhgb quiet root=UUID=74f20a30-4294-4fee-a9cf-fc63ce99220a rootflags=subvol=root ostree=/ostree/boot.0/fedora/2f6ca3a8412e77175ee7cefc89773968f11a0faadd7c834f2a1e939bd565397a/0 selinux=0 rw
initrdefi /ostree/fedora-2f6ca3a8412e77175ee7cefc89773968f11a0faadd7c834f2a1e939bd565397a/initramfs-6.12.13-200.fc41.x86_64.img
}
### END /etc/grub.d/15_ostree ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
        if [ ! insmod bli ]; then
                echo "bli module not available"
        fi
fi
### END /etc/grub.d/25_bli ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
	if [ fwsetup --is-supported ]; then
		menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
			fwsetup
		}
	fi
fi
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/35_fwupd ###
### END /etc/grub.d/35_fwupd ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
$ cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=false
GRUB_DISABLE_OS_PROBER=true