VOGONS


Best Linux for 386 class machine.

Topic actions

Reply 20 of 33, by elianda

User metadata
Rank l33t
Rank
l33t

A very old thread but:
The first proposal to ATAPI was in early 1996. I doubt there is any retro 386 system that supports booting from CD-ROM.
Of course you may add an own Option ROM to add this feature, but this would be a custom modification.

I also got the recommendation to try Linux as OS for my PS/2 386 system with MCA architecture and 8 MB RAM. After a brief search it showed that linux was simply too new for this system. Of course it may be possible to compile stuff yourself, add the MCA support, but it would be in no way feasible to take this path. So a working WindowsForWorkgroups 3.11 on IBM-DOS is in so many aspects easier to get running with sufficient features.
I wouldn't try with Linux on anything below a 486. Just to remind you that the CMPXCHG instruction was introduced on the 486 to achieve synchronization in multi threaded applications much more easily than on a 386.

Retronn.de - Vintage Hardware Gallery, Drivers, Guides, Videos. Now with file search
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool

Reply 21 of 33, by swampfox

User metadata
Rank Newbie
Rank
Newbie

Kernel 3.8x dropped support for the i386.
Also, most mainstream distros ship with the kernel compiled for either i486 or i686, so you may have to compile the kernel yourself.

In addition, although X.Org can and will run on a 386, it will not run very well, even with possible hardware acceleration (which would be very surprising on a 386).
For a pleasant-experience with an X11 Server, you should compile XFree86 and use that as opposed to X.Org.

Debian is still offered in 386 (not sid/unstable), as wheezy's kernel is 3.2.x-i386.
You would have better luck running older, such as squeeze, based on 2.6.x.

For what ever distro you find still boots on your system (Should also mention most distros these days need at least 64MB RAM to boot), I would get the netinstall/minimal variant, and then download GCC and libraries to compile stuff from the terminal. Make sure you install with a large /swap partition, because any 386 system is going to be pretty limited in terms of how much RAM you can use.

Someone mentioned BSD earlier. OpenBSD runs fantastic on older hardware, even with X11. Ships with the old FVWM, which is not only fast, but has that nice retro-UNIX-workstation look to it, with the Motif toolkits and whatnot.

Swampfox's Computing - Google+ and YouTube: https://plus.google.com/108854180391399268575

Reply 22 of 33, by truth_deleted

User metadata

Thank you for sharing your experiences with linux. The xvesa server is more suited to an older x86 system than Xorg (and than the wine compatible versions of XFree86). The useful versions of Wine don't seem to run well with xvesa and this has been reported on other forums, but XFree86 would be ideal, possibly the 4.3 versions and later. There is also the problem of finding compatible versions of libraries that work with Wine, especially concerning the linux kernel and the c runtime library. Moreover, the earlier Wine versions are considered development versions, so the more robust versions have steeper requirements. It would be ideal to find a good linux distribution which is modular and allows customization, such as Slackware 4 or 7 (possibly 8, too). If advanced features aren't required, then an early version of DragonLinux is robust and based on Slackware.

Another feature of the early Slackware versions (and its ilk) is that they have documented support for running off DOS partitions, such as the syslinux and loadlin/umsdos boot systems. It has been reported that the linux kernel 2.6 has not continued development on umsdos and it has been suggested to use 2.4 instead.

DSL Linux is another modern and excellent distribution, it would be an excellent alternative to DragonLinux, but I haven't tested its umsdos capability (which it should have). The syslinux and umsdos are not necessary, but they signal a compatibility with older systems which should extend to the distribution's other tools.

FreeBSD is Wine compatible, but there are no reports of compatibility with the above boot loaders. However, it certainly is an excellent suggestion for older systems which are used for a specific purpose.

I've typically run these distributions with no window manager, instead an xterm was started (such as adding a line "exec xterm" to the xinit configuration file and running xinit). This is not an ideal everyday configuration, but it allows for evaluating a distribution or where the windows are generally full screen. For enabling hardware acceleration in video, then full screen is sometimes necessary for the earlier X server systems (I recall the DGA extension which should fall into this category).

Reply 23 of 33, by EverythingOldIsNewAgain

User metadata
Rank Member
Rank
Member
swampfox wrote:

Kernel 3.8x dropped support for the i386.
Also, most mainstream distros ship with the kernel compiled for either i486 or i686, so you may have to compile the kernel yourself.

It's been awhile, but I recall reading that even the last few "i386" targeted distros were broken. They would throw up unhandled exceptions even though they nominally supported the 80386. The explanation was that they were building for machines they had no access to and- well - broke it.

Reply 24 of 33, by Unknown_K

User metadata
Rank Oldbie
Rank
Oldbie

Was Linux even around when a 386 was still in use, figured you needed some kind of UNIX distro on a bazillion floppy disks.

Collector of old computers, hardware, and software

Reply 25 of 33, by Maeslin

User metadata
Rank Member
Rank
Member
EverythingOldIsNewAgain wrote:
swampfox wrote:

Kernel 3.8x dropped support for the i386.
Also, most mainstream distros ship with the kernel compiled for either i486 or i686, so you may have to compile the kernel yourself.

It's been awhile, but I recall reading that even the last few "i386" targeted distros were broken. They would throw up unhandled exceptions even though they nominally supported the 80386. The explanation was that they were building for machines they had no access to and- well - broke it.

Yep, same with 486 support. Most kernel compiles I've tried after 2.6.18 crash hard with unhandled exceptions. More often than not stuff related to CPUID (since 386 and 486-class CPUs don't actually have a CPUID). Been meaning to patch/hack a kernel myself until it works but haven't had time.

Reply 26 of 33, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
Unknown_K wrote:

Was Linux even around when a 386 was still in use, figured you needed some kind of UNIX distro on a bazillion floppy disks.

Tomsrtbt could boot Linux from a single floppy. It all depends on how many packages you're willing to exclude.

I think I remember seeing a version of Linux available for download on a BBS in a package that was 8 MB, but I have no idea what distro it was. Probably Debian, considering that was around 1996 or so.

Reply 27 of 33, by Holering

User metadata

I second Debian. All their stuff has supported i386 up until very recently. DSL and older Puppy Linux would be great choices. Older Slackware would be good if bootstrapped from a faster system or using distcc (Os cflag might be worth a try for lame, ogg, and similar stuff). Linux from scratch if you want to build your own package manager or just don't care to leave things loose. Would be great to learn C while putting an ancient system to good use.

Reply 28 of 33, by swampfox

User metadata
Rank Newbie
Rank
Newbie

Missed out on sliderider's post earlier, and turns out he is right. Debian hasn't supported 386 chips since Sarge. The "i386" distribution ships with i486 and i686 kernels and packages. I also hear problems about kernels newer than 2.6.18 on 386es having panics and dumping out exceptions when compiled for them.

Also found this page, might be helpful, especially if you cannot boot from CD-ROM on your system and have to rely on floppies:
http://lennartb.home.xs4all.nl/linux.html

Swampfox's Computing - Google+ and YouTube: https://plus.google.com/108854180391399268575

Reply 29 of 33, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
Holering wrote:

Would be great to learn C while putting an ancient system to good use.

There are much, much better ways to learn C. And really, the only practical use for a 386 nowadays would be old games (and even that's stretching it IMHO). Anything else can be done much more easily on much better hardware that is much more readily available.

Reply 30 of 33, by Holering

User metadata
Jorpho wrote:

There are much, much better ways to learn C. And really, the only practical use for a 386 nowadays would be old games (and even that's stretching it IMHO). Anything else can be done much more easily on much better hardware that is much more readily available.

Isn't it more fun to learn C on old hardware that should be not working 😈 ?

Reply 31 of 33, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

You really haven't done much programming, have you? It can readily devolve into an exercise in searing agony and the last thing you want (if you can possibly avoid it) is to start wondering if your hardware is faulty and playing tricks on you. But we're getting off-topic.

Reply 32 of 33, by totalizator

User metadata
Rank Newbie
Rank
Newbie

It's truly amusing how clueless people are when trying to accomplish something like OP. It's like taking a P200 MMX, installing MS-DOS with Prince of Persia on it and saying "what a wonderful retro machine I've build" (pretty common nowadays).

Well, basically - "most recent distro that will still run on a 386" would be something like SUSE Linux 4.2 (1996) or Debian 2.0 (1998) and still has to be considered as ancient. Take a look back and see what games people were playing in 1996 (Duke Nukem 3D, Diablo) and in 1998 (StarCarft, Half-Life, Unreal!) then what computers were in use. Also, everything before Debian 2.0 is more like proof of concept when it comes to desktop experience.

What I can recommend is trying to install one of the very first versions of the most popular distros like SUSE(Slackware), Debian, Red Hat and keeping in mind that 386 cpu has been already ancient back in ~1996. Don't expect miracles and see how it looked like: http://imgur.com/a/jBFzY Somebody even gathered it all up and published on CD with Bochs live images included (description is in Russian):

http://www.linuxcenter.ru/shop/gifts/software … molodi_mi_bili/
http://www.linuxcenter.ru/shop/gifts/software … ina_ih_ne_zabu/

Other thing worth to mention is Pocket Linux http://www.pocket-lnx.org/ which is single floppy distro with networking support and a bunch of great tools included (no X). I'm using it with diskless, old laptop to ssh/telnet big Linux box and other fun stuff: http://imgur.com/a/Co8ds

I love such threads :3.

Reply 33 of 33, by ynari

User metadata
Rank Member
Rank
Member

Just to note : BSD will not help, either. NetBSD is probably the most conservative of the BSDs and even that dropped support for the 80386 chip over two years ago.

The 386 is dead, stick it in the bin! The 486 and definitely pentiums will stick around for a bit due to embedded kit. For actual desktop use anything less than a P4 is folly (see recent dropping of non SSE2 support in Chrome, not to mention anything less will be too slow).

Use them for legacy games and apps, sure, but for useful work forget it.

You'd be better using NT or OS/2 if you really must use it, but frankly use them to run apps that only run on the 386, or that don't run particularly well on a 486 or better. MCA is even more of an exotic variant than the 386 these days, and OS/2 (obviously) and NT were the only operating systems that ever seriously supported it.

It's vaguely interesting using the ancient versions of OS/2 and NT, Unix less so because fundamentally it still looks quite similar, even if the internals have changed radically. Even so, the bit rot due to the age of old operating systems means you'll struggle to find software to make it viable to bother with.

Side note : I still have a 486 I ran uTorrent on under NT 4.0 with a large disk driver (80GB disk, 486DX33, 16MB RAM). Linux and BSD distributions were simply too large to run torrent software. uTorrent ran, until it had a data error, at which point rechecking the large (50GB) torrent, took well over 24 hours. It's just not viable.