• Please review our updated Terms and Rules here

Linux kernel to finally drop support for 386 processors

And in any case the old releases have never been removed from kernel.org, you can still download v1.0 way back from 1994. And even older versions, in the 'Historic' directory.

I remember visiting a company in 1995 in a southern European country and optimising their 386 PCs for Linux.. they had until then worked only with terminals and had a single Sun IPC as a Unix workstation even though they only worked with Unix application programming. So the employees started to re-target a few 386 boxes (probably sneaked away from the administration when they upgraded) and run Linux. Lots of disk swapping problems though. A bit of tuning the kernel build and removing the shape extension from the X server (i.e. no 'xeyes' application) removed the problems and they could run X11 smoothly on a 386 with 8MB RAM, at least when the majority of the work was done by using the Linux box as an X terminal (with most applications executing on their Unix servers).

-Tor
 
First time I ever compiled the Linux kernel was on a Northgate 386/20 w/ 4MB RAM running SLS 1.0 and kernel .96. Took 8 hours! The Gaussian pitter-patter of the hard drive stepper motors as GCC continually swapped to disk sung me a lullaby that night. Oh the memories.
 
Nothing beat the excitement of a multi-hour compilefest, only to discover that you missed a critical module for your machine and it had been turned into a doorstop ...
 
First time I ever compiled the Linux kernel was on a Northgate 386/20 w/ 4MB RAM running SLS 1.0 and kernel .96. Took 8 hours!
Wow! On my 486 w/16MB RAM it took five minutes. It started out as 5 minutes with 0.95, and continued to be in that time range for quite a few kernel revisions because at one point I switched my 486/33 to a 486/66 CPU.

-Tor
 
I'd assume it is all mostly due to CMPXCHG instruction that was missing in 386 and was first implemented in 486. This instruction is very useful for implementing synchronization primitives (for multitasking and such). See http://en.wikipedia.org/wiki/Compare-and-swap

Now it would be possible to continue using your beloved 386 machine if you'd swap CPU for Cyrix 486SLC/DLC, but for whatever reason Linux kernel configuration puts these CPU in '386' class. At least the configuration help says so :)

Anyway, the support for (pure) 386 had mostly a sentimental value... Especially given memory size limitations on most 386-class motherboards. Although a 386DX is entirely capable of addressing 4 GiB of memory, I never seen a system that actually supported that. Most motherboards had 8 30-pin SIMM slots and theoretically supported up to 32 MiB of memory, but even then on many cache controllers supported only 16 MiB... so the second half of memory remained uncached and painfully slow.

BTW, lack of memory is the primary reason for these overnight compilation sessions people describe here. (Pure CPU performance difference of 386DX vs similarly clocked 486 was less than x2).

(Well, if you still would like to use your 386 with Linux - you can use previous kernel versions...)
 
While the disk thrashing was a major performance problem, a big part of the problem was the amount of CPU time required by GCC. At -O2 and above it takes significantly more CPU time to analyze and generate code.

A 386 with gobs of memory and solid state storage would still be a pig when compiling the kernel, especially with optimizations applied.
 
Most distros of Linux, Debian and a few small distors excepted, that come with pre-compiled kernels have long dropped support for anything less than about a P2 anyway. I was made painfully aware of this when I tried to install Ubuntu on an AMD K6 system and got the "uh-uh, you can't do that". I don't recall a big flap being made.

At any rate, there's always NetBSD and older Linux distros.
 
So maybe those old Slack and RH distribution disks from 10yrs ago are worth keeping after all? I keep almost throwing them out when I remember struggling to install and set them up.

I've been trying to set up a minimal, fast-booting text system on a P2. Recent "low-spec" distros like Arch, Slax and Puppy still take an age to load even to shell, because of all the hardware checking they insist upon doing with udev etc.

What distro is best for vintage hardware - let's say P2 and below, VESA/VGA window manager, no heavy graphics requirements?

Rick
 
They need to change their motto:
From the NetBSD site:
Support for the 80386 processor has been removed as this processor doesn't have the necessary instructions for efficient operation of a modern Operating System.
Has anybody seen a working definition of "modern Operating System" that would explain what they are talking about? Tanenbaum's book by that title was published in 1992 so I don't see why 386 support would not be relevant. Perhaps the OS fashion police have been out issuing citations.
 
Back
Top