remove old kernels from grub list
Nominated for Hardy by jnustudent
Binary package hint: linux-image
This is a bug for new user confidence. So far Hardy has updated the kernel 3 times, which means 7 Ubuntu options on the grub list (3 kernels, 3 recoveries, 1 memtest).
A beginner will definitely be intimidated by this huge list of grub options. When I made the jump from Windows, after the first kernel update, I was really worried that I would make the wrong choice. No explanation is given in the grub menu, and the only difference between the options is one number. I thought this new option was a completely different version of Linux (not just the kernel), and all of my data might be on the other option. An unexplained option on the grub boot menu list adds anxiety, which doesn't help Bug #1.
There are two general ways to fix this:
1) Commenting out the options in the grub list. This is a simple fix, but it doesn't clear up the space taken by the old kernels. There is also the possibility that grub updates will reload the list, bringing back all of the options. You would have to make sure any reloading of the grub list also makes sure the old kernels stay commented out, which makes this a trans-package fix.
2) Actually removing the old kernels. This clears up space, but runs the risk of removing a stable kernel when the new one causes problems. I agree that at least one old kernel should be kept just in case the new one doesn't work. However, that would still mean 2 kernels showing up on the grub list, which will still intimidate casual users.
If there is worry about adding an prompt for the user to choose, there is already one that appears when the kernel is updated: the restart notification. The update manager lets users know they need to restart their computer, and there is plenty of room for a short notification that the new kernel is at the top of the grub menu list.
So, my proposed solution:
1) When installing a new kernel, mark for removal all but the current kernel (plus the one that's going to be installed). That way, if the new kernel doesn't work, the user can just use the previous one. Also, if more advanced users want to keep older kernels, they can simply uncheck the mark for removal of those older kernels.
2) Include a sentence in the restart notification that says something like, "Your updated Linux kernel (x.xx.xx-xx) will be added to the top of the Grub list. (What's a Linux kernel?)" This is so casual users won't get confused when they restart and now see two versions of Ubuntu. The What's a Linux kernel part should have a link to a small help that explains what it means. The help file shouldn't have a in depth explanation about kernels, just info saying that this isn't a new version of Ubuntu, just a new version of the underlying hardware interface, so no data will be lost.
3) After a successful restart (or several successful restarts), include a notification that says something like, "Your current Linux kernel (x.xx.xx-xx) appears to be working well. You can remove old Linux kernel versions to clear up space (XXX MB). This will also remove those old versions from your Grub boot menu list. You can do this anytime by removing the following packages via Synaptic: A, B, C [Remove old versions now]" Similar to the update notification, it would be confined to the Notification Area, and would pop up only when the user clicked on it. The "Remove old versions now" is a button that the user can click. This is so the user can simply dismiss the notification if they want, but still be informed if they want to remove the packages later.
|Changed in linux (Ubuntu):|
|status:||New → Incomplete|
|Changed in linux (Ubuntu):|
|importance:||Undecided → Wishlist|
|status:||Incomplete → Triaged|