Background: A debian machine (unstable) with a 100Mb root/boot ext3 partition (hda1), a 500Mb swap space (hda2) and the rest of the disk under lvm2 (hda3).
Problem: I use a custom kernel (needs the EVMS block device kernel patch). And not enough space to build or install the next kernel - 100Mb is simply too small.
- Create a 256Mb swap space under the lvm2 area [mkswap]
- Remove the old swap space (remove partition) and create a new one using only half the space (leaving space after hda1) [fdisk, mkswap]
- Configure both swap disks in fstab (use pri=nn option to use hda2 first)
- Boot into knoppix (I used the 4.0.2 CD)
- In fdisk note the start cylinder of hda1 then delete hda1
- Create a new hda1 - make sure it uses the same start cylinder but now fills all the space up to hda2
- Commit the partition table (I needed to reboot knoppix for the kernel to update its view)
- Run e2fsck -f /dev/hda1
- Run resize2fs -p /dev/hda1
- Reboot from disk - all done
Notes - I use grub - I assume that lilo will also tackle this - but - no guarantees.