One of my first computers that I had was a Dell 486 DX2. I experimented with Win3.1, Win95, OS/2, and Linux with it. I eventually settled on Win95, because I wanted to play dos games and access the internet with it. I always wanted to get Linux working on it. Well this weekend I finally did get around to getting Linux on an old 486. I have worked with Linux before, playing around with it on my own, doing some software testing for a company, and in a C/C++ programming for a class in school. But I have never done any extensive server administration, espessially from the command line. I am eager to learn, and this is turning into a very fun project.
My goal is to build a fully functioning webserver(http, ftp, smtp), with Apache, PHP, MySql on a 486 box. Along the way, I want to learn about configuring these components as well as become proficient with the Linux command line. Eventually when it is configured to my satisfaction, I am going to try to do some performance testing, to see how good a server a 486 is.
The first step was to get a working 486 computer. This proved to be harder than I originally thought it would be. I had an old Dell 486, and I had a bunch of old ram and hard drives laying around. I haven’t had this particular machine turned on for about 3 years, and it turned out that it no longer works. It turns on fine, but I am getting a floppy drive failure error, and it stops working. I tried several different floppy drives, and cables but it never worked. I concluded it must be a motherboard problem. After a week of looking on eBay, I found a great deal for a 486 computer, with 2 extra motherboards. This 486 works great. It has a 486 DX/2 50mhz CPU, 16mb Ram, and I added a 2 gb hard drive and a cdrom. The only problem with the computer is that the clock battery is dead, but who cares about correct time.
Next, I had to determine which distro to install. I wanted to try out FreeBSD since I have read that it works well with older hardware. Unfortunatly I could not get it to work. After booting all the floppy disks, it gets to a setup screen. When I hit any button to start setup, it just hangs. It does this with both the 5.4 and 6.0 disks. So I turned to Slackware Linux. I downloaded the 9.1 version. I considered the latest 10.2, but decided that I better not push it. I was hoping to do an ftp installation, but Slackware 9.1 doesn’t support this. So I downloaded both cd isos, but with the packages I selected, only needed the first cd. Here are the steps I followed to get a basic installation on my 486.
1. Booting
If your computer does not support booting from cd, as mine didn’t, then you need to create three floppies. Use RawWrite to create the floppies. Start with the bare disk, and enter the other disks as you are prompted. When the login prompt comes up enter root as the user, with a blank password.
2. Prepare the disk partitions
Enter cfdisk at the command line to enter the partition program. It is similar to the old dos fdisk. I created 2 partitions, an 80mb swap partition which I placed at the end of the drive, and a 2gb root (/) partition. You probably don’t have to, but I rebooted the computer here to make sure it would write the partition table.
3. Run the setup program
After the partitions are written, enter setup by typing setup. Select the menu item to prepare swap partition. After the swap partition is formated, the setup will setup the root partition. I selected the ext2 filesystem. I don’t know if the others have better performance or not, but I figured with such an old computer, it was best to go with the oldest type. The next thing it will ask you for is the source of the packages. I selected cdrom here.
4. Package selection
I selected A - Base system, AP - Applications, D - Development, and N - Networking. Everything else can be unselected, unless you want the X window system (not the best idea for a 486). I know that having development tools on a webserver is not a good security idea, but I figured if I had to compile anything special it might be useful. Next it asks you for the install type. I selected expert, because it lets you select individual packages in these general groups. I unselected anything that I didn’t think I would need. This included multimedia applications, publishing and printing tools, and anything else I knew was unneccessary. I also selected several additional packages in the Network group, like php support, and some monitoring stuff. Also I selected the MySql Package in the AP group.
5. Install system
After this the program installs your package selections.
6. Additional configuration
When the packages are finished installing, the program will setup your root password, timezone, lilo, and network. For network setup, it should autodetect you NIC (mine was a 3com 3c905), then you enter a hostname, domain, ip address (I would recommend giving it a static IP if you are going to make it a server), and default gateway. It will also bring up a list of the servers that you have installed, and ask you which ones you want running. Make sure ssh, inetd, and apache are running. Leave any other that are checked as well.
7. Reboot system
When setup is finished it will exit back to the command prompt. Enter shutdown -r to reboot the system. When it reboots, it should use Lilo to boot into your linux installation. Mine didn’t. Instead Lilo outputed a bunch of 40s on the screen and it froze. So I am using the bare.i floppy to boot. At the prompt that comes up, I enter mount root=/dev/hda1 to boot off my hard drive. (At some point I am going to try to fix this. Maybe I will try Grub. I will post more info on this later.)
You should now have a functioning Linux system!
My 486 is working fine. It is pretty quick. Of course it isn’t running much, but the command line is as fast as a command line can be. Doing the install took about 1 1/2 hours. Of course I spent several other hours getting the correct floppies and getting the install figured out.
Like I said earlier I don’t have much experience with Linux command line administration, or configuring any of the servers I want to run on my box. In fact I would classify myself as a newbie at Linux administration. Google is my best friend for this. I plan to document all the command I learn, and I will follow this installation article with several more about the configuration and commands I learn.
Picture of the 486 Linux server
You can see the CPU has no heat sink. This is before the days of CPU overheating. Also, the cdrom is just sitting there. Next time I reboot the machine, I will probably remove it, since I don’t need it now. The Nic is a 10mb connected to my router. I do have a cover for the box, but it is a little broken right now. Eventually I will get around to fixing it. The computer is actually very quiet. The only fan in it is in the power supply. The hard drive makes very little noise. In fact I think the combination of my laptop and usb hard drive is noisier. But that is not loud at all. The 486 box is quite different from the fast powerful computers that I work with everyday in my job. Much simpler. Kinda like old cars are much simpler than new ones. Oh the good old days.
I’m looking forward to giving this a try. I’ve had little success at getting Linux installed on my 486 (which does not support being booted from CDROM).
Interesting read, I have played with linux on 486’s myself a few times.
Hello!
I’m trying to use some 486 pc like developping server for my company right now. If you have problem with lilo and writing L09 L09 L09 etc. on screen, it should be doing by that 2gb harddisk. I think, old board dont like to boot from them. I have this problem too, so i’m trying to install system on 400MB hard disk, whis is from that computer.
U can try install lilo manualy it worked for me when having boot problem with CF card.
any one who can configure proftpd mail me cos i cant, i have 2 servers http, ssh, mysql. php …
everything working but damn PROFTPD… my mail is visnjic.ratko@vz.t-com.hr
У меня дома такой же стоит!
Did you get running php and mysql. Because I think that mysql is very memory consuming.