Comment 3 for bug 1876562

Revision history for this message
Sum Yung Gai (sumyunggai) wrote :

That error message does not mean an unbootable system, fortunately, in most cases.

I just upgraded from Bionic Beaver (18.04 LTS) to Focal Fossa (20.04 LTS) today, and yes, it is a free space thing, specifically in /boot. The above link worked for me. The problem seems to be with systems that were originally installed with a smaller /boot partition, per some advice we were given for security reasons some years ago. Many of us still make a smaller /boot partition for this reason, especially on servers. It also is a good way to LUKS-encrypt / for security and still be able to boot the box (I think /boot still needs to be unencrypted). In my case, /boot was 256 MB in size. In the past, I would keep the current running kernel and the previous kernel and apt-purge (or through Synaptic, get rid of) the older ones. Before any subsequent kernel upgrade, I'd delete the oldest one, thus leaving one kernel (the running one), and thus there'd be no problem with space on /boot.

The problem is that kernel binaries, and especially their initrds, have been getting bigger as the years have gone on, and now with the new 5.4.0 kernel, we've kinda hit critical mass. Therefore, whatever script or other program does space-checking to see if there's enough apparently has a "cushion" built into its check so that even if there's enough, it throws an error if space is kinda close. This can happen when you have two kernels on the system when /boot is 256MB or so. That condition happens at the end of the upgrade during initrd generation, because I now had both 4.15.0-99 and the new 5.4.0-29 kernel; I was now down to 84% on /boot, and the error popped up.

Fortunately, since in the case of a 256MB partition and this upgrade, there *is* actually sufficient space, we get a bootable system. First, check to see that there's a 5.4.0-29 initrd first! If there is--and there should be--then go right ahead and reboot; you'll be fine. That's what I did.

After rebooting and thus verifying that 5.4.0-29 and the rest of the system is A-OK (it is), then go ahead and apt-purge the 4.15.0-99 kernel. I'd also recommend getting rid of linux-headers, linux-modules, and linux-modules-extra (all for 4.15.0-99, of course). This way you not only free up space on /, you also make sure to get rid of the System-map file in /boot for 4.15.0-99.

Hopefully this helps clear things up some more.