How to update a linux kernel on a small boot partition

I am running Windows and OpenSuse in dual boot with GRUB. Since my /boot partition is only 40MB, updating the kernel is not as simple as running yast2.

Here are the steps required to update the kernel:

  1. boot into single user mode and log in as root
  2. umount /boot -> mounted drive (on /dev/sda1) is shadowing an existing /boot one
  3. mount /dev/sda1 /mnt/boot
  4. run yast and update the kernel files on the shadowed /boot drive
  5. backup the original kernel files from /mnt/boot
  6. remove the original kernel files and grub.cfg from /mnt/boot
  7. copy the new kernel files and grub.cfg from /boot to /mnt/boot
  8. reboot