In the matter of the Inspiron 4100 fan/i8k problem, that is. After poring through documentation and source code at some length, I made it through the [IMHO unnecessarily obfuscated by Ubuntu’s fear of root] procedure to install all the “dependencies” [the majority of them actually more sort of ‘suggestions’, really] and configure, build and install a custom kernel on Ubuntu, with 90% of the drivers and modules for devices and filesystems that are not present on that laptop and will never, ever be used disabled, with APM instead of ACPI, with a modified i8k module that never tries to mess with the Fn-keys, and with the undocumented required directives in the required (but optional!¹) /etc/i8kmon file divined from inspection of code. And lo, wonder of wonders, after spending only all day on it², the fans on the machine now run in a temperature-sensitive fashion as intended, and without disabling the keyboard and trackpad.
What’s more, startling though this might be, the machine booted at least 50% faster without having to probe several hundred assorted unused drivers and modules. (But ubuntu really discourages you from building a custom kernel, unless you’re a developer. They have reasons for this that they’re quite convinced are good, in complete contrast to most distributions I’ve ever used that tend to suggest that one of the first things you do after you finish installing is build a custom kernel configured for your hardware instead of continuing to use the generic one that has EVERYTHING turned on.)
Of course, by the time I got done with all this, the disk had overheated, and no sooner did I get the fixed laptop upstairs to cymrullewes than it went into thermal catatonia. So I guess we’re still going to need to replace that disk. It’s slated for replacement with a 16GB SSD that should be faster, cooler, and of course silent, and with any luck draw less power. Most importantly, it’ll no longer be at risk from minor drops; the laptop will now have no shock-sensitive mechanical moving parts and no protruding devices.
[1] Optional, as long as you don’t actually care whether i8kmon ever starts, or are willing to start it manually yourself every time you boot the machine. Because /etc/init.d/i8kmon will start /usr/bin/i8kmon if and only if the “optional” file /etc/i8kmon not only exists, but contains the undocumented directive ‘set config(daemon) 1’.
[2] Most of which, true, was spent waiting for the kernel (and several hundred drivers that I didn’t need) to compile. I actually stopped the kernel build three times to disable building of yet more unneeded drivers that I realized I had forgotten to disable.