After a recent firmware update on a Framework Laptop 13, the EFI System Partition (ESP) can end up with a corrupted FAT filesystem. This is a UEFI/firmware issue, not distro-specific.
Anything that writes to /boot fails with read-only errors. The kernel log (journalctl -k) confirms the corruption:
FAT-fs (nvme0n1p1): Volume was not properly unmounted. Some data may be corrupt.
FAT-fs (nvme0n1p1): error, fat_get_cluster: invalid cluster chain (i_pos 62752781)
FAT-fs (nvme0n1p1): Filesystem has been set read-only
If your fstab has errors=remount-ro (the default), the ESP silently goes read-only at boot and everything that touches /boot breaks — kernel updates, bootloader updates, initramfs generation, etc.
UEFI firmware updates (via fwupd) stage capsule files on the ESP, which the firmware processes on reboot. The firmware's FAT implementation doesn't always sync metadata properly, leaving the filesystem dirty with corrupt cluster chains.
-
Unmount the ESP (safe to do on a running system — the kernel is already in memory):
sudo umount /boot -
Repair the filesystem (
dosfstoolspackage):sudo fsck.fat -a /dev/nvme0n1p1 -
Remount:
sudo mount /boot
After firmware updates, check the ESP before anything else touches it:
sudo umount /boot
sudo fsck.fat -n /dev/nvme0n1p1 # dry-run check
sudo mount /boot