Resizing the boot partition

Looks like you're installing a new kernel; those can be sizeable (~20+ MB, even when compressed). From the error, I think yum is telling you it needs 9 more MB than what you have available.

There are a few ways to fix this.

  • Remove old kernels. If you have multiple old kernels you're no longer using, you might be able to free up enough space to install the new one by uninstalling the very oldest kernel image. This will only work if you have 2 or more kernels installed, and assumes your system isn't actually using that oldest kernel image.

  • Relocate /boot to the root partition. You could relocate /boot from its own partition to a directory on the root partition (/). I'm not sure of the process -- I'd assume this would get the basic setup going, but you'd need another command to update your bootloader (Grub?) and alert it to the new location.

    These commands need root privs (use sudo with each, or get a root shell with su).

    1. make the new location
      mkdir /boot-new

    2. copy boot files
      ( cd /boot ; tar cf - . ) | ( cd /boot-new ; tar xvf - )
      (with sudo...)
      sudo sh -c "( cd /boot ; tar cf - . ) | ( cd /boot-new ; tar xvf - )"

    3. unmount separate partition -- maybe not doable without rebooting? maybe need to boot to a liveCD?
      umount /boot

    4. remove old boot directory, rename new
      mv /boot /boot-old
      mv /boot-new /boot

    5. edit /etc/fstab, comment out /boot partition line or change mountpoint to /boot-old

    6. missing step: reconfigure your bootloader to access /boot on /dev/sda7 instead of the old version on /dev/sda6.

  • Resize your /boot partition. You'll need a LiveCD for the task. Boot into it and run gparted. You'll probably need to resize your system partition slightly, then move it, to make room. I can't give you specifics without knowing the partition table.

    Expand the /boot partition to a size of at least 2-300MB to avoid having this problem again.

    Resizing system partitions can be dangerous. Make backups before you attempt it, and read up on what you are doing before you do it. This is my least recommended option.

  • Replace your system drive. Finally, if you've wanted a larger system hard drive, now is a great time to do so. In the process of copying partitions from the old drive to the new, you can expand the /boot partition. You'd use a LiveCD for this as well.

    Doing it this way is like resizing partitions, without the danger of corrupting your system root partition. Plus, if you're moving to a bigger hard drive, you get the chance to resize other partitions as needed.


I have resized my boot partition using Gparted and Boot-Repair, one after the other.

  1. Use Gparted in order to resize the boot partition. If you can resize the boot partition without moving any other partition, then you can do it from your running linux system. If not, you have to execute Gparted from a live CD/USB. It means that you boot the computer with a CD/USB containing Gparted. Any installation CD/USB of Ubuntu can do the trick.
  2. Run Boot-Repair in the recommended repair button. It is needed for the computer to find again the boot partition on booting. Otherwise, the computer may not boot.

Note: do not forget to back up your data before resizing (!).