Update error: Partition /boot too full

When trying to update via pacman -Syyu I get the following error:

error: Partition /boot too full: 10081 blocks needed, 9359 blocks free

dev            devtmpfs  3.8G     0  3.8G   0% /dev
run            tmpfs     3.9G   23M  3.8G   1% /run
/dev/sda3      ext4      233G   27G  195G  12% /
tmpfs          tmpfs     3.9G  153M  3.7G   4% /dev/shm
tmpfs          tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs          tmpfs     3.9G  6.8M  3.8G   1% /tmp
/dev/sda1      vfat       99M   94M  4.6M  96% /boot
tmpfs          tmpfs     779M  8.0K  779M   1% /run/user/1000
/dev/sda1       2048    206847    204800   100M EFI System
/dev/sda2     206848    239615     32768    16M Microsoft reserved
/dev/sda3     239616 498069503 497829888 237.4G Microsoft basic data
/dev/sda4  498069504 500117503   2048000  1000M Windows recovery environment

After reading a bit I think that I mount the EFI partition as boot. The EFI partition was already there and is onle 100MB in size. So far that has been enough.

147K	/boot/memtest86+/memtest.bin
148K	/boot/memtest86+
512	/boot/loader/entries/ArchLabs.conf
512	/boot/loader/entries/ArchLabs-fallback.conf
1.5K	/boot/loader/entries
512	/boot/loader/loader.conf
512	/boot/loader/random-seed
3.0K	/boot/loader
3.0M	/boot/intel-ucode.img
40K	/boot/amd-ucode.img
2.5K	/boot/syslinux/syslinux.cfg
3.0K	/boot/syslinux
6.1M	/boot/vmlinuz-linux-lts
6.3M	/boot/vmlinuz-linux
9.3M	/boot/initramfs-linux-lts.img
30M	/boot/initramfs-linux-lts-fallback.img
9.3M	/boot/initramfs-linux.img
89K	/boot/EFI/systemd/systemd-bootx64.efi
90K	/boot/EFI/systemd
90K	/boot/EFI/BOOT
180K	/boot/EFI
512	/boot/936443051e08439ebe0060d23d7c58d6
30M	/boot/initramfs-linux-fallback.img
94M	/boot/

I’m not sure if resizing the EFI Partition would be a good idea.

As well as having a long term fix for that I would appreciate an fast and easy fix for installing the update.

That sux, the 1st thing would have been not to force the data update with sudo pacman -Syyu, but with sudo pacman -Syu instead as it can lead to some bad things, guess it s what happened here.

Lets see what other more knowledgeable members can do in order to help you more here.

Hopefullyit will get fixed soon.

Looks like you can’t do that, the Windows “reserved” partition is in the way.

You could remove either the vanilla linux package or linux-lts to save some space. I would recommend keeping the LTS kernel unless you actually need the vanilla version for new hardware support.

Alternatively, switch to GRUB instead of systemd-boot and move /boot back to the root partition. GRUB doesn’t need to have /boot mounted to the ESP. Post back if you want instructions for that.

1 Like

Thank you for your suggestions.

I tried removing the kernel with
pacman -R linux

The lts-kernel is running and I want to keep it.

But got this error:

error: failed to prepare transaction (could not satisfy dependencies)
:: removing linux breaks dependency 'linux>=3.2' required by b43-firmware
:: removing linux breaks dependency 'linux' required by broadcom-wl

I saw that the img-files for the fallback versions are relatively big. Would it be possible to remove the fallback version of the vanilla kernel?

Remove linux kernel image & header, not linux itself is what @Head_on_a_Stick meant, either mainline kernel or the lts one.

Edit;Search packages;

pacman -Ss (package)

pacman -Q | grep linux

1 Like

I’d like to try to remove the mainline kernel.

I found a post about how to do this on arch. But this doesn’t seem to apply.

Can you please point me on how to to this.

pacman -Q | grep linux
archlinux-keyring 20200108-1
libutil-linux 2.35.1-1
linux 5.5.4.arch1-1
linux-api-headers 5.4.17-1
linux-firmware 20200204.b791e15-1
linux-lts 5.4.20-1
syslinux 6.04.pre2.r11.gbf6db5b4-3
util-linux 2.35.1-1

Some packages were to be updated if the update worked.

core/linux 5.5.8.arch1-1 [installed: 5.5.4.arch1-1]
core/linux-firmware 20200224.efcfa03-1 [installed: 20200204.b791e15-1]
community/broadcom-wl [installed:]

Do you actually have a Broadcom wireless card?

If not then just remove the dependent packages as well:

pacman -Rns linux broadcom-wl b43-firmware

@Head_on_a_Stick Thanks a ton. That fixed it. Wifi still works. I have no clue why the broadcom + b43 packages were installed. Boot partition is only half full now. If the lts kernel doesn’t grow too much this should work for a while.

Regarding the long term fix. Can we discuss this here or should I start a new post for it? It would be awesome if you could give me the instructions. Having the /boot on the root partition has disadvantages when I want to use disk encryption. Would it be possible to make a new separate boot partition?
I bought the laptop without OS and I don’t want to use windows anyway.

They’re part of the standard ArchLabs install.

I’ll post instructions here, it’s not as complicated as it sounds. Give me a bit though, the Moto2 & Moto3 races are on in a minute. Back later…

EDIT: back again. Go John McPhee! :grin:

Anyway, to relocate /boot to the root partition first start a root shell:

sudo -i

Then un-mount the EFI system partition:

umount /boot

Now re-install the kernel & µcode package(s) to populate /boot on the root partition and also install GRUB:

pacman -Syu linux{,-lts} {amd,intel}-ucode grub os-prober 

We have to re-mount the ESP so that the GRUB modules can be installed:

mount /dev/sda1 /mnt

Then install GRUB’s modules and create a new NVRAM boot entry and a configuration file; the ESP can be un-mounted afterwards:

grub-install --target=x86_64-efi --efi-directory=/mnt --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
umount /mnt

Edit /etc/fstab to remove the line for the ESP (use a text editor instead for this step if you prefer):

sed -i '/boot/d' /etc/fstab

And finally list the boot entries with efibootmgr -v and check if the “grub” entry is listed as first in the priority order.

Once that’s all done reboot into GRUB.

Post back if anything’s unclear or you run into any problems.

1 Like