Modern Linux in an ancient PC
yeokhengmeng.com
yeokhengmeng.com
However i wonder if it would be faster if you went with a Linux From Scratch-like approach and used some lightweight init system and only installed minimal stuff - perhaps replacing the some of the more heavyweight GNU tools with alternatives from suckless [1].
I built an LFS back around 2002 when I was in University and used it for over a semester and a half. It made me appreciate package management. :-P
I use Gentoo myself these days, which is pretty much LFS + package management.
Doesn't it have a serial or parallel port?
Maybe something like: https://www.amazon.com/PCMCIA-Compact-Flash-Type-Adapter/dp/... could work?
As far as I can figure out, it should be possible to copy files directly over a serial cable (to/from COM1 on dos, /dev/ttyS0 on Linux).
But for sanity, being able to fix a non-booting disk is recommended, so I'd probably try with a second-hand pcmcia hd, usb adapter or something like the above.
I also learned Ms dos comes with INTERLNK.EXE and INTERSVR.EXE - but I wasn't able to figure out if there's a sane way to talk to that from Linux.
But it first needs a working system installed. I never tried it (actually I did the opposite), but it should be possible to install a minimal system on a similar spec-ed virtual machine, then write the created disk image into a physical disk, stick it into the laptop and boot it.
Now that I think of it, there are on Ebay floppy "emulators" which offer a compatible floppy drive interface to the system but use flash memories as storage. They're made in slightly different versions to be compatible with different systems, including home computers and musical instruments. Might be a solution to a fast install through floppies without actually using floppies. Also there are ATA to compact flash converters which are even cheaper because the two ports are about 100% compatible. I used the latter years ago to put a firewall (pfSense IIRC) compact flash into a small PC which had only ATA ports. Booted from it and worked without problems.
Maybe the slow startup times from the article are swap-related. Shutdown taking five minutes is a dead give away.
Ultimately you don't really need anything initialized to have a working system.
Detailed install instructions: https://github.com/yeokm1/gentoo-on-486
(Disclosure: I'm one of the organisers.)
The second thing I found was that all modern browsers literally consumed all resources on the computer making laptop unusable. I tried Netsurf which was fine on sites on which it worked. In the end I have found is best to use text based browsers. I use links2.
A barebones debian installation should be using < 50Mb at boot, so a custom gentoo could be <40Mb
For comparison, my first Linux box (a 386SX, 20 mhz) had only 4 megs of RAM.
Everything run great back then!
Software has gotten much bigger...
I had a 486 with 16 megs of RAM and was able to browse the web (Netscape 1.0!), compile kernels, and have something like 8 people logged in remotely checking email.
Reference: https://gist.github.com/ErikAugust/724d4a969fb2c6ae1bbd7b2a9...
Potential patch: https://gist.github.com/ErikAugust/724d4a969fb2c6ae1bbd7b2a9...
Source 1: https://books.google.com.sg/books?id=MLJClvCYh34C&pg=PA122&l...
Source 2: https://books.google.com.sg/books?id=QzsEAAAAMBAJ&pg=PA59&lp...
That is hilarious.
There appear to be no decent photos of this thing on the internet, btw.
(The GCT would be a lot more appealing if the LCD display was better, but it's DSTN and pretty horrible compared to modern displays).
https://www.intel.com/content/dam/support/us/en/documents/pr...
...with this:
https://en.wikipedia.org/wiki/File:80486DX2_arch.svg
A lot of the text in the PDF above was copy-pasted from the 486 doc too.
Probably Yes and no for the rest. The fact that Git, Python 3, SSH and nginx worked fairly ok implied they probably did some testing too.
Or it's a simple side effect of them being portable software. Since the same code has to work on very different ISAs like 32-bit x86 and 32-bit ARM, any architecture-specific code has to be cleanly separated, with a portable fallback. As long as the compiler can still target the "486" architecture, they'll work.
It's a different story with anything which depends on lower-level platform details, like the kernel or glibc's pthread.
No disagreement. But so far I did not encounter any issues with other parts of Linux other than the kernel. So the rest of the stack seems to do quite well.
Butthurt Apple fanboys can't stand my comment?
HN is such a joke with these people.
I, too, have a soft spot for old hardware, so this makes me smile!
(Edit: mine was just a 486/DX66 though. After that I got a PII-333Mhz).
i was downloading that on a stack of floppy disks
When the Pentium first came out a 486 DX2 was just about equivalent for most purposes. Many people ran linux on the 486 in those days, building the software on the host, and nobody would have tolerated 11 minute boot times. And again, I'm running modern linux on a Geode and it's not anywhere near that slow.
If you watch the video, it gets past the kernel boot stage in under a minute. OpenRC seems to be stalling for a bit on calculating/caching dependencies. That really shouldn't take that long. I wonder how many services he has enabled or if there's some regression introduced there.
Then it takes forever to mount certain things like shared memory, cgroups, SELinux, etc.
Granted I didn't have cgroups, SELinux or most of this stuff back when I ran Gentoo on that PPC. I kinda wish my dad hadn't thrown it out. I wonder what it would be like to put modern Gentoo on it. I wonder if I'd get similar slowdown.
If you tweeked this init system, or ran a more embedded distribution, the boot time would only be about a minute.
I did a disk speed test with "dd if=/dev/zero of=/tmp/output bs=8k count=2k"
I only got 720KB/s.
I'd recommend trying bs=256k, which is what Linux is optimized for FWIW. 8k may induce overhead, but I can't say for sure how much of a difference 256k would make.
I just briefly poked eBay to find out the price of ISA disk controllers, and found a reasonable number of options within the <$30 bracket. https://www.ebay.com/b/ISA-Internal-Disk-Controllers-RAID-Ca...
The nice thing is that Linux will (almost certainly?) have no problem no matter what card you buy, so the question is what the fastest chipset is.
I also just found https://wiki.68kmla.org/SCSI_hard_disk_replacement_options#I... which may prove relevant.
Actually won't the ISA controllers be even slower? I'm not sure what bus the PATA controllers on this PC are connected to but isn't it connected "natively" so to speak? It might even compete for bandwidth with the sound and network card.
Don't quote me, but I think the onboard PATA controller is connected via ISA as well.
In this case, there probably won't be any benefit of having additional ISA controller cards.
What I wonder is whether the onboard chipset is slower than the ISA bus - and whether using an external card would eke out a tiny bit more performance.
Apparently the ISA bus can stably run at up to 8MHz.
It's not on-point but I found this thread that discussed SCSI controllers that was kind of interesting: http://www.vogons.org/viewtopic.php?t=36001
This project is really awesome btw.
I'm moderately confident that extremely aggressive optimization could whittle this boot time down further.
Speed wise, I believe further optimisation is possible given time. However the point of my post is to show the possibility.