Hate UML?

Draw sequence diagrams in seconds.
http://www.websequencediagrams.com

Installing the Latest Debian on an Ancient Laptop
Posted on: 2007-05-19 16:09:36

The challenge: Install Linux on a really old laptop. The catch: It has only 32 MB of RAM, no network ports, no CD-ROM, and the floppy drive makes creaking noises. Is it possible? Yes. Is it easy? No. Is is useful? Maybe...

Motivation

Why? Like mountain climbers say: because it's there. As an environmental nut, I don't like to throw away things that still work. But I have a PCMCIA network card and I would rather not have to hunt down and install 10 year old drivers to get it to work with Windows 95. The latest Linux definitely supports more hardware out of the box than Windows 95.

The Laptop

I don't know very much about this laptop. I recall that the system information utility in Windows 95 is "MSD" or "MSDIAG", but either didn't exist in this installation, or my memory is faulty and I was typing the wrong command.

The only thing I do know is that it has 32 MB of RAM, integrated stereo sound and modem, no network card, and no CDROM drive. When it boots, there is no obvious way to enter the BIOS utility. I tried DEL, F8, etc but I figure it doesn't have one.

Ubuntu's Tragic Failure

I tried really hard to install Ubuntu, which I am familiar with on my other machines. The problem is that Ubuntu has removed the ability to install it from floppies. You have to a) use the CDROM or b) do a network boot.

I wasted hours trying to do the network boot, which I have done before for the machine running this web server (The DELL DVD drive died long ago). I followed the instructions to put the network boot CDROM onto another Linux server, and installed TFTP and a DHCP server. But the ancient Compaq laptop presented a problem.

Normally you could go to http://rom-o-matic.net/ and make a boot floppy, which will boot up, detect the network interface, and then do a network boot (which would start the Ubuntu installer). However, the only network card I had was a PCMCIA 3com card that is supposed to be supported by rom-o-matic. But no matter what I did, etherboot would not detect it and would just sit there dumbly.

It may have been possible to use the PLIP (IP over parallel port networking) option and boot from over the network using a special cable. But I don't have the cable, and such an install is so uncommon, it would be a miracle if it worked at all.

Debian saves the day

After some research I found that Debian still supports the floppy install option. All you need are 4 floppies for boot.img, root.img, and two additional disks of network drivers. Of course, I only own one floppy disk so I had to keep re-imaging it during the install.

The minimum memory required for installation is 32 MB, so we are in luck. The problem is that the installer enters a "low memory mode" and doesn't load any kernel modules on its own. Instead, it pops up a list and you have to guess what drivers you are going to need. If you are wrong, you can always click "go back" to back up. I went through the four floppy disks that it asked for, and selected anything that looked like IDE (for the hard drive), 3COM, and PCMCIA (for the network card). Actually, at first I didn't select the IDE components. As a result, the installer offered to partition my floppy disk. I went back to add in the hard disk drivers.

Finally, the installer was working. It connected to the network and downloaded and installed the minimum debian distribution. The only changes I made were to the partitioning. Initially, it offered a 90 MB swap partition. That seems small, so I increased it to 400 MB, leaving 1.3 GB of disk space left over for the install.

Hiccups

The installer seemed to freeze at one stage, while "preparing installation report." I rebooted the machine and it worked the second time.

When the laptop boots up, I get lots of kernel messages about failed I/O operations. However, once it starts everything is okay. I did a surface check using e2fsck -c but the errors persist.

Running Programs

Once everything was set up, I installed gvim, xdm, Xorg, and icewm, (which is a great window manager that doesn't take up too much space). When I started X for the first time, the screen was red and didn't look right. It turns out that I had to limit it to 16-bit and reduce the resolution to 800x600, the native resolution of the screen. Then everything worked.

Battle of the Browsers

Once the graphics were set up, I used good old lynx, the text based browser, to download Firefox. But once I started my favourite browser, I waited, and waited, and waited...

It turns out that Firefox is a memory pig. It took 15 minutes to start, and it takes up over 100 MB of memory to show a blank window. Ugh!

There isn't a lot of choice of browsers out there. Galeon is part of Gnome, and I definitely didn't want any bloated Gnome packages on my lean but slow machine. Instead, I downloaded the latest version of Opera.

Opera starts in only 10 seconds or so. It's usable, if you don't mind waiting a few seconds between clicks. So Opera wins the browser wars for low-resource machines.

vncviewer

Since the laptop is so slow to use, I mostly use it to connect to other machines using xtightvncviewer. For this purpose, it works very well.

Conclusion

  • For old machines with no CD-ROM drive, you are better off installing Debian than Ubuntu.
  • Because of Debian's low-memory mode installer, you'd better be a computer expert to pick the right drivers during installation.
  • The best package manager is "aptitude", but only when run from the command line, because even the text-based GUI is too slow. It keeps stopping everytime you do something to do housekeeping.
  • The best browser for low-resource machines is Opera.
  • Aside from a minor hiccup with X.org's graphics detection, all hardware works flawlessly.

Want more programming tech talk?
Add to Circles on Google Plus
Subscribe to posts

Post comment

Real Name:
Your Email (Not displayed):

Text only. No HTML. If you write "http:" your message will be ignored.
Choose an edit password if you want to be able to edit or delete your comment later.
Editing Password (Optional):

Alice

2007-05-28 17:00:12
That is really cool. You should be proud of all the hard work you did and have saved one laptop from the landfill.

Shakespeare

2007-05-28 17:00:36
Tweet!

Eddie

2007-06-01 05:09:07
F10 is the bios button for compaq's

Eddie

2007-06-01 05:10:31
i tried this at my toshiba:

insert the floppy

boot from it

and is says: boot error

tried other floppy no diffrence

floppy works in other laptop

greg

2008-04-25 14:04:19
Very cool! Have you tried a machine with less than 32Meg? I have an old AST laptop with 20megs of RAM, but I can't find any way to install debian 4.0. I have an old install of debian 3.0 on it already. I'd like to dist-upgrade it, but I was never able to get the PCMCIA NIC to work with 3.0.

W

2008-06-01 14:18:59
I've used Linux on a 90MHz/24MB compaq since I got it second hand 8 years ago, and it has been quite useful. You have to make sure to use apps that eat only very little of memory.. so things like Gnome desktop was out of question, but Opera and a minimal window manager are cool in deed.

Before that I used linux on 486 / 8MB laptop, which was most tricksy, but it worked very well as long as you didn't try to start up X server.. so I used only console and svgalib apps. I used a 19200bps PPP link over a long null modem cable for networking, but even Network File System worked. :)

Compared to those, a "modern" (6 years old) 1500MHz / 512MB laptop is a bliss, because you can throw in a latest distro and not even care what useless stuff it loads to background.

germ

2008-06-20 00:19:19
Hi friend,

I had done that with netbsd: you can have a network connection through the serial port, i think I had to recompile the kernel of the launch disk to have that.

Once it s installed and running you can reuse that connection to install your software

Germain

madpinger

2009-02-21 08:02:33
Yes, Debian > Ubuntu for sure.

Tho, if you really want a light weight method, next time. Try gentoo ;)

Simon

2009-04-13 17:17:18
Check out Dillo instead of Opera, its a fast little browser written in c++ & c, only problem it does not support flash or css, you can find it at Dillo.org, and what about a few screenshots ?

Norealname

2009-08-24 18:21:42
DSDIAG is the Utility.

Zoid

2009-09-21 00:43:48
Im trying to get the proper pragraming floppy dics to get a 1990 Compac laptop working agin but dont really know where to get one. Can you help?

This Website Sucks

2009-10-27 18:01:51
This website Sucks!!!!!!!!!!!!! Losers!

Tim

2010-02-11 08:50:33
I had a similar problem with a old laptop of mine. Wouldn't boot from a CD, had no floppy port and was before USB booting. I took out the harddisk, installed ubuntu on it and shoved it back in. Good as new.

135

2010-04-30 11:06:02
Is opera the best browser(for old machines)?

What about Skipstone or NetSurf?

I think they are great. They will probably not crash as much as opera. Once Skipstone crashed, but then I had about 30 windows open on a computer with 64 mb ram. Can you do that in opera?

www.netsurf-browser.org

www.muhri.net/skipstone/

the dsc

2010-05-01 16:57:58
I guess you'd better install either some old linux or some of these new linuxes, but conceived for old machines, rather than the latest debian and all the semi-latest software that comes with it.

Ericson

2010-08-08 11:19:22
Windows 95 Haha

beazer

2010-08-08 20:01:54
Lol The windows 95 is old get a windows 7 or xp or vista

Ericson

2010-08-08 20:05:38
OOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDD

Laptop Which is Windows 95

Suwd

Marc Lepage

2011-03-25 10:39:43
I just did something similar last weekend. I had an old Dell laptop with PIII 400 MHz and 256 MB of RAM. This meets the minimum requirements for recent Ubuntu versions, but I found the installer would hang. I had to boot from CD-ROM, because it had no USB booting, and I didn't want to bother with floppies or networks.

I even tried Lubuntu (a lightweight Ubuntu) but had the same installer issues.

In the end, I used the minimal CD to install a command line system, then used aptitude to install LXDE (a lightweight graphical environment) and the Chromium browser. It seems to work fine for basic web browsing.

Flash barely runs though. :-)

capt planit

2012-03-10 05:52:35
Well, perhaps you should try android x-86 on it? I wound up here after getting bored with search heuristics on a more recent post. Android doesn't need much ram, the hardware might be problematic, and I'm not sure about network install...bad idea...perhaps. Great blog. Learned a lot. ty

Nick

2012-03-14 00:02:21
Will it work on my Windows 3.1 laptop? It does have a 3x5 floppy drive and an 80mb hard drive with only 4mb of ram. I was going to install Windows 95 as a last resort.

Nick

2012-03-18 14:45:23
Correction it has a 3.5 floppy drive.

Roberto

2012-05-12 10:55:57
(Yes, I know this is a 5 year old post)

Try midori as a web browser.

Email
steve.hanov@gmail.com

Other posts by Steve

Yes, You Absolutely Might Possibly Need an EIN to Sell Software to the US How Asana Breaks the Rules About Per-Seat Pricing 5 Ways PowToon Made Me Want to Buy Their Software How I run my business selling software to Americans 0, 1, Many, a Zillion Give your Commodore 64 new life with an SD card reader 20 lines of code that will beat A/B testing every time [comic] Appreciation of xkcd comics vs. technical ability VP trees: A data structure for finding stuff fast Why you should go to the Business of Software Conference Next Year Four ways of handling asynchronous operations in node.js Type-checked CoffeeScript with jzbuild Zero load time file formats Finding the top K items in a list efficiently An instant rhyming dictionary for any web site Succinct Data Structures: Cramming 80,000 words into a Javascript file. Throw away the keys: Easy, Minimal Perfect Hashing Why don't web browsers do this? Fun with Colour Difference Compressing dictionaries with a DAWG Fast and Easy Levenshtein distance using a Trie The Curious Complexity of Being Turned On Cross-domain communication the HTML5 way Five essential steps to prepare for your next programming interview Minimal usable Ubuntu with one command Finding awesome developers in programming interviews Compress your JSON with automatic type extraction JZBUILD - An Easy Javascript Build System Pssst! Want to stream your videos to your iPod? "This is stupid. Your program doesn't work," my wife told me The simple and obvious way to walk through a graph Asking users for steps to reproduce bugs, and other dumb ideas Creating portable binaries on Linux Bending over: How to sell your software to large companies Regular Expression Matching can be Ugly and Slow C++: A language for next generation web apps qb.js: An implementation of QBASIC in Javascript Zwibbler: A simple drawing program using Javascript and Canvas You don't need a project/solution to use the VC++ debugger Boring Date (comic) barcamp (comic) How IE <canvas> tag emulation works I didn't know you could mix and match (comic) Sign here (comic) It's a dirty job... (comic) The PenIsland Problem: Text-to-speech for domain names Pitching to VCs #2 (comic) Building a better rhyming dictionary Does Android team with eccentric geeks? (comic) Comment spam defeated at last Pitching to VCs (comic) How QBASIC almost got me killed Blame the extensions (comic) How to run a linux based home web server Microsoft's generosity knows no end for a year (comic) Using the Acer Aspire One as a web server When programmers design web sites (comic) Finding great ideas for your startup Game Theory, Salary Negotiation, and Programmers Coding tips they don't teach you in school When a reporter mangles your elevator pitch Test Driven Development without Tears Drawing Graphs with Physics Free up disk space in Ubuntu Keeping Abreast of Pornographic Research in Computer Science Exploiting perceptual colour difference for edge detection Experiment: Deleting a post from the Internet Is 2009 the year of Linux malware? Email Etiquette How a programmer reads your resume (comic) How wide should you make your web page? Usability Nightmare: Xfce Settings Manager cairo blur image surface Automatically remove wordiness from your writing Why Perforce is more scalable than Git Optimizing Ubuntu to run from a USB key or SD card UMA Questions Answered Make Windows XP look like Ubuntu, with Spinning Cube Effect See sound without drugs Standby Preventer Stock Picking using Python Spoke.com scam Stackoverflow.com Copy a cairo surface to the windows clipboard Simulating freehand drawing with Cairo Free, Raw Stock Data Installing Ubuntu on the Via Artigo Why are all my lines fuzzy in cairo? A simple command line calculator Tool for Creating UML Sequence Diagrams Exploring sound with Wavelets UMA and free long distance UMA's dirty secrets Installing the Latest Debian on an Ancient Laptop Dissecting Adsense HTML/ Javascript/ CSS Pretty Printer Web Comic Aggregator Experiments in making money online How much cash do celebrities make? Draw waveforms and hear them Cell Phones on Airplanes Detecting C++ memory leaks What does your phone number spell? A Rhyming Engine Rules for Effective C++ Cell Phone Secrets