Resizing the boot partition
Solution 1:
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 (usesudo
with each, or get a root shell withsu
).make the new location
mkdir /boot-new
copy boot files
( cd /boot ; tar cf - . ) | ( cd /boot-new ; tar xvf - )
(withsudo
...)sudo sh -c "( cd /boot ; tar cf - . ) | ( cd /boot-new ; tar xvf - )"
unmount separate partition -- maybe not doable without rebooting? maybe need to boot to a liveCD?
umount /boot
remove old boot directory, rename new
mv /boot /boot-old
mv /boot-new /boot
edit
/etc/fstab
, comment out/boot
partition line or change mountpoint to/boot-old
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 rungparted
. 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.
Solution 2:
I have resized my boot partition using Gparted and Boot-Repair, one after the other.
- 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.
- 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 (!).