Finnix: On the Forefront of Ancient Hardware Technology

For Finnix 87.0, I decided to compile the x86 kernel with i486 support. However, that made me think that I had never tested Finnix with anything less than i686 hardware. The two i586 machines I found worked great with Finnix (an AMD K6-300 and a Pentium 166), but I couldn't find an i486 machine. I ordered one from eBay (a Cyrix 486DX2-80 with PCI motherboard and 48MB RAM), but it didn't arrive in time before final ISO images were mastered.

It arrived Friday, but upon booting it, the kernel immediately segfaulted. Turns out, an i486 will not boot at all if the kernel is compiled with SMP support, even if it has "i486" support.

I thought about including a second non-SMP kernel with the distribution, but that adds another 14MB to the ISO size, for a feature that probably nobody will use. Instead, I took advantage of Finnix's new overlay support, and created an overlay that had a new non-SMP kernel's modules in it. Then I re-created the initrd and added a "nosmp" kernel and modified the isolinux.cfg file. I booted the new modified CD and it worked great:

root@0:~# uname -a
Linux finnix 2.6.16-1-x86-nosmp-finnix #1 Sun Apr 2 05:26:53 PDT 2006 i486 GNU/Linux
root@0:~# cat /proc/cpuinfo
processor       : 0
vendor_id       : unknown
cpu family      : 4
model           : 0
model name      : 486
stepping        : unknown
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : no
cpuid level     : -1
wp              : yes
flags           :
bogomips        : 29.44

If you want to do the same, I uploaded the modified files and tarball as finnix-87.0-nosmp.tar.bz2. Download the tarball and read the included README file. It takes about 5 lines of commands to extract the original Finnix ISO, extract the overlay into the tree, and re-create the modified tarball.

By the way, because of this, the next release of Finnix will have a kernel that is bumped back up to i586 minimum.

One thought on “Finnix: On the Forefront of Ancient Hardware Technology”

  1. Hmm, you only tested the Cyrix for the 486? The reason I ask is because, to be brutally honest, Cyrix processors are known to sport a few bugs here and there versus the competition. Even AMD, which wasn't exactly what you'd call high quality in those days still had a better 486 from what I've seen of them. Oh well, last time I had a 486 was in the early 90s or so personally. I haven't seen anything less than a Pentium 1 since then, and the only Pentium 1 I had seen was an absolutely ancient Toshiba Satellite Pro from around 95 or so (I'm not kidding, it was actually a decade old and still running before I sold it.) You had to use a boot floppy rather than CD to boot anything on it though. Actually, I'm rather wondering how you booted Finnix on that 486. It must have had one heck of a BIOS...

    I do wonder if SMP support is needed though. Don't get me wrong, thanks to dual core chips, SMP has suddenly become even more popular lately, and my main diagnostic system (eg the thing I now run Finnix on most of the time) is an ancient P3 SMP system, but, for Finnix's purposes, not many things you'll be using will really take advantage of SMP, right? I don't know, maybe you can multitask like compressing something while doing something else, but, I can't really think of what else I'd be doing at least. Technically the UP kernel is supposed to be ever so slightly more efficient on a UP system too, or at least so they keep saying, though I have never personally benchmarked or anything and I suppose the difference is minimal really.

    What do you think? Is SMP really needed? Maybe it makes more sense to overlay SMP stuff?

Leave a Reply

Your email address will not be published. Required fields are marked *