There was a time when booting Linux from a floppy disk was the norm, but of course, those days are long gone. Even if you still had a working 3.5 inch drive, surely the size of the modern kernel alone would far exceed the 1.44 MB capacity of the disks, to say nothing of all the support software required to create a usable operating system. Well that’s what we thought, anyway.
But then [Krzysztof Krystian Jankowski] dropped Floppinux, a live Linux OS that boots from just a single floppy. There’s even a few hundred KB left over on the disk, allowing the user to tuck a few of their own programs and scripts onboard before booting it up. But most impressively, the project doesn’t rely on ancient software releases like so many other embedded systems do. Every component of Floppinux is pulled directly from the cutting edge, including version 5.13.0-rc2 of the Linux kernel which is literally just a few days old.
Of course some concessions had to made in order cram the latest Linux kernel and build of BusyBox into slightly north of 1 MB, so Floppinux certainly isn’t what anyone would call a daily driver. The kernel is stripped down the absolute minimum, and is targeted for the decidedly poky i486. [Krzysztof] had to be very selective about which programs actually made the cut as well, so once the system is booted, there’s not a whole lot you can do with it outside of writing some shell scripts. But then, that was sort of the goal to begin with.
If you’re wondering how [Krzysztof] pulled it off, you don’t have to. He walks you though the entire process, down to the commands he used to do everything from pull down and compile the source code to creating the final disk image. Even if you don’t own a floppy drive, it’s well worth following his guide and booting the image up in QEMU just to say you’ve officially built a Linux system from scratch. It’s good for more than just bragging rights; learning how all the components of a minimal install like this fits together will no doubt come in handy the next time you find yourself poking around inside an embedded Linux device.
PC-104 is a standard computer form factor that most people outside of industrial settings probably haven’t seen before. It’s essentially an Intel 486 processor with lots of support for standards that have long since disappeared from most computers, but this makes it great for two things: controlling old industrial equipment and running classic DOS games on native hardware. For the latter, we turn once again to [The Rasteri] who is improving on his previous build with an even smaller DOS gaming rig, this time based on a platform even more diminutive than PC-104.
The key of a build like this is that it needs native support for the long-obsolete ISA bus to be able to interface with a SoundBlaster card, a gold standard for video games of the era. This smaller computer still has this functionality in a smaller package, but with some major improvements. First, it has a floating point unit so it can run games like Quake. It’s also much faster than the PC-104 system and uses less power. Finally, it fits in an even smaller case.
The build goes well beyond simply running software on a SoM computer. [The Rasteri] also custom built an interface board for this project, complete with all of the necessary ports and an ISA sound chip, all while keeping size down to a minimum. The new build also lets him give the build a better name than the old one (although he phrases this upgrade slightly differently), and will also let him expand some features in the future as well. Be sure to check out that first build if you’re new to this saga, too.
The x86 processor family is for the time being, the most ubiquitous type of processor in the PC world, and has been since the 1980s when the IBM PC came on the scene. Emulating these older devices is easy enough if you want to play an old LucasArts game or experience Windows 3.1 again, but the true experience is found on original hardware. And, thanks to industrial equipment compatibility needs, you can build a brand new 486 machine with new hardware that will run this retro software as though it was new itself.
[The Rasteri] masterminded this build which is reminiscent of the NES classic and other nostalgic console re-releases. It’s based on the PC/104 standard which was introduced in the early 90s, mostly for industrial controls applications. The platform is remarkably small, and the board chosen for this build hosts a 486 processor running at 300 MHz. It has on-board VGA-compatible graphics but no Sound Blaster card, so he designed and built his own ISA-compatible sound card that fits in the PC/104’s available expansion port.
After adding some more tiny peripherals to the build and installing it in a custom case, [The Rasteri] has a working DOS machine on new, bare-metal 486 hardware which can play DOOM as it was originally intended. It can also run early versions of Windows to play games from the Microsoft Entertainment Pack if you feel like being eaten by a snow monster while skiing. [The Rasteri] is no stranger to intense retro computing like this either, as he was the one who got DOOM to run on original NES hardware.
If you have ever studied the early history of the GNU/Linux operating system in its many forms, you’ll have read that [Linus Torvalds] developed his first kernel for his Intel 386-based computer. Though the 386 architecture is now ancient, the current Linux kernel can still be compiled for it and many distributions still maintain an i386 branch to provide broad compatibility for later machines able to run i386 code. But what if you were to take a current Linux kernel and stick it on a floppy in a machine from the early 1990s, with meagre RAM? [Fozztex] did just that, with not a 386 but a 486, sporting what would have been an impressive for the time 36MB of RAM. You can watch it in action in the video below the break.
A recent Linux kernel is rarely if ever compiled for something as small as a floppy disk, so getting one to boot from such ancient media appeared to be a challenge. It was possible though with the tinyconfig make option, and after finding a small enough root filesystem courtesy of Aboriginal Linux, a bootable floppy was created. It’s not entirely useful and its sole purpose was to see whether Linux could see a large hard drive on the 486, but it’s still a version 5.6 Linux kernel booting from floppy on an ancient computer. Never complain that your Raspberry Pi Zero is slow again, we’ve come a long way!
It’s fair to say that Moore’s Law is not delivering on its promise of advancing semiconductor capabilities as fast as it used to, as the limits of current fabrication techniques are being met. Where this is being written for example there are two laptops, one from the last year and one that is 11 years old, and while the new one is undeniably faster it has not overtaken the other by as much as a ten year gap between 1990s machines would have revealed.
So with older laptops being still so relatively quick, what possible attraction could there be for working on a machine from the 1990s, when the Moore’s Law curve was steeper? It’s something [Jim W] is doing, with his HP Internet Advisor (J2522B), and when you see the machine in question perhaps you’ll understand why. The J2522B is a laptop, but it’s no ordinary ’90s road warrior’s status symbol. This 486-powered beast is a piece of test equipment, specifically one for examining Ethernet ports, thus it’s built like a tank and is mains powered only. It boasts a 486DX4, 16 MB of memory, a then-colossal 1.3 GB hard drive, and an ISA Fast Ethernet card. Oh, and WIndows 95, which with a couple of decades’ hindsight seems an amusing choice to power a piece of security test equipment. Impressive specs for the day, but the $20,000 price tag would still have been steep compared to a comparable laptop.
[Jim]’s machine is destined for classic gaming, though with only the little HP pop-out mouse you saw on their Omnibook range at the time, he needed a PS/2 port. Some chipset hunting found that, but at the cost of accidentally frying a MOSFET when a screen connector was incorrectly re-inserted. We’re then treated to a guide to substituting older MOSFETs with modern parts, useful in itself, but followed by a marvelous piece of bodge work as an SOIC-8 part is placed on a DPAK footprint.
This is an interesting series of posts, partly from a retro angle as they deal with an interesting machine, but also from a hacking angle as he’s getting closer to the vintage PC hardware than most of us to. Keep an eye on it, there is sure to be more in the pipeline.
[Yeo Kheng Meng] had a question: what is the oldest x86 processor that is still supported by a modern Linux kernel? Furthermore, is it actually possible to use modern software with this processor? It’s a question that surely involves experimentation, staring into the bluescreen abyss of BIOS configurations, and compiling your own kernel. Considering Linux dropped support for the 386 in 2012, the obvious answer is a 486. This supposition was tested, and the results are fantastic. You can, indeed, install a modern Linux on an ancient desktop.
This project got its start last month at a Super Silly Hackathon where [Yeo] and [Hui Jing] installed Damn Small Linux on an ancient IBM PS/1 desktop of 1993 vintage. The hardware consists of an AMD 486 clone running at 133MHz, 64 MB of RAM, a 48x IDE CDROM drive (wow!), a floppy emulator, a Sound Blaster, 10Mbps Ethernet card, and a CompactFlash to IDE adapter. By any account, this is a pimped-out rig for 1993 that would have cost more than a car at the time. The hardware works, but can you run a modern Linux kernel on it?
[Yeo] decided to install the Gentoo x86 minimal installation, but sanity and time constraints meant compiling a kernel on a 486 wasn’t happening. That was done on a modern Thinkpad after partitioning all the drives, verifying all the compilation parameters, and configuring the kernel itself. The bootloader is LILO (Grub2 didn’t work), but for the most part, this is entirely modern software running on a 25-year-old machine. The step-by-step instructions for becoming a /g/entooman on a 486 are available on GitHub.
The entire (boring) boot process can be seen in the video below. One interesting application of this build is that the 486 does not support out-of-order execution, making this completely safe from Meltdown and Spectre attacks. It’s an impressive retrocomputing achievement that right now could not be more timely.
In a hacker version of Jumanji, when [fiberbundle]’s parents divorced, his thrice-fugitive new stepfather took him to a remote location in Australia without any access to technology or the outside world. With him he brought an old 486, a gift from his real dad. Lest the police discover them, [fiberbundle] was forbidden contact from most of society and even restricted in the books he was allowed to read.
The boy spent years trying to get the most he could out of his two-generations-old PC. Using only two textbooks from a decade and a half earlier, DOS 6.0, and QBasic he managed to write his own shell dubbed OSCI (pronounced “Aussie”), a ray-caster 3d engine and lots more. No mentors, no Internet. The computers at school were even more outdated Power Macs.
Eventually life returned him to civilization to be mindblown by modern technology 1000x as powerful. He went from playing text-based adventures he had to write for himself, to seeing Crysis. From QBasic to C++. From ASCII art “shooters” to Half-Life 2. From a 486 to a 4-core CPU. From a rural library to Wikipedia.
Follow the link above to see screens of his projects over the years. As of yet no one has verified the story, but, even if only that it is worth a read.