![]() | |||||||||||||
Messages in this thread |
On Fri, Dec 02, 2005 at 08:30:15PM -0500, Steven Rostedt wrote: > I'm not sure if this has been done already or not (let me know if it > has), but I've just noticed that after playing with several > developmental kernels I had about 30 to 40 different versions of > vmlinuz, initrd.img, config, and System.maps in my /boot directory, not > to mention all the modules loaded in /lib/modules. One more reason to put kernels and modules into /boot. On my systems, /lib/modules is a symlink to /boot, so that I have my modules physically located in /boot/<kversion> and my kernel, config, System.map, ... into the same directory. So I just have to rm -rf /boot/<kversion> to remove one kernel, and managing them is very easy. One more advantage is that when you build many kernels, you just 'sudo make modules_install' first, which creates the /boot/<kversion> entry, then you just have to 'sudo cp arch/i386/boot/bzImage System.map .config /boot/<kversion>/' which is very convenient. The default flat /boot directory + /lib/modules is a real mess, proved by the fact that you had to write a tool just to manage that. Not that I find your script useless at all, it's the opposite, I think it will make life easier for people who want to keep this obsolete directory structure. > So I wrote this perl script that let me pick and choose what I wanted to > clean up. Be careful, this must be run as root, and although the > default is to do nothing, if you hit a "y" in the wrong place, you can > lose that kernel. > > The script is here: > > http://www.kihontech.com/code/clean-boot.pl > > Here's the usage: > > # ./clean-boot.pl -h > > usage: clean-boot.pl [-b boot_dir] [-m module_dir] > (version 0.1) > default boot_dir = /boot > default module_dir = /lib/modules > > It's run like the following: > > --- > #./clean-boot.pl > List of versions found: > 2.6.12-1-386 2.6.14 2.6.14-2-386 > 2.6.14-2-k7-smp 2.6.14-kthrt2 2.6.14-rt13 > 2.6.14-rt13-logdev1 2.6.14-rt15 2.6.14-rt20 > 2.6.15-rc3 > Remove files for version 2.6.12-1-386 [y/N/l/q/?]: ? > y - remove files from boot and modules > n [default] - skip this version > l - list the found versions again > q - quit > ? - display this message > Remove files for version 2.6.12-1-386 [y/N/l/q/?]: q > --- > > If you hit "y" (or yes or ye, case is ignored), it will then remove any > of the vmlinuz, initrd.img, config and System.map files for version > 2.6.12-1-386 in /boot and the directory /lib/modules/2.6.12-1-386. > > This is under just a public license, no warranty, so just be careful not > to delete too much. > > Also remember to update lilo or grub, since this doesn't handle that. > > Comments? > > -- Steve Regards, Willy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-12-03 10:00 [from the cache] ©2003-2008 | |||||||||||||