4MB Laptop How-To: How to put a “grown-up” Linux on a small-spec laptop (2000)

  • I used Linux on a Toshiba T1900C (20Mhz 486SX, 4MB/170MB) [1]. I started with SLS [2], later moved to Slackware 3.0. SLS was installed through floppies which I pulled from tape on an RS/6000 7012-32T, marking the transition from 'real but expensive unix' to Linux in one fell swoop. X was a bit sluggish on the thing but for the rest it was quite usable.

    Using Linux in this early age had advantages but it also came with some risks. Not risks to me as a Linux user but risks to those exposed to things I produced. I managed to create a CD which was distributed with a magazine I was editor for in that period. The CD worked fine on Linux, it worked fine on OS/2 - the other system I used when not on Linux - but it failed miserably on Windows 3.1x due to the use of lower-case filenames. This was... unfortunate... as that CD had already been pressed, what to do? I ended up solving the conundrum by distributing a tailored version of MSCDEX [3] which could handle these files, affected users could order a floppy free of charge.

    [1] http://www.computinghistory.org.uk/det/13145/Toshiba-T1900C/

    [2] https://github.com/rdebath/SLS-1.02

    [3] https://en.wikipedia.org/wiki/MSCDEX

  • If you're into running GNU/Linux on older hardware, I can't recommend kmandla's blog[0] (abandoned since 2015, also skip the last post to go to the juicy bits) and Inconsolation[1] (by the same guy, abandoned since 2015 too) enough.

    [0] https://kmandla.wordpress.com/

    [1] https://inconsolation.wordpress.com/

  • I installed Debian on my Libretto 30 ( https://en.wikipedia.org/wiki/Toshiba_Libretto - AMD 586 DX4 100 MHz, 8 MB RAM) some time in 2000. It worked pretty well - PCMCIA networking, X11 and so on. I think I used the installation technique of removing the hard disk and pre-loading Linux onto it. The machine was of course far too small to have a floppy or CD drive, and predated USB.

    (I also kept the Win95 partition)

    Given sufficient interest I'm sure I could produce pictures.

  • https://sourceforge.net/projects/mulinux/ is still around, but was last updated in 2014.

  • Circa 2000 I was using a Compaq Contura 4/25cx laptop with Debian Slink, 2.0.36 kernel. It had a 486 at 25 MHz and 4 MB RAM. I also got a parallel port Ethernet adapter from the same dumpster dive. Even with Slink installing with 4 MB RAM required some special care. My notes from the time say it took one and a half minutes to boot.

    There existed a driver in XFree86 for the funky Compaq AVGA graphics so I could use X, but the limited RAM made it impossibly slow to run any kind of desktop environment or even a window manager.

    The setup I used on it was the zed text editor in one text console, shell for running LaTeX in another console and the gv Postscript viewer without a window manager running on a X screen. I wrote quite a lot of lab reports that way.

    Documentation about that setup was one of the first web pages I made:

    https://www.tablix.org/~avian/contura/

  • this is cool and all, for historical purposes. But for modern "small spec" the i386 distribution of debian, no xorg or desktop manager is probably the smallest usable distribution that has a full set of packages and will run on an ancient machine. Any old laptop that has 128MB of RAM should be capable. One of the issues you might run into is that the only way to do the install is via a burned 700MB CD-R of the ISO, and very few people actually keep CD-R media around or CD burners anymore.

  • Reminds me of using loadlin to boostrap linux from DOS because the internal CDROM didn't support boot and I didn't have the external floppy drive, and since DOS would be overwritten it would have required removing the HDD if the installation failed.

    The trickiest part was getting DOS/Windows back with a custom bootable CD after I realized how slow it was with a full linux distribution.

  • My Pentium 100 MHz and 16MB RAM running Slackware Linux was the envy of the lab in 1995.

  • Today I use Buildroot for all my tiny Linux needs.

    Still, it's tough to fit in 256MB with a modern kernel and Xorg.

  • Wow, this is from a different world! When this was published, the 2.4 kernel was just a twinkle in Linus' eye--the 2.4 kernel that Damn Small Linux would later stake itself to when it boldly declared that it would never switch to 2.6 because it was just too big.

  • While not smaller than this, the smallest (and my first distro) linux install I ever did was on a Compaq 386/SLT laptop (luggable?) that had 6 MB of RAM...

    ...why such a weird amount of RAM? Well, when I bought the laptop used its battery (NiCad) was dead, dead, dead - and I didn't have the money to have it properly re-built. So instead, I built my own. I scrounged a bunch of old but usable AA cell NiCad packs from cordless phones (remember those?) and soldered up my own pack, and wrapped it in a bunch of layers of electrical tape. Unfortunately, it didn't fit into the battery compartment completely...

    One end was being blocked by the memory! I found that by cutting the battery pack area larger, and removing one stick of RAM (the laptop had 8 MB of RAM originally - 4 x 2 MB SIMMs) - it would fit and still boot - so that's what I did.

    The laptop originally ran DOS. My first mod was to install Caldera's OpenDOS (a great version of DOS for the time, btw). Then I found and installed...Monkey Linux. This was an interesting "cut down" but fairly full-feature linux distro. It's crazy claim to fame was using the DOS filesystem for itself, instead of it having its own filesystem:

    http://projectdevolve.tripod.com/

  • The kernel alone on my laptop is larger than 4mb, and that doesn't include the initrd (though the article talks about that)

    -rw------- 1 root root 7.3M May 17 16:13 vmlinuz-4.10.0-22-generic

  • Good old days. I remember trying to shoehorn Slackware onto an IBM PS/2 m55 with 2.9mb RAM. Unluckily for me, it was an MCA system with an ESDI disk, with the MCA support very experimental, and I ended using a parport ZIP100 to help with a minimal install. One day I got back from school and some dude from one of the Usenet groups called me on my land line asking for the steps.

  • For my museum I have Linux (and Minix) running on some pretty old stuff. Workstations & servers (Sun/SGI/HP) still run fine with Linux/Unix on them; those laptops are quite painful if you use X.

    I was running Slackware mid '90s and I remember beating my head on the table how slow it was compared to the Sun machines I used in uni with running X. But it beat Win3.1/95 already in my humble opinion so I stuck with it until now (although changed to Debian and then Ubuntu recently). Still allows me to, for most dev, to use laptops from 6-7 years old (my goto dev laptop is a Lenovo X220 from 2011 ; I bought a big stack for almost nothing last year and they are excellent).

  • If it was built for 486SX, you could probably run stock NetBSD decently on this system with performance not much different from when the system was new.

    Edit: Looks like you would be able to do a customized low-memory/disk install of NetBSD 7.1 on these systems if they had an FPU (either a full 80486 or an 80487 coprocessor). With 32MB RAM and 250MB disk in addition to the FPU, you wouldn't even need to do a customized install.

  • To think that the RAM in the smallest system I have used in my life is 256MB (somewhere in 2005 and in Windows 98 and 40GB HD) and that people used to run entire PCs in less. Feels unreal (just like people talking about 4K memory as state of the art decades ago). Nowadays people are indifferent to Memory sizes as they just keep increasing every year.

  • I went to check the *BSDs and even OpenBSD needs 32mb of RAM for the 386 port. FreeBSD needs a whopping 96mb!

  • In 2000, someone gave me an old 386 laptop, 640x480 grayscale VGA screen, probably 100MB HD, don't remember the RAM (2 or 4 MB), no ethernet. I had to find an old-for-the-time Slackware to run on it, but I got it set up, with a null-modem cable to the serial port on my desktop, and was able to use it as an X terminal. Mostly only simple Xlib apps like XTerm and XClock, but I think I may have displayed Netscape remotely on it a few times.

  • 4MB is overkill. What about 640K RAM on a 8088? http://elks.sourceforge.net/

  • I recently switched to openSUSE from a Debian based background. I gotta say I've never been happier. My hardware (HP x360 2-in-1 with intel i3-6100u) is supported where I had to fiddle with some configurations in Ubuntu just to get the wifi going. It's so much faster than Windows and Ubuntu, and easy on development. Highly recommend for users looking for something slightly more advanced than Ubuntu or Debian.

  • My first Linux box was a 386SX laptop with 3 megs of RAM and a 50 meg HD, back in 1993 or so. I started with SLS Linux, running kernel 0.99.10. Later, I got a 486DX (100 mhz) and moved up to Slackware. Fun times!

  • While we're at it, I grabbed a grid laptop (not the compass), an actual 386 based machine, is there anything recent I can run on that ? or should I just write a asm monitor and bootstrap emacs from there ?

  • Just for comparison os/2 v2.1 requires 386sx 4mb ram and 20-40mb disk space according to the box.

  • I ran Delphi 1 IDE on such thing, long long time ago :)

  • Oh the good old days

  • why bother? by the time you get it running the way you want you will be hit by the 2038 bug. /rimshot