I compiled kernel 2.6.25 for my laptop last night. For once I went through the full menus rather than making a big, bloated kernel via make oldconfig. I did this while watching the NBA playoffs. I took the smart way out by compiling it on my desktop (via screen and ssh) and copying it over to the laptop by sshfs when it was finished. Then installing it was a snap (and the laptop’s fan didn’t even have to kick on for a second!).
I built in much of the support I need (e.g., PCMCIA) and left out everything — in the kernel or as modules — I know I’ll never need. The result is a much smaller footprint (/lib/modules/2.6.25 is under 20MB and would’ve been smaller except I set nearly every possible USB device as a module even though I know I’ll probably never use half of it; who knows, maybe I’ll get some new toys) and much faster boot over the stock Vector kernel.
I still need to upgrade ndiswrapper but their download page had an error message last night and this morning, so I have to boot my old kernel to get online. I also need to update wireless tools. If I can’t get ndiswrapper 1.5.2, I’ll recompile what I have against the new headers. I think I still have source for it here on a thumbdrive.
While I was at it, I commented out the bitmap line in lilo.conf. Now my lilo is a normal text box, as Slackware has always had it. Unfortunately, Slackware 12.1 will have a bitmap background by default so my new look will soon be “old school.” I don’t know why users are so enamored with images that only load for a few seconds like that. Come on, people. If you’re going to use “splash” or whatever you want to call it, at least be sensible about it. Some people are getting way too carried away. Look at the size of the images Vector includes in /boot/bitmap:
-rw-r–r– 1 root root 308322 2007-10-30 03:14 VLwave.bmp
-rw-r–r– 1 root root 309421 2007-02-13 07:51 boot-grub.xpm
A third of a MB just for a bootloader image! That heinous VLwave thing is symlinked to boot.bmp which is the bitmap used in lilo.conf. Or at least it was before I put a nice pound sign in its way. See, that’s one of the things that keeps me from singing praises to Vector. Faster, lighter? YMMV. I really beg to differ.
- Linux 2.6.25 is freaking massive.
- Default/stock kernels are bloated. That includes “faster, lighter” Vector’s.
Everything is being thrown into the kernel source. Every imaginable device, every imaginable driver, everything. “Kitchen sink” comes to mind. And default kernels — since they must of necessity be one-size-fits-as-many-as-possible — take too much advantage of this. The problem with this approach is that users end up with lots of stuff built into the kernel they’ll never use. In my case, it was (net — I built in things that were modules in Vector) over 5MB of crud. Maybe it’s time for distros to decide if they’re desktop-oriented or server-oriented and compile two distinct kernels. At least two. I think the differences between desktops and laptops are significant enough that a separate laptop kernel is also warranted. That would streamline things for users. Not to mention make it safer for everyone because there’s a relationship between security and the number of parts contained in the kernel or in the parts that can be loaded to kernelspace. Servers generally don’t need PCMCIA or all kinds of video drivers; laptops generally don’t need RAID support; etc.
Now it’s time to do the same for the desktop on which the laptop’s kernel was compiled. I’ll probably have that running during the NFL Draft and/or NBA playoffs this afternoon or tomorrow. Or else I’ll download Gentoo or a BSD and go back to using a ports system on it so I only have myself to blame if I compile with every bloated possible option.
As I’ve written lately, I find I’m recompiling more and more stuff because Vector’s packagers appear to be as enthusiastic about features as Ubuntu’s packagers. If it can be enabled, by golly they’re enabling it. I don’t mind recompiling new kernels to suit my own tastes and hardware. But having to recompile so many things just so I won’t need to install A — which I don’t want for a variety of reasons: size, security, stability, etc. — to use B is a real pain in the neck.