Cannot update kernel because /boot partition is full

Hi all,

I am trying to update OpenSuse 13.1 to 13.2 (then maybe to the latest Leap version).

I am following the instructions I found at https://en.opensuse.org/SDB:System_upgrade and am updating the system to the latest packages using


zypper update

The following 3 NEW packages are going to be installed:
  kernel-default-3.12.67-64.1 kernel-default-devel-3.12.67-64.1 kernel-desktop-devel-3.12.67-64.1 

3 new packages to install.
Overall download size: 50.3 MiB. After the operation, additional 196.9 MiB will be used.

However, the following error message appears when the installation starts:


(1/3) Installing: kernel-default-3.12.67-64.1 .................................................................................................[error]
Installation of kernel-default-3.12.67-64.1 failed:
Error: Subprocess failed. Error: RPM failed:     installing package kernel-default-3.12.67-64.1.x86_64 needs 3MB on the /boot filesystem

Following the instructions I found here I was able to identify and remove an old, unused kernel version. This freed approx. 30 MB in /boot, but was still not enough (the above error message is what I get after I removed the old kernel). Now my \boot directory looks like:


perrine:/boot # df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/Perrine-Root   24G   16G  6.9G  70% /
devtmpfs                  3.9G   16K  3.9G   1% /dev
tmpfs                     3.9G   92K  3.9G   1% /dev/shm
tmpfs                     3.9G  4.7M  3.9G   1% /run
tmpfs                     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/Perrine-Home  240G  175G   53G  77% /home
/dev/mapper/Perrine-Tmp   9.5G  3.5G  5.6G  39% /tmp
/dev/mapper/Perrine-Var   4.9G  1.3G  3.5G  26% /var
tmpfs                     3.9G  4.7M  3.9G   1% /var/run
tmpfs                     3.9G  4.7M  3.9G   1% /var/lock
/dev/sda2                  96M   51M   39M  57% /boot

perrine:/boot # ls -lh
total 39M
-rw-r--r-- 1 root root  512 Sep 25  2014 backup_mbr
lrwxrwxrwx 1 root root    1 Sep 25  2014 boot -> .
-rw-r--r-- 1 root root 1.5K Oct 18  2013 boot.readme
-rw-r--r-- 1 root root 138K Mar  9  2015 config-3.11.10-29-default
drwxr-xr-x 2 root root 1.0K Sep 25  2014 grub
drwxr-xr-x 7 root root 1.0K Dec 21 19:20 grub2
lrwxrwxrwx 1 root root   25 Dec 21 19:19 initrd -> initrd-3.11.10-29-default
-rw------- 1 root root  24M Dec 21 19:19 initrd-3.11.10-29-default
drwx------ 2 root root  12K Sep 25  2014 lost+found
-rw-r--r-- 1 root root 606K Sep 26  2014 message
-rw-r--r-- 1 root root 730K Mar  9  2015 symtypes-3.11.10-29-default.gz
-rw-r--r-- 1 root root 731K Mar  9  2015 symtypes-3.11.10-29-desktop.gz
-rw-r--r-- 1 root root 258K Mar  9  2015 symvers-3.11.10-29-default.gz
-rw-r--r-- 1 root root  409 Mar  9  2015 sysctl.conf-3.11.10-29-default
-rw-r--r-- 1 root root 2.5M Mar  9  2015 System.map-3.11.10-29-default
-rw-r--r-- 1 root root 5.6M Mar  9  2015 vmlinux-3.11.10-29-default.gz
lrwxrwxrwx 1 root root   26 Apr 15  2015 vmlinuz -> vmlinuz-3.11.10-29-default
-rw-r--r-- 1 root root 4.8M Mar  9  2015 vmlinuz-3.11.10-29-default

and indeed the kernel I am currently using is version 3.11.10-29.

Probably, I could proceed in updating to version 13.2 without having the latest version of the kernel, but would be happier to find a solution to this and be able to update the kernel to the latest version. Any hint is really appreciated, thanks in advance.

I seems, that you have a link /boot/boot that points to /boot; that means a circle link. I suggest, you remove it and see if this helps.
Hendrik

No, that’s harmless and is not the cause of the problem.

I ran into that problem with opensuse 12.3.

My “solution” was to uninstall “plymouth”.

I suggest you do that. Without “plymouth”, the “initrd” is smaller and two kernels can fit.

After your update to 13.2, you can reinstall “plymouth”. The “initrd” is now built using “dracut” which generates smaller “initrd” files, even with “plymouth”.

Well, I would not call it harmless. It is there for a special reason and should NOT BE REMOVED.

hi,

try the following

look in /boot/ to see how many kernels are installed,
if there are more kernels there than required, remove the ones not required via -yast --program management
(search for kernel-, select each item under the version tab in turn and click each kernel package not require, make sure the wanted kernel is not removed)

look in /lib/modules/ to see how many kernel modules are installed, delete any directory for any kernels not listed in /boot/

check with cmd df to check memory space available then try installing the new kernel again

hth

ps. if unsure post the contents of /boot/ and /lib/modules/ for further tips