By the time I got into installing Linux (1996+), I always seemed to be able to find salvageable pentium machines 166Mhz and above. But, my sister ended up returning my old AMD 486 DX4 120Mhz after they bought a new computer. I threw FreeBSD on it for a bit. It ran really well! I'll forever miss this era of computing. The internet was brand new, machines were often Frankensteins built out of spare parts. Computer Shopper was 2 inches thick with a thousand ads for parts from places like Dirt Cheap Drives.
In 1995, I was stationed at an Army base about 10 miles from the DMZ in Korea, and for the first time in my life I saved up enough money to build a computer from modern parts instead of scavenging them from thrift stores and dumpsters. So I went AWOL for a day and went down to a place in Seoul called the Yongsan Electronics Market. To my young American mind, this was a place straight out of a William Gibson novel. Imagine a multi-storey sprawling mall covering about three blocks, with modern stores selling the latest LG stuff at the center, but in the alleys and passageways you might run into a pile of cases being scrapped, or an old man pulling a cart full of dead hard drives, or turn a corner and find someone hand building 20 video cards on a plastic table. But I knew what I was there for, and I bought the parts for a 486DX4/100mhz, plus a used monitor and keyboard, and brought them back on the train. Somewhere I acquired a Slackware Linux CD, and when I got it all put together it was like a dream. I count that era as when CPUs got powerful enough that we just had extra processing power for the little details. But I digress. On the first night I had it, I decided to leave it running overnight and set up a cron job to wake me up for morning formation. Of course, it froze up in the middle of the night and I woke up late and got yelled at.
I really wish cities in the US had those kind of sprawling electronics markets. So cool and useful. Like if you just need a single SPDT switch instead of a 20 pack on Amazon… you can’t do that right now.
Fry's was the closest thing we had, and it was thinly spread at the best of times (particularly outside of California). It didn't really even make it into the pandemic; I remember walking into the Downers Grove, IL store in the Christmas 2019 season and feeling strange at how few cars there were in the parking lot. I walked in, and was shocked at the state of what was an obviously failing store that gave me the willies. I half-expected to run into zombies. Looking back, I'd have to call it a portent of 2020.
Between the implosion of Fry's, and Radio Shack not quite lasting long enough to capitalize on the maker movement, it's pretty well online ordering or nothing.
I visited silicon valley in the mid-nineties from Australia, Fry's was like a magical wonderland compared to the pathetic offerings we had. I went a little nuts and bought enough parts to build a machine just out of their bargain bins.
I've often wondered why those places disappeared but then you remember nobody really builds PCs or other electronic stuff except as a hobby and most people are running laptops that can't be upgraded anyway.
Shipping kills the deal, especially with used stuff that isn't worth much. An old workstation may cost $50 but the shipping is another $50 on top when you buy it on Ebay. At the same time, people are throwing out record amounts of ewaste that is higher-end than the gear I currently have on my desk. Really wish there was a local market here similar to those Asian ones.
We used to have a monthly computer show and sale in the DC area. It was like this but in tents at the fair grounds. It was heaven. What an incredible time to come of age alongside modern technology coming of age. I still have bins of computer bits just in case. Like 3.5”IDE to 2.5”IDE ribbon cable adaptors and shit like that.
For me it was the MIT swapfest[0], every 3rd sunday of the month april-october. I don't know what happened to it since the pandemic & also I moved out of the area, but it was amazing for getting fantastic little odds&ends and components. Since it grew out of ham radio, it generally had parts and tools you needed for fixing electronics.
eBay is a far better source for electronic components than Amazon. You can source single switches. The cheapest are direct from China with 1mo shipping times, but there are US sellers as well.
Thing with Linux as much as I used it over the years, it's still no where near as compatible with weird hardware as windows. Windows just seems to be able to handle whatever hardware I've ever thrown at it.
> Windows just seems to be able to handle whatever hardware I've ever thrown at it.
Other than the very first few versions of Windows, the true reality is most probably the opposite: whatever hardware you've thrown at it is able to handle Windows. That is, both the hardware and its software (driver, firmware) have been designed for and tested with Windows.
You had better "salvage" options in 96 than I did. The Pentium 166 was newly released in 1996. 486SX33 was easy to come by in 96 for me, though, and it was easy to get slackware running on, too. Though I did let the smoke out of one monitor with a bad X modeline.
You're right. The first machine I installed Linux on wasn't my own. It was a friend's Pentium, and he had partitioned a drive. It was 98/99 before I was regularly trying out distros from Cheapbytes, Linux Mall, etc. My dad's company closed their doors in 99/2000ish so that would have been when I was finding those Pentiums.
I had a 486DX laptop that I ran Linux on from about 1995-1999, I probably tossed it around 2001 when the battery was pretty dead and the HDD was dying.
In some ways that was some of the best times for Linux on the desktop in my experience. Windows and Mac were such an unreliable mess at that point that Linux seemed very competitive at the time. A lot of the advanced hardware integration in Win/Mac hadn’t happened yet and Linux was very lean and mean and reliable. Both KDE and Gnome appeared in 1997 IIRC and the desktop was decent even if some apps weren’t as good.
My machine was 75mhz, 12MB RAM, 250mb HDD, 800x600 color LCD that had poor refresh. It got me through most of my college CS programming projects, though I eventually built a Linux tower too. X was good on that laptop the first few years but was really slow by 1998.
I was reading a bunch of these comments thinking "winmodems were terrible". Thanks for that.
I remember carefully selecting modems. Most of the PCI modems in popular retail shops were winmodems so getting one that used the ISA bus was the first step. But even that was not the safest bet. Online shopping was nothing like it is today, so getting a known good model was more difficult.
The safest bet was to use external serial modems. Which usually meant Zyxel or USR, hence $$$. I remember having to settle on 28.8k USR Sportster (as opposed to the then already-common 33.6k - USR wouldn't fit the budget then).
I had a USR 56K V90 non-voice external modem. That thing was reliable as a tank. Never powered off, never dropped when connected. Remember guessing the download speed by looking at the blinking speed of lights on it.
Back in the day, I specifically chose an external serial (RS232, not USB) modem precisely to avoid Winmodems. I still have my V.92 Zoom somewhere, though I no longer even have a landline to use it. Somehow, I don't think anything fancier than 1200 bps would work over a VoIP connection, and even that would probably be unusable without error correction.
Dating myself here ... I ran Linux on my 386SX black and white LCD laptop (including X windows!) back in the early Slackware days 1992-1994.
It was easier to do that back then than now... :)
Oh,and a grad student friend of mine warned me in 93... "That Web stuff is addictive"... so I avoided it for another 3-6 months and stuck to FTP sites and a bit of gopher/WAIS. :)
I set up a SLIP (later replaced by PPP) gateway on a 386SX running Slackware, connected to a 14K4 modem back in 1993. It served as our company's main internet gateway until late 1995.
The title of this post really had me do a double-take. "Of course Linux can run on a 486, it's fine on a 386". Just need the right version.
Same, and I remember it was solid as a rock. Took a little while to get the Hayes modem working so it could act as dial-up ISP, but once I did, it never failed. I left it running headless in a server closet - I like to believe it's still running to this day.
Running X in 8 bits with colormap switching was fun. Now everything is 24 bits. Fractint was much cooler in 8 bits ( color cycling). Now obtaining a fractal with a limited number of distinct colors is a challenge.
This is one of the major reasons why I love Hacker News because of small side passion projects like this. At Hacker News we don't ask why, we ask why not!
I get real nervous about posting personal retrocomputing projects here to be honest :)
I just spent most of my free time in the last week trying to get the Rust compiler to run on a K6-2/500. Had a bunch of trouble because one of the newer x86 extensions (CET) chose opcodes which decode as NOPs, and therefore are considered safe to include in binaries for older processors. Unfortunately, they're only NOPs on i686 or newer, and the K6s are i586 processors. It was mind-numbing because even if you explicitly tell the compiler to output/optimize for a K6-2 or Pentium (-march=k6-2 or -march=pentium) it's still outputting the CET opcodes. You have to pass -fcf-protection=none for them to go away. Super annoying.
Benchmarking it was pretty funny, because compiling one of my personal Rust projects is about 500 times slower than my TR 1950X desktop. Compiles in 7.5 seconds on the Threadripper but takes 67 minutes on the K6-2/500. So much progress in 18 years (K6-2/500 in 1999 -> TR 1950X (4 GHz) in 2017).
This is really cool, even if you didn't post I'm glad you mentioned it in a comment. :)
I remember compiling Linux kernel on my Cyrix 486SX 25MHz (the one with a disabled-by-default L1 cache!) and it took an hour. Got it on a P60 and it was like 5 minutes.
Another one of my silly retro computing projects: https://github.com/teknoman117/m68k-fpga-bridge. I wanted to try and make an MMU for it, hence the 68010 specifically (which added some additional data to the bus error exception to allow restarting the failed instruction).
I also managed to get someone on utsource to sell me a tray of 386EX33s for like $2 a pop so eventually I can make some 386 systems. I managed to track down a few of the old IIT 3C87 FPUs that had the hardware matrix by vector multiply so I'm going to try to make some 3D renderer if I ever get around to putting it together.
I wanted to make a cycle-accurate 286 system once, just because it was such an interesting architecture. Protected mode, but 16 bit, and 16MB max RAM, but with segment:offset addressing. What's not to love about all of that?
Hardware multitasking and context switch on interrupt as well.
Admittedly I didn't live through that time period, but reading about them, they are quite interesting. It seems that the main reason they were considered "brain-dead" was because you couldn't run 8086 native and 286 native software at the same time, and backwards compatibility and interoperability started becoming something people considered very important.
Interesting enough that I went and bought a static core 286 (the 25 MHz Harris one) to play with. Since it's a static core I can run it at whatever frequency I want, even if that is only a few hertz.
I really need to get into the habit of writing about the side projects I do. It probably would help me get over documentation-block at work as well. I write it obviously, but it always feels like pulling teeth...
Few months ago, somebody did a series of live streaming events on bringing up a 486-based tablet PC (which happened to be an old voting machine) with modern linux. Kernel turned out to be the easy part. Booting grub from BIOS that doesn't support LBA addressing (CHS only) - a bit harder. Running X11 on hardware without PCI - ridiculously hard:
Indeed, Slackware still defaults to LILO/eLILO and it works perfectly fine on modern hardware, older hardware from LILO's heyday should be no issue at all.
I still hang on to a PIII based Dell Latitude laptop from 2001 and Slackware -current runs surprisingly well on it (along with BeOS 5.1 from my original disc, QNX RTOS, OpenBSD, NetBSD, and a few other obscure OSes from its generation to today).
Yes, eLILO was made for this purpose. I still prefer it to GRUB, though EFISTUB is an option as well for those who don't want or need either, as long as your particular UEFI supports it.
Swapping hard drives, yes. Slackware boots on the original Windows 98 hard drive alongside Windows, and I have two other drives. One has BeOS 5.1, the other is my test drive I use to try out other OSes (NetBSD is on it right now if I remember correctly, but it hangs during boot sometimes). PATA laptop drives are getting scarce but I do have a PATA-SD adapter lying about that works in a few OSes and I have no shortage of SD cards due to my Raspberry Pi addiction.
In 1996, as a teenager, I had a ThinkPad laptop with a 486SX, 4 MB of RAM, and a 3.5" floppy drive. There was something weird about the floppy drive in that laptop that prevented stock Linux of that time from being able to work with it. But I was determined to get Slackware installed. Back then, Linux had the UMSDOS filesystem, which implemented a POSIX-capable filesystem on top of a directory tree on a DOS partition. And there was a DOS program called loadlinn that could boot into Linux from DOS. So I first installed Slackware using UMSDOS onto the DOS partition on my mother's PC, then transferred the linux directory tree from her PC to my laptop. I don't remember if I did that transfer using floppies or a null modem cable. Finally I removed the linux directory from my mother's PC. I did all of this while the rest of my family was away from home, so they never knew.
I later learned that I could add "floppy=thinkpad" to the kernel command line to enable support for the floppy drive in my ThinkPad model. Then I got brave and resized my DOS partition, using one of the free DOS-based partitioning tools available at the time, so I could have a real Linux filesystem.
I went that route on a school PC in 1998. There was no floppy drive, so I installed a Linux distro (also Slackware, iirc) onto the Windows partition, then resized the Windows partition with Partition Magic and used the existing Linux as a bootstrap for a fresh install on its own partition. It was so incredibly magical. No one had any idea I was doing it, and I felt part of the hacker culture :) I tinkered with it for a few of months at least, and eventually was compiling my own kernels, playing with boot/swap partitions, etc. Never got X to work, though.
To add a fun story where Linux saved my live. Back in the 90‘ we had a Clipper / dBASE based DOS app used for capturing orders in a call center after TV commercials. In this case a prime TV show to generate donations. Full house with >100 agents busy. Then the Novell Netware server crashed, and was unable to mount the disks.
We managed to switch the users to an older server so they could continue to work.
But it first seemed the HDD and files got corrupted and unrecoverable by disk tools from Netware. We thought of using a commercial recovery service, but this would cause delay and cost $$$$.
So I removed the disks from Netware, fired up a Linux PC, connected the HDD to the Adaptec SCSI (Luckily install prior for a CD drive).
The file system was not mountable, but something like dd /dev/sdb1 |strings „JJJJMMDD“ discovered lots of salvage records.
Sure. It is disconnected from power 99.9% of the time. I only fire it up when required. For convenience I used a dedicated external network print server (you know, the printer is centronics only, and centronics long ago vanished for thevsake of usb on PCs). This print server consumed about 10-20 watt, much more than the printer which was actually one of the first with power saving / standby.
The print server has been replaced by an usb-2-centronics dongle recently to reduce energy consumption further.
An about 25 year old laser printer running almost flawlessly mechanically, with latest MacOS and Windows 10 OS, supporting PCL6 and PS is a thing. He is on the 3rd toner cartridge (at least 5 years old).
Only needed for rare cases of government mandated written docs like passenger locator forms.
Paper transport has been unreliable almost from day 1 based on dried up rolls and paper.
About the same era I was working on my industry year at a UK computer company. I was mostly working with the spiffy new Pentiums, but had a spare 486 machine to play with Linux. The complete SLS (I think, though it may have been Slackware) fitted nicely onto a box of 3.5" disks (50 in total?)
Downloading it was a nightmare though - there was no TCP/IP connection available to me, but I could use the X.25 based email package. Attachments weren't an option, but you could send email to a file hosting server (funet.fi perhaps?) and it would split the requested file into as many 64K UUEncoded emails as necessary in response. Reassembling them (given the clunky email software I was working with) was a distressingly manual process... but I eventually collated and copied the complete set of disk images to floppy and installed them on the lavish 100Mb drive of the 486.
I also recall the fun (?) of trying to get the right monitor sync info for the XConfig file, and the superstition of `sync; sync; sync` that must have been long out-dated by the time I actually got my hands on this machine (though I did play around a little with the boot/root disk combination before that).
I sometimes feel a pang of nostalgia for all that stuff, but you can take my 1Gb network connection, hidpi monitor, and multi-terrabyte SSDs out of my cold dead hands!
Edit: Afterthought to give a little extra perspective on when this was: Around the same time I signed up for a Beta program on some Microsoft projects and boxed copies (with manuals) of "Daytona" and "Chicago" turned up in the post!
I also ran Slackware on a 486DX. I remember it taking hours to compile a kernel.
I upgraded around 98' to a Pentium II and was blown away when I could compile a kernel in 2 minutes!
Yep, I clearly remember it took just about 8 hours to compile a kernel on a 486 with 4MB of RAM. Upgrading to 16GB was a $400 proposition at the time, but when I finally got new hardware, I was shocked to realize this whole kernel-compiling thing was supposed to take minutes.
That Gotek looks like gold. I hadn't heard of it before. The CF-IDE and SCSI-SD are super useful on their own, but the Gotek looks like it works in some places that really lack for options.
Compact Flash cards are indeed pretty useful in old PCs. One just needs to be careful to buy the "industrial" variants that present themselves as a fixed disk to the system. Some operating systems won't install to common consumer CF cards believing them to be removable disks.
A handy tool for booting from CD-ROM is Plop Boot Manager. It installs itself into the boot sector and can manage booting from the disk, CD drive, and even USB on systems that ordinarily wouldn't support it. Plus it can be configured to have a cool animated starfield background...
CF cards can operate in three modes: memory mode, PC Card/IO mode, and IDE/fixed disk mode. Since CF cards were originally a type of portable storage for cameras, etc., it makes sense for them to be treated as removable devices. One would plug it into a computer, download the files, then eject the card. The OS would like to know its removable so it can make any writes immediately and not buffer or cache them like it might do for a fixed disk.
Some cards, usually marketed as "industrial", support a fixed disk mode. This one for example can be set to fixed disk by grounding pin 9 (output enable):
+1, this has been keeping my old Thinkpad T42 running in silence for years. Great write-up about testing different CF cards on a Thinkpad X40 in 2013: https://www.daniel-boehmer.de/thinkpad-cf/
We ran our Java Users Group website in 1998 on 486SX with 16MB of RAM. It was running Slackware and website was served by Apache + JServ (this was before Tomcat existed) + MySQL. When I was sitting in the office where the "server" was located, I could hear when we had visitors - HDD was frantically swapping to switch between Apache and MySQL. It's hard to compare to the luxury we have with servers today.
I have a couple of things from bygone Linux days: a retail copy of Red Hat 5.1 (pre-RHEL), and a 6-CD InfoMagic compilation. The latter was especially handy back before cable modems came to town. I recall downloading an earlier Slackware, one floppy image at a time, over 14.4K dialup when 14.4K was fast, and it still took forever.
Apparently they meant to say "modern Linux on a 486SX" as, obviously, Linux ran just fine on a 486 back when all this stuff was new. (Mine was a 486DX/33, but with 4GB of RAM. Compiling a kernel took 8 hours, but I digress.)
Super neat! I went through the same process for some AM5x86-133 industrial computers with 32 MiB of RAM. I didn't think to change PHYSICAL_START or use musl. It's usually set at the 16 MiB mark so that the kernel doesn't consume any of the memory in the ISA DMA / ISA device zone.
One thing I would recommend that I didn't see mentioned is switching to the SLOB allocator in the kernel. It's more space efficient than SLUB or SLAB, but it is slower if you have a large amount of memory. (It's hidden unless you set CONFIG_EXPERT).
The main problem I bumped into for minifying a modern Linux kernel is that so much of the modern Linux ecosystem (systemd, OpenRC, runit, etc.) expects a lot of the networking stack to be enabled, along with cgroups, namespaces, etc. In order to get a minimal Gentoo i486 image to boot, I needed to turn a lot of things on in the tinyconfig kernel. Admittedly, it's hard to image a Linux/Unix system without some form of networking :)
This evoked fond memories of the first time Linux boots up with X11 (startx&) after installing SLS twice from 50 3.5" disks (the first round saw one disk cause a read error necessitating another trip to the nearest university).
Ran like a breeze on a 486DX-33 with 4 MB RAM, xeyes and all. Hard to be believe at the time - a UNIX in my own room! :-O
Of course it can, 486s were common in Linux's early heyday. During my senior year of high school and freshman year of college ('97-'99) I ran Debian Slink on an IBM 486SX. X ran a little slow on it so I used it in console only mode. I mostly used it to do compsci homework. Before I settled on Debian full-time (still using it to this day) I used Red Hat, I think v5 (the original numbering, before RHEL). And before that probably Slackware on floppies. I eventually got an AMD K6-2 which ran a lot faster...
Of course, this article is about running modern Linux, but Debian Slink is still there to download and install and I'm sure it works just peachy.
The section on configuring the kernel really gives me nostalgia as I used to build my own kernels back then, something I haven't done in years.
I ran a 486 as an internal web server in the law office I worked at in the early 2000s. Don't remember any of the system details, but it ran very nicely until at least 2006.
It's pretty cool to get an up-to-date Linux working on such old hardware but I get the impression this kind of thing is going to get harder to do with the major distributions dropping support for 32 bit x86. I've been using NetBSD with older hardware.
Most distributions already don't support a 486 anymore. For example, Debian dropped support for Pentium with Stretch (2017). And support for 486 was dropped in Jessie (2015). 386 support was dropped with Sarge (2005).
As far as i know slackware will not boot on a 486 since some time (14.0 ?) because the kernel or glibc is compiled using instructions for later processors.
It's more about whether the kernel retains support for 486. I wonder how many people are still using the platform actively? Or is it just hobbyists at this stage. If no-one is using it I think the kernel devs would drop support. Though perhaps Linus has a soft spot for old x86s specifically :-)
AIUI, the Linux kernel only dropped 386 because it was getting unworkable to maintain the SMP code for it. Perhaps support could be reintroduced, limited to single-core machines (no SMP support in the kernel configuration) only. Of course it would mostly be useful as a proof of concept, but the 386 is a very well-understood architecture nowadays so that would definitely have some merit.
I just remembered compiling an early 2.0.xx kernel on an old 386DX AT&T server that was given to me when I was a teenager in the 90s. It spent hours doing it and I loved watching gcc take several seconds to compile each file! I also recall that the hard drive in that thing must have weighed at least 40lbs. Those were fun days!
Yeach. Yeah I had two of those when they were being thrown out. MCA was a really horrible bus between ISA and PCI. I recall it not wanting to boot unless you installed drivers for all your cards into the BIOS, or something.
So not only did your OS need drivers, but your BIOS did too.
I may misremember.
Compiling the kernel was basically an overnight operation, IIRC.
But yeah they were built like tanks. Even the power switch felt like you were turning the power back on to the fences in Jurassic Park.
For me, on my 386DX 24Mhz with 8MiB RAM, it took about 20minutes late 92 or early 93 (SLS 1.0 -- pre 1.0 kernel), but I had to leave X11, as otherwise the machine would swap to death.
That may have been later, thus with a bigger kernel, but on older hardware. It was probably 386 and 486s back in maybe 2.0/2.2 kernel era.
For the specific machines in question I set up some sort of RAID0 between two 60MB SCSI drives, to be able to do much.
The reason I say overnight may be because I had machines with specs like that a few years later than you. I did run Linux to some extent since 1994 (Slackware 2.0), but don't remember the kernel compiling aspects of back then at all.
But it's a good point. I was not comparing latest kernel to latest (or even necessarily median) kernel at the time.
This is really nice. I once got a hold of an old Pentium when I had just started work and wanted to get Linux to work on it. It had 3.5" drives and no CD drive. I used https://en.wikipedia.org/wiki/MuLinux and got a basic system working without much hassle. I believe it even had a minimal X server running with twm or something. Enough to work on.
I still maintain that after hardware ages a little, Linux (and perhaps other free operating systems and distros) are the only way to give a soul to the machine.
In ~2006 I was gifted a 486 desktop by my neighbour, it was a Mitac 486 running Windows 3.1 and DOS. It came with a matching VGA monitor. It had a floppy drive, 160MB hard disk and DIN keyboard. The mouse was fitted to a serial port. There was no sound card; sound was achieved by a driver that somehow bunged PCM through the PC speaker.
Unfortunately it didn't survive a household clear out 3 years later, and that fills me with regret. Maybe I could've been trying my own projects on it now. I always liked the relative simplicity of the OS and hardware.
Ah, those were the days. There is a long list of dmesg outputs from linux on many old systems, while not as old as the 486, there is an AMD K6/2... and sparcs!
I remember when Linux finally got "good enough" in the early 90s and I switched from SCO Xenix and SCO Unix to Linux. Many people ran Linux on 486 machines. Other than the nostalgia of seeing the old boot loaders and boot screens, there's nothing special about this "feat"
> Many people ran Linux on 486 machines. Other than the nostalgia of seeing the old boot loaders and boot screens, there's nothing special about this "feat"
Many people ran Windows on 486. But it was Windows 3.x, or 95 at most. If you managed to get Windows 10 to boot on one, surely that would be a feat...
That’s how I started out running Linux! Downloading a bunch of floppies from a BBS over a 16.8k USR HST modem. It was like a magical world when I first installed it. I also had a giant paper book that explained how to use it. For some reason the vi instructions in the book baffled me, but emacs seemed normal.
Six months later I finally got the disks for X11. My mind was blown. Real multitasking - not like DESQView or OS/2.
The paper book you had reminds me of the very thick stack of printed papers that is the Gentoo installation guide circa 2005. It was my first foray into Linux and I, for macho reasons, went with Gentoo.
I think I gave up after a day, tried Fedora, and settled on Ubuntu.
Even though I was installing from HDD (dual boot, as I recall), I had to download disksets at 14.4kbps. I remember setting a kitchen timer for 14 minutes for each ZModem xfer.
os/2 was preemptive but had that single message queue so some people shrug it off - pretty common issue with computers prior to multi core systems.
i ran a bbs on os2 and it was awesome. IBM sponsored my bbs as teamos2 and mustang software sent me wildcat! and i was the first bbs in houston to offer linux for download
My first job at computer store in high school I worked without pay initially just to get parts to build a 486-DX with it wonderful floating point unit so I could finally play Falcon 3.0 properly.
That same job taught me networking (Novell) and got me programming business apps in MS Access and the rest is history.
Unfortunately I didn't get into Linux until much later.
It's amazing how few resources a Linux (or BSD) server requires. I have a twenty year old desktop machine (quality Fujitsu Siemens hardware but nothing unusal) reimaged as a storage/playground server and it's just fast enough. Can also handle some 18 TB storage.
I really wish I didn't give away the Dell 316LT I came across a number of years ago (~2008?) at a swap meet. I had the whole kit - 386SX16, 8 MB of RAM, extra screens, the manuals, an external 5.25" drive, and all the diagnostic disks. But, my parents were moving us from a large house in Alabama to a small apartment in California and we didn't have the space for most of my parts (cough e-waste cough) collection.
Teenage me had no idea what to do with it. I didn't know how to compile a Linux kernel from source, at that point I'd barely started moving beyond Atmel AVRs and Java on LEGO Mindstorms.
My first x86 machine (after running a 68000 Atari ST for years before) was a 486DX50 and I ran the first versions of Linux (pre-ELF), 1993ish, installing off floppy, downloaded via 9600 baud modem. Dual booted with Windows 3.1 and DOS.
It's nice to see recent kernel versions can still work fairly well on this hardware. I don't recall my boot times being as long as 50s though. But who knows, it was a different time and expectations were different. I had 8MB RAM and a 200MB drive and while there was swapping, I was able to run X11, emacs, Mosaic (and then Netscape), and some terminals without serious problems.
This post makes me want to roll my own Linux kernel again. I used to build vanilla kernels on Slackware (2.2.x!) and then Gentoo a /long/ time ago as well as modify stock Debian kernels to remove stuff I didn't need and tweak some knobs as of just a few years ago.
I feel like it's almost required to page through the various dialogs in menuconfig periodically in order to stay current when it comes to modern hardware and how it can interact with the OS.
I think running a vintage DOS system is popular because there is a lot of DOS games. Linux doesn't have as much hardware/OS-dependent nostalgic software.
A 486 can handle X just fine. 486's were our main X11 desktop machines at the office in the mid 90's (it has been the year of Linux on the desktop for me since 1995). The challenge is more that most modern X clients won't play well with a slow, memory constrained machine.
> A 486 can handle X just fine. 486's were our main X11 desktop machines at the office in the mid 90's (it has been the year of Linux on the desktop for me since 1995). The challenge is more that most modern X clients won't play well with a slow, memory constrained machine.
I remember when X switched from monolithic server to modular one. I had to buy new GPU because S3 I had wasn't supported. I have bought ATI.
Linux taught me about computers and it taught me about politics. I worked at a university where the demand for Internet far exceeded the capabilities of the network. While a filtering bridge may reduce broadcast storms to an acceptable level, it also permitted the administration to delay much needed upgrades.
Wow, this is exactly the same type of computer (all-in-one Compaq Presario 486) that I first installed Linux on. Slackware 3.x, if I recall correctly, disk images downloaded at 14.4kbps and loaded onto every spare floppy I could find. I don't think I even got X11 going because that was a lot more disks!
I did something similar with a Compaq Contura 4/25c about 15-20 years ago. It had 8 Mb RAM so I was able to install Slackware 3.9 (IIRC) via floppies with a standalone X session running Netscape. Later I put Win 95c on it (again, via floppies) which ran fairly well.
I still have my Contura in a box in a closet. Along with a PCMCIA network card, the docking station and the 20MB RAM upgrade. Used it up until ~2010 when I got a similarly tiny and inexpensive EeePC. Was a nice small, cheap system that worked well enough as a dumb serial/telnet/ssh terminal for network management tasks. It was only a little bit slow to start an SSH session. Even started up fast with Linux or FreeBSD. OpenBSD was rather slow to boot.
I didn't have much reason to bother with X11. Text utilities always got the job done, including for web browsing needs thanks to links.
makes me remember when i installed slackware 1.0 on the family's 386 when my dad bought a fresh 486dx. ah the joy of getting an X server running and recompiling kernel!!
Technically Linux could once upon a time run on a 386, but because the kernel is a non-modular spaghetti-code mess, they had to deprecate 386 support to fix something else. It's only a matter of time before 486 is gone too.
I like the potential your comment has even though it's wrong on every point, it is interesting to go back and understand why 386 support was removed.
Since the days of 386 support, the kernel has only become much more modular and portable. It quite possibly supports more platforms and CPU architectures and families than any other OS ever written. Almost certainly true if you restrict it to a multitasking >= 32-bit OS with memory protection and virtual memory.
Many architectures and ports that have been removed or not merged were not due to being technically incapable of supporting the port but due to lack of interest.
If 486 support goes away, it won't be because suddenly the code has become unmaintainable after being fine for 25 years since the 486 was obsolete! It will because nobody has a machine to test or verify fixes on (although QEMU has improved this situation), or because the kernel or the x86 port decides to adopt a new feature which is more difficult to implement older CPUs (cmpxchg8b as another post mentioned).
So your post is totally misinformed and wrong. So with that out of the way here is the 386 removal changeset:
Net code change is fewer than 400 lines removed, much of it in boilerplate and config options changing.
"This tree removes ancient-386-CPUs support [which] plagued us with extra work whenever we wanted to change SMP primitives, for years."
There were no issues with spaghetti. They can and did maintain it just fine for many years. It was not removed to fix a bug, it was removed for lack of interest in doing the work to maintain it. And the extra work was not because of spaghetti it was because it required independent implementations of SMP primitives. As you see from the code change it was likely not the code itself that was the headache, but the testing of it.
> Technically Linux could once upon a time run on a 386
That's a really strange way to phrase it too. A 386 was the very first thing Linux was written to run on. There is no "technically" about it.
Ah I see, my instincts were wrong. Usually the complexity of the kernel is the root cause of problems. In this case, the rate of churn is the problem. Kernel devs want to change SMP primitives frequently, and having to go back and think about the 386 paradigm is a barrier to that goal. CPU manufacturers want to ensure that Linux uses their CPUs at maximum efficiency, so SMT primitive tweaking is a fact of life.