Reviving a Quarter Century-Old Server - Code7 Interactive
Reviving a Quarter Century-Old Server
I recently brought down one of my old servers from the attic, where it had been stored for almost two decades.
⚠️ Don’t worry … I am NOT exposing this machine directly to the Internet.
But, first things first…
This trip down memory lane is mostly for my own curiosity, and nostalgia.
The machine in question is a Dell OptiPlex NX1 300+ “Net PC”<br>which served as my web- and shell server for several years. Its hostname is dwarf, a nod to its compact size.
CPU Pentium® II Processor - 300 Mhz
GPU ATI Technologies Inc 3D Rage Pro AGP 1X/2X
HDD Seagate Medalist 6531 - Model ST36531A
Pentium® II Processor - 300 Mhz<br>LEVEL 2 Cache: Size Unknown<br>System Memory: 96 MB SDRAM<br>Video Memory: 4 MB SGRAM
How old is it actually?
There are a few markings on the chassis, such as ASSY 85179 22NOV97 85189 and P/N 82898 14NOV97,<br>making it roughly 28 years old as I write this.
Does it even boot?
Yes! Fortunately the power supply still worked.
The machine appeared to POST<br>(Power-On Self Test);<br>however, because its only video output is VGA<br>over D-SUB,<br>I first had to track down an appropriate cable before I could actually see what was happening.
♻️ As it turns out, I’ve been surprisingly good at getting rid of cables I no longer need.
I then thought; Maybe I could log into the machine directly using an ethernet cable,<br>or even via the local network.
So, did it show up on the network?
No! And I was pretty sure that the machine had a static IP set, and that it<br>wouldn’t rely on DHCP<br>to assign its IP. The machine didn’t show up on the network, at all.
Even with a direct Ethernet connection, I couldn’t reach it.
Local I/O to the rescue!
Pretty soon after that my friend Matti came over with a VGA cable, somewhat surprisingly labeled<br>as being an AWM E101344 STYLE 2919 80°C 30V SPACE SHUTTLE VW-1 LOW VOLTAGE COMPUTER CABLE
As seen above there are only 14 pins.
Monitor
My TV is showing its age in the best way possible—it has a VGA input. ✨ Thanks to that,<br>I could finally see the server’s first message in decades:
Alert! Cover was previously removed.
To continue press F1 key<br>To change setup option press F2 key
Not surprised about the alert though, since I’ve never actually had a cover for this machine.
Note: The reason for this alert was that the CMOS battery had gone flat,<br>wiping out the BIOS settings.
Keyboard
This surfaced the next problem: to get past the alert, I had to press a key on the keyboard.
(Plugging in a USB keyboard did nothing)
That meant another trip up to the attic to dig out one of those green PS/2-to-USB adapters<br>that had once been everywhere, and then suddenly vanished.
Battery
I popped in a fresh CR2032,<br>and now with both the keyboard and monitor connected, I was able to;
Set the BIOS clock
Disable the Chassis Intrusion alarm
Continue booting the machine
Welcome to Linux 2.6.8.1 (tty1)
At last—one step closer to bringing this old machine to life.
Did I remember the root password?
No! Since it had been quite a while since I last powered up the server,<br>I had no idea what root password I’d left on it.
Note: Resetting the password wasn’t much of an issue, since the drive wasn’t encrypted .
How to reset the root password?
You can replace the init process at boot—for example, with a shell of your choice—and you can<br>also request that the file system be mounted as read-write. Convenient!
So I typed 2.6.8.1 init=/bin/bash rw at the LILO<br>boot prompt, then ran passwd root.
Success! I was now able to log in as both root and my personal user zil .
Convincing modern SSH clients to talk to Dwarf
These days your SSH client will refuse to connect to a server with wildly<br>out of date algorithms for key exchange, authentication and encryption.
So you need to reconfigure your client to allow this.
In this specific case I added a Host section to my ~/.ssh/config with the following content;
Host dwarf<br>User zil<br>KexAlgorithms=+diffie-hellman-group-exchange-sha1<br>HostKeyAlgorithms=+ssh-rsa<br>PubkeyAcceptedAlgorithms=+ssh-rsa
This allows me to ssh dwarf from my other machines, without having to specify the username, or those old algorithms each time I’m connecting.
tiny ~<br>$ ssh dwarf<br>@@@@@@@ @@@@@@@@ @@@@@@ @@@@@@@@<br>@@@@@@@@ @@@@@@@@ @@@@@@@ @@@@@@@@<br>!@@ @@! !@@ @@!<br>!@! !@! !@! !@!<br>!@! @!! !!@@!! @!!!:!<br>!!! !!! !!@!!! !!!!!:<br>:!! !!: !:! !!:<br>:!: :!: :!: !:! :!:<br>::: ::: :: ::: :::: :: :: ::::<br>:: :: : : : ::: :: : : : :: ::
+---------------------------------------------------+<br>| Welcome to dwarf, a small Dell NetPC |<br>|---------------------------------------------------|<br>| This machine is my local webserver |<br>+-------------------------+-------------------------+<br>| - 300 Mhz Deschutes | - No bots |<br>| - 96 Mb PC133 | - No leeching |<br>| - 6.5 Gb 5400rpm | - One screen |<br>| | - Be nice |<br>+-------------------------+-------------------------+<br>| Admin: ziL (#nudel @ chatsociety)...