Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Fedora 12 ext4 file system

I have just done a upgrade. And I get the message below. I am not sure that I don't have enough on my boot partition to install the new kernel.

When I try and upgrade I get this message: There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them

So I run the yum-completed-transaction and I get the message below:

    [('installing package kernel-2.6.31.6-166.fc12.i686 needs 9MB on the /boot filesystem', (9, '/boot', 8469504L))]
Not removing old transaction files

I am wondering if this is because I don't have enough disk space on the boot drive. However, when I check I have more than 9mb.

[root@steve-fedora ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda7             9.9G  3.4G  6.5G  34% /
tmpfs                 754M  564K  754M   1% /dev/shm
/dev/sda6              74M   52M   18M  75% /boot
/dev/sda9              26G  803M   24G   4% /home

Many thanks for any advice

share|improve this question

1 Answer 1

up vote 7 down vote accepted

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.