50

A bit of a trivia question: What is the oldest hardware capable of running a modern Linux-based operating system, including user-space? (Not necessarily GNU userspace, but running a standard GNU/Linux distro would be most interesting.)

By this I mean being capable of running a fairly recent Linux kernel, in some form. I've found out that the Amiga 1200, launched in 1992 can run Debian (video), but are there any older computers capable of this ?

14
  • 11
    Be aware that it's not a stock A1200. The A1200 didn't have an MMU (also called PMMU). Normal Linux kernels require an MMU for memory protection, virtual address spaces and swapping. Debian m68k is not an exception. With an accelerator card, as used in the video, you usually gain an MMU and thus you can run Linux. Back in the day I also ran Debian on an accelerated A600. Apr 21, 2016 at 18:21
  • 4
    In that case an Amiga 3000 (with full MC68030) should be able to run a normal-ish kernel? That would take us to 1990, but there must be older machines..
    – nsandersen
    Apr 21, 2016 at 19:01
  • 2
    @nsandersen yes, the MC68030 CPU has an on-die MMU and is capable of running a normal m68k Linux kernel. Apr 21, 2016 at 20:33
  • 2
    AFAIR there were kernel patches that removed the MMU requirement. Of course the side effect was that whatever would be a core dump of a single program on PC, meant the OS crash on Amiga.
    – SF.
    Apr 25, 2016 at 12:46
  • 8
    Strictly speaking, any computer no matter how primitive which you manage to hang sufficient indirectly addresses RAM and initialized storage off of can do it, by emulating one for which you can build a modern version. Someone did this for laughs within the past few years on an 8-bit ATmega, but far older candidates would also work. Jun 6, 2016 at 20:54

11 Answers 11

46

If you're looking to run a modern-ish version of Linux, the oldest hardware is likely a Intel 80386 from 1986, probably with some memory upgrades -- 640k isn't enough for everybody. Note that support for the 386 was dropped with the 3.8 kernel, so you'll need 3.7 or older. 3.7 is new enough to run most current software, particularly the sort that you'd want to run on such a slow machine.

3
  • 3
    I can confirm that Linux 2.4 runs on my 386 box.
    – fuz
    Feb 18, 2018 at 17:42
  • 1
    640K isn't enough for everybody...? Not even one at a time? Shucks! Mar 5, 2019 at 16:40
  • 1
    Note that you'll need a 32-bit user-space that doesn't use any P6-only instructions. I think most distros default to building 32-bit code with gcc's -m32 defaults, which use instructions like cmov that only run on Pentium Pro and later. (Most code 32-bit doesn't use SSE/SSE2 without checking, though.) Even instructions like lock cmpxchg were new in P5 Pentium (or a different undocumented opcode in 486). So you'll very likely have to build your own user-space. Jun 2, 2019 at 9:02
23

The Intel 80486DX came out in 1989, and that can run Gentoo Linux. This is really nice because most Gentoo portage packages are very current. You can build a completely current Linux kernel for it too.

What makes this possible on Gentoo is that the installer software is compiled for the old 80486DX, and then during install you can recompile the portage software packages for your target architecture (i486, i586, and i686 for 32 bit machines). You do have to edit some of the config files, as they are set for i686 by default.

The reasonable way to do this is to install Gentoo using a fast machine onto an older hard drive, and then move the hard drive onto the old machine once done. There are some cheap USB-to-IDE adapters you can get for around $20 to do this. Recompiling on an old computer is painfully slow, even with large amounts of memory.

The software patches needed at present are listed in this posting:

https://retrocomputing.stackexchange.com/a/4364/6484

Another subtle problem is that the BIOS on such old computers often have bugs, so using the GRUB or Legacy GRUB bootloaders don't work. I have the most success installing the ancient LILO bootloader. It isn't pretty, but it works best on such old hardware.

People just marvel at me at work with my Compaq LTE Elite 4/75CX running the latest Linux kernel and current Gentoo userland.

http://www.computinghistory.org.uk/userdata/images/large/PRODPIC-42318.jpg

Love that built-in mouse, eh? Well, it was cutting edge for back then.

I previously used the old Debian 'Squeeze' distribution (2011) because it supported 80486, but it has become too dated. That was the last Debian version to support 80486. Understand, the Linux kernel still supports 80486, but the distributions and their userland utilities have been dropping support for i486 and often i586.

2
  • 1
    Welcome to Retrocomputing Stack Exchange. Please read the tour. On this site we prefer that answers are mostly self-contained - you can include relevant information from your other answer in this one using the > blockquote syntax. (This answer does have the bare-bones amount required to answer the question, so it's okay, but it would be better with more information.)
    – wizzwizz4
    Jul 26, 2017 at 12:47
  • It took me over a minute to spot that built-in mouse.
    – Tommy
    Oct 10, 2017 at 18:22
19

A certain freak has successfully run Ubuntu on a 8-bit microcontroller. From startup to the Ubuntu login window, it took him six hours.

In order to do that, he had to write something that emulates a 32-bit CPU.

So it's imaginable that you could port a modern Linux to a 70ies computer.

8
  • 7
    There's always one! The trouble is that it stretches the meaning of the word running to a ridiculous extreme. It doesn't sensibly answer the question.
    – Chenmunka
    Oct 10, 2017 at 14:42
  • 6
    @Chenmunka Then one must define the cutoff between running and not running. Oct 11, 2017 at 14:23
  • 1
    @traal: Exactly! This is similar to those people who have got a version of Linux to run on a Playstation or an Iphone. An interesting intellectual exercise but of no practical use.
    – Chenmunka
    Oct 11, 2017 at 14:27
  • 5
    @Chenmunka That's true, unless you want to run calculations on quantum chromodynamics or something. Oct 11, 2017 at 14:41
  • 1
    See also Emulators running on 8-bit personal computers
    – user
    Oct 18, 2017 at 12:18
14

Would ELKS count as modern Linux? It can be run on even older hardware (original IBM PC).

2
  • 7
    ELKS is not a true Linux. It says on top of its own FAQ page: "Note that ELKS is not Linux, […]". In the first FAQ item it says "ELKS is the Embeddable Linux Kernel Subset". A subset means it's not the complete thing. Apr 21, 2016 at 21:28
  • 3
    Oh, nice, I didn't know that ELKS development has been restart and that it's active again. If you want to go even further back in time and want a unix-ish OS for 8 bit CPUs, have a look at FUZIX. Dec 1, 2016 at 20:14
12

I have a 1991 Sun Ultra 1 from 1991 which can run the very latest Linux kernel (I do so under the Gentoo distribution). As old computers go, though, it is quite modern, with a 64-bit CPU, and I've equipped it with a full gigabyte of RAM, which was almost unheard of in that era.

2
  • 2
    I think you may be misremembering the age of the Ultra-1. Those only started shipping in 1995. The DEC Alpha was the first widely available 64 bit microprocessor, and that was only available from 1992.
    – wrosecrans
    Mar 15, 2019 at 22:19
  • Appears it is also a tier 1 platform for NetBSD. Nov 26, 2020 at 9:06
10

Accoridng to this article link Linux variants dropped support for the i386 processors in version 3.8. However, Distro Watch link still has quite a few distros that support the i386 architecture. Some of them include:

  • Mint
  • Debian
  • Zorin

And many others, I'm sure YMMV. I've not installed Linux on anything older than an original AMD Athlon. I've got an Athlon 2600+ running Bodhi, and it's a tad sluggish. Not like trying to run Windows 7 on it, but, still not overly responsive. I wouldn't want to run it on anything older than the Athlon.

4
  • 2
    I've got Linux running on a Pentium MMX. As long as you avoid GUI software and keep an eye on your memory usage, it works fairly well.
    – Mark
    Apr 21, 2016 at 20:56
  • I can definitely see that. Linux still supports i486. Anyone familiar with CLI shouldn't have a problem with a computer set up like this. Apr 21, 2016 at 21:02
  • 6
    Mint and Debian surely no more support i386 CPUs. Debian dropped even i486 years ago and will drop i586 with its next stable release. Linux Mint is based on either Debian or Ubuntu and Ubuntu dropped i586 long ago already. You are likely mixing up (historically grown) architecture names and supported CPUs. The i386 port or architecture of Debian and its derivatives no more supports i386 CPU despite its name. Dec 1, 2016 at 19:56
  • 6
    You've mixed 'i386 processor' and 'i386 architecture'. While the first is certainly the ancestor of the second, the second is not limited by the first. So the kernel has dropped support for the 386 CPU, but still fully supports 32-bit i386 architecure, like does any x86 intel or AMD CPU.
    – lvd
    Oct 11, 2017 at 19:50
10

If you want old hardware supported by current distros, Debian's MIPS Port is supposed to run on a 1993 SGI Indy.

8

If you broaden your choice of OS to any *nix you can go way back to the original IBM PC, running Xenix. No MMU, no protection of any kind, no demand paging. Microsoft at their worst. No Linux as it never ran on 16 bit hardware as far as I know.

But, going back even farther, the DEC VAX is relatively ancient (1977) and Linux has been run on these.

3
7

The Sun sun3 architecture hails from 1985, and there are 2.6.x ports to it (which are not that different from "modern" kernels, especially when it comes to features that are useful on old hardware. It could support all the software expected of a modern linux system if only the hardware was fast enough :) ).

1
6

You can get much further back if you choose an actual Unix*, like a BSD variant. Possibly all the way back to the first machines that ran Unix, provided you can find one whose C compiler can compile C99 or so, and thence Unix.

*Not denigrating Linux, which is an excellent Unix-alike OS, just sayin' that Unix was designed to build itself on the ancient DECs and such that it started on.

7
  • 2
    So you are proposing to backport a modern kernel to an older system? Will most likely not work, simply because modern kernels are too large for the little memory old systems have. Feb 12, 2017 at 16:44
  • 1
    An excellent point, you'd definitely have to start with one of the stripped down embedded-system builds. ... And then there's still the problem of squeezing the source and intermediate objects onto whatever tiny external store the system supported. So, cross-target compilation would be the first hurdle there.
    – Taryn
    Feb 20, 2017 at 2:27
  • 4
    A linux kernel that really, absolutely only has the device drivers needed can be shrunk down to a surprisingly small image size - fitting 2.4.x series linux kernels comfortable on floppy disks was common practice, I think my bzimage record for a kernel for a fully equipped PC was around 600KB IIRC. Apr 27, 2017 at 22:03
  • 4
    NetBSD/VAX 7.1 (latest release) will run with as little as 2MB of RAM according to the release notes, with the caveat "the installation really requires 6 MB RAM unless you plan on using Jedi powers". An 11/780 with 8MB would run it just fine, and you can put much more than 8MB in a 780. I know an 11/750 with 14MB runs it reasonably well, and something like a 4000/100A with 64MB is pretty snappy. Oct 24, 2017 at 17:16
  • 2
    BSD 2.11 runs on a PDP-11/70 class machine (e.g. anything with a real 11/70 or anything with a J-11 CPU). There's still an active community, but your definition of 'modern Unix' may vary. BSD 2.9 will run on even older PDPs. Oct 24, 2017 at 17:16
5

The original Macintosh II (16MHz 68020) supported the MC68851 MMU. We got a big batch of these at Virginia Tech in the fall of 1987. It looks like it still might be possible to run Debian on this hardware, although it would surely be painful.

3
  • By coincidence, I found this yesterday: phoronix.com/… — at least as recently as the 4.17 kernel, patches were still being received to improve support for the Powerbook 100. Also 16Mhz, but only a 68000. Postdates the II, so not a good answer to the question, but relevant I think.
    – Tommy
    Mar 6, 2019 at 12:12
  • How in the world, with no MMU? IIRC the 100 is architecturally nearly identical to the Mac Portable, which is basically a fast, low-power Plus with a larger screen. That would push us back to circa 1985...
    – jeffB
    Mar 7, 2019 at 16:51
  • 1
    On closer inspection, I lack comprehension abilities. It's the "Powerbook 100 series" (plus a misleading picture of the Powerbook 100) but sounds like it actually relates to the Powerbook 190, see e.g. lkml.iu.edu/hypermail/linux/kernel/1804.0/00420.html?anzwix=1 . That's an 'LC040 from 1995. So, somewhat more advanced than a Mac II all around, not just later.
    – Tommy
    Mar 7, 2019 at 21:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .