Yes, I've run into this issue recently. The /boot/efi
folder is actually its own partition, so removing packages from /
will not give your more space for the efi
partition. On my recentish Pop install, the /boot/efi
partition is about 512MB
which is just about enough space for two kernels but... not much else (they may have increased this to 1GB
for new installs).
The workaround I did was to simply delete one of the kernels in /boot/efi/EFI/Pop_OS-...
(the ...
is some string of letters). In this folder you should have the following:
$ ls -l /boot/efi/EFI/Pop_OS-f2c685b9-a9c2-48f0-907b-ebe199e94a55
total 289256
-rwx------ 1 root root 167 Jul 12 15:24 cmdline
-rwx------ 1 root root 134046998 Jul 12 15:24 initrd.img
-rwx------ 1 root root 134449391 Jul 12 15:24 initrd.img-previous
-rwx------ 1 root root 13844192 Jul 12 15:24 vmlinuz.efi
-rwx------ 1 root root 13846496 Jul 12 15:24 vmlinuz-previous.efi
As you can see, Pop stores the current kernel (vmlinuz) and ramdisk (initrd) along with the corresponding previous versions in case you need/want to revert back to the previous kernel. To free up some space, you can simply delete either the initrd.img-previous
or vmlinuz-previous.efi
file if you are not using the previous kernel. That should allow you to then download the firmware and update it.
After the firmware update, if you want to restore the previous (backup) kernel, you can copy it from /boot
back to the efi
folder above. Otherwise, the next kernel update will replace it for you anyways.
I hope this helps, good luck.