This whole week and part of last one, I’ve been helping my good friend Scott (the Known Master of Time, Space, and Suse) figure out how to compile a custom kernel. He was installing Suse 10 on a server, and had the hardest time getting it to run because of some funky driver issues. Turns out that the hardware was bad, so thankfully it probably wasn’t through any real fault of our own.
Anyway, the point of this post is that when we first started out on this, neither one of us knew if you even could run a custom built kernel on a binary distro, and if so, how hard would that be to setup? The last time I’ve had exposure to a rpm-based linux system (for an extended period) was about three years ago. Needless to say, things have changed quite a lot since then, and I was blown away by how simple it was to setup.
When Scott first pinged me about it, I was actually in the process of setting up a server running Suse Linux 10.0 at work. We have a craptastic old router in place that keeps dying randomly, and I don’t have much time to get a replacement in there. I did have a test Gentoo server in there, but networking is one of my biggest weaknesses, as I’m sure you all know from past experience. I had the firewall setup correctly, I was sure my IP addresses were right, but the stupid thing wouldn’t route the packets. I really suck at setting up NAT.
To save my little buns and a lot of time, I decided to go with Suse instead. I was setting it up that day when talking about compiling a kernel came up. I was trying to convince Scott how simple it was to build a custom kernel (since its second nature, now), but he wasn’t really swallowing that pill too easily. To convince him, I told him I’d figure it out myself on my little Suse server and then I could help him out as well.
After some quick googling, I found this awesome guide online. I followed that pretty much to the letter, and it worked great. There were two things that really impressed me — first of all, there was only about six packages that I needed to install so I could have gcc and other tools necessary to build and install the kernel and initrd files. Secondly, I liked how yast was so easy to work with. Just yast2 -i foo and it asked me for the CDs to put in and I was all done. I know that doesn’t sound impressive, but if your last experience was with RedHat 7.1, you’d like how smooth everything was.
There’s no chance of me switching to Suse for everything anytime soon, but at least in my eyes now it’s a good candidate to learn more on. I don’t like having my eggs all in one basket, and I keep reminding myself I need to learn how to administrate more than one flavor of Linux. I’m still cautious though — I can’t wait to see if this thing solves my networking problems and saves myself from me. Even if I can’t, I can always bug Scott and tap his infinite knowledge of the distro. He loves it when I do that. :)