A day ago I managed to build a completely useless system on my Inspiron with Crux, and I was so sure that the problem lie in my kernel configuration that I actually have a bruise in the center of my forehead from smacking it against the LCD repeatedly.
But of course the only good reason to smack your forehead against the LCD is because it feels good when you stop. In the end it wasn’t my kernel configuration at all; it was probably something wacky in the way I had built X.
I should explain better. I carved my kernel down to two toothpicks and a wad of chewing gum, and while it was booting wonderfully to the console login, anything graphically oriented locked up tighter than a bank on Sunday — and refused to unlock for anything.
The standard CTRL+ALT+BACKSPACE did nothing. I got the hash background, and I got the pointer, but the mouse didn’t work, the keyboard didn’t work and the fans jacked up to full speed with no sign of quitting. The magic sysreq keys weren’t working, and invariably when I powered off the machine, I had a few disk inconsistencies that needed reboots to fix. It was worse than installing Windows … which takes what? eight reboots these days? I don’t know any more.
I had nothing to go on with the logs, so I could only blame my spartan kernels. So I rebuilt them repeatedly, under the sure assumption that I had left out an option that somehow caused these bizarre lockups.
But nothing seemed to do the trick. So as a troubleshooting measure I built one that had all the default options in place (
make defconfig), changed only enough to mount the drives and filesystems. And those locked up too.
So I scratched my head once more, and decided to pin this down once and for all. I reinstalled (which is not a big deal in Crux), then installed the old X packages off the CD and built my kernel over-sparse again.
And this time, it worked fine. Mouse response, keyboard working and all is good.
So what’s the deal? I don’t know for sure, and I probably never will. I’m updating the system I’ve built and it’s possible it won’t work either once all the fresh versions are in place, but I suspect something went pear-shaped when I compiled X on the first system.
That seems to be the case sometimes when I compile my own stuff. I can do it once and it crashes; try it again without changing anything at all, and everybody is sunshine and roses. Why? Beats me.
But it does mean that I try things twice before I cry foul. A program that doesn’t compile or spews forth errors — aside from dependency problems — gets a second try here. Because sometimes you win, sometimes you lose, and sometimes it rains.