After some years of trouble free UEFI use on a PC with a Kaveri APU, I've suddenly come across a problem of incorrectly mounted efivarfs. I realised something was amiss when I tried to set up a new kernel I had just copied into /boot/EFI/BOOT/
# tree /boot
/boot
├── 42GHz2400MHz.CMO
└── EFI
└── BOOT
├── A88XM-PLUS-ASUS-3004.CAP
├── System.map-4.12.5-gentoo
├── System.map-4.9.34-gentoo
├── bootx64-4.12.5-gentoo.efi
├── bootx64-4.9.34-gentoo.efi <==This one
├── config-4.12.5-gentoo
└── config-4.9.34-gentoo
2 directories, 8 files
The error is generated whenever I try to create a new boot entry:
# efibootmgr --create --disk /dev/sda --part 1 --label "gentoo-4.12.5-15_Aug"
--loader "\EFI\BOOT\bootx64-4.12.5-gentoo.efi"
Could not prepare Boot variable: Read-only file system
Hmm ... looking more closely it seems /sys/firmware/efi/efivars was mounted as
'ro':
# mount | grep efi
efivarfs on /sys/firmware/efi/efivars type efivarfs (ro,relatime)
I can't recall if I did this myself in a moment of security induced
inspiration. I doubt I did. So how did this happen? What is responsible for
mounting this fs?
Should I remount it as 'rw' so I can set up the new kernel in the EFI stub, or
does this problem need further investigation?
--
Regards,
Mick
signature.asc
Description: This is a digitally signed message part.

