Dnf update grub2 needs more space on the /boot/efi filesytem

My last update failed :

[alba@mac2011]% sudo dnf update grub2
[sudo] password for alba: 
Last metadata expiration check: 1:07:28 ago on dim. 04 sept. 2022 16:40:54.
Dependencies resolved.
================================================================================
 Package                    Arch        Version              Repository    Size
================================================================================
Upgrading:
 grub2-common               noarch      1:2.06-52.fc36       updates      906 k
 grub2-efi-ia32             x86_64      1:2.06-52.fc36       updates      1.3 M
 grub2-efi-ia32-cdboot      x86_64      1:2.06-52.fc36       updates      1.3 M
 grub2-efi-x64              x86_64      1:2.06-52.fc36       updates      1.3 M
 grub2-efi-x64-cdboot       x86_64      1:2.06-52.fc36       updates      1.3 M
 grub2-pc                   x86_64      1:2.06-52.fc36       updates       17 k
 grub2-pc-modules           noarch      1:2.06-52.fc36       updates      915 k
 grub2-tools                x86_64      1:2.06-52.fc36       updates      1.8 M
 grub2-tools-efi            x86_64      1:2.06-52.fc36       updates      542 k
 grub2-tools-extra          x86_64      1:2.06-52.fc36       updates      842 k
 grub2-tools-minimal        x86_64      1:2.06-52.fc36       updates      605 k

Transaction Summary
================================================================================
Upgrade  11 Packages

Total size: 11 M
Is this ok [y/N]: y
Downloading Packages:
[SKIPPED] grub2-common-2.06-52.fc36.noarch.rpm: Already downloaded             
[SKIPPED] grub2-efi-ia32-2.06-52.fc36.x86_64.rpm: Already downloaded           
[SKIPPED] grub2-efi-ia32-cdboot-2.06-52.fc36.x86_64.rpm: Already downloaded    
[SKIPPED] grub2-efi-x64-2.06-52.fc36.x86_64.rpm: Already downloaded            
[SKIPPED] grub2-efi-x64-cdboot-2.06-52.fc36.x86_64.rpm: Already downloaded     
[SKIPPED] grub2-pc-2.06-52.fc36.x86_64.rpm: Already downloaded                 
[SKIPPED] grub2-pc-modules-2.06-52.fc36.noarch.rpm: Already downloaded         
[SKIPPED] grub2-tools-2.06-52.fc36.x86_64.rpm: Already downloaded              
[SKIPPED] grub2-tools-efi-2.06-52.fc36.x86_64.rpm: Already downloaded          
[SKIPPED] grub2-tools-extra-2.06-52.fc36.x86_64.rpm: Already downloaded        
[SKIPPED] grub2-tools-minimal-2.06-52.fc36.x86_64.rpm: Already downloaded      
Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction test error:
  installing package grub2-efi-ia32-1:2.06-52.fc36.x86_64 needs 2MB more space on the /boot/efi filesystem
  installing package grub2-efi-x64-1:2.06-52.fc36.x86_64 needs 3MB more space on the /boot/efi filesystem
  installing package grub2-efi-x64-cdboot-1:2.06-52.fc36.x86_64 needs 3MB more space on the /boot/efi filesystem

Error Summary
-------------
Disk Requirements:
   At least 3MB more space needed on the /boot/efi filesystem.

However:

[alba@mac2011]% df /boot/efi
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/sda1         614400 40520    573880   7% /boot/efi

574 MB is available in /boot/efi to install 11 MB, this should not be a problem.

How to make dnf see that plenty of space is available?

Can we see the output of findmnt /boot/efi

1 Like
[root@mac2011]/home/alba# findmnt /boot/efi
TARGET    SOURCE    FSTYPE  OPTIONS
/boot/efi /dev/sda1 hfsplus ro,relatime,umask=22,uid=0,gid=0,nls=utf8

I may have an explanation.

For some strange reason, Fedora chooses the HFS+ format for the EFI system partition (I am using a Mac but Ubuntu boots fine with the FAT format and the Mac OS does not care so absolutely I do not see any reason).

Yesterday I installed Mac OS on another partition. By the way, in Mac OS Disk utility, I turned on journaling, and I suspect that this applied to the EFI system partition as well, making it not writable for Linux, so that Grub update fails. Just the error message would be misleading.

All this needs to be confirmed.

It is definitely mounted read-only which is probably the problem. As for why it is mounted read-only, your theory could be correct. Maybe see if there are any mount errors in the journal.

That is confirmed. Using MacOS diskutil disableJournal force I could disable Journaling on the EFI system partition. Rebooting Fedora, I could update grub2.

2 Likes