Just another tack and a caveat. The caveat is, if you are using aptosid (was sidux), you should log out of GUI, log in as root, and go init 3 before messing around with apt-get.
Say I have three kernels and want to get rid of the oldest one. So I get a list of what I have:
# ls -1 /boot/initrd*
/boot/initrd.img-2.6.38-2.slh.6-aptosid-686
/boot/initrd.img-2.6.38-2.slh.7-aptosid-686 /boot/initrd.img-2.6.38-3.slh.2-aptosid-686
Then I use dpkg to get the proper name for later use in apt-get:
# dpkg --get-selections | grep 2.6.38-2.slh.6-aptosid-686
broadcom-sta-modules-2.6.38-2.slh.6-aptosid-686 install
linux-headers-2.6.38-2.slh.6-aptosid-686 install linux-image-2.6.38-2.slh.6-aptosid-686 install
You may notice an entry for my PCMCIA module. You may not see anything like this. I will not discuss that here (at least initially ;-)).
Next, run apt-get to *take out the trash*, so to speak:
# apt-get remove --purge \
linux-headers-2.6.38-2.slh.6-aptosid-686 \
linux-image-2.6.38-2.slh.6-aptosid-686
Grub should be automagically updated by apt-get and you should no longer see the old stuff (because it shouldn't be there to see).