Reviving an old computer from 2007
2007 was almost 20 years ago. Yes, I feel old too. Windows Vista was at its prime (for the handful of people who installed it), the first iPhone was just released and we were on the verge of the first of many once-in-a-lifetime economic crises that we would experience during our lifetimes.
Turns out that my girlfriend had a laptop from this era that she was going to throw away, and like any sane software engineer would do, I decided to keep it for myself and see what I could do with it. And boy this was a trip.
Installing the OS
The thing had Windows Vista installed on it, so I got my Debian 13 USB and got to work. It booted into the Debian installer first try, so naturally I thanked God I didn't have to deal with any BIOS shenanigans and installed it. To be honest, it was pretty fast for a 19-year-old laptop with a dual core CPU and 2 GB of RAM. I installed no desktop environment since I want this thing for the terminal only and to be honest, not even a modern browser will run smoothly on it. I chose Debian out of sheer fear of some old, obscure, proprietary driver not working correctly, and because I've used Debian for as long as I have had root access to my computers, but I imagine any distro would work. This thing has a 64-bit CPU by the way and I cannot stress enough how much that made things smoother.
Connecting people
After installing the OS, I realized that I had no Internet connection. Duh, it is an adapter from 20 years ago, I didn't expect the open source driver to be loaded. I connected the ethernet cable to the port (back in my day, laptops were full of ports!) and I ran the following:
ip link show
I saw that my ethernet interface, enp6s0 was recognized so it was just a matter of configuring DNS servers, obtaining an IP and done!
I just needed to modify the /etc/network/interfaces file and add these two lines:
auto enp6s0
iface enp6s0 inet dhcp
And then restart the networking service:
sudo systemctl restart networking
I also had to restart the interface:
sudo ifdown enp6s0
sudo ifup enp6s0
And then modify the DNS servers, which were in the file: /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
So now we had Internet access (via ethernet)! That's great!
Getting the WiFi to work
However, I don't really like the idea of a laptop sitting there on my desk physically connected to the wall (the battery on this died a long time ago) AND the router, so naturally I asked myself:
Does this thing even have WiFi?
I was alive and had a computer in 2007, but I didn't have a laptop, so I didn't know if they came with WLAN cards. Inspecting the laptop for a bit, I saw a little "Wireless" inscription near the touchpad. So yes, it HAD WiFi, but the adapter wasn't recognized by the OS. Probably an old proprietary driver.
I installed and ran rfkill to see if there was a hardware switch, but it was on, so it was just a matter of seeing which driver the card used and loading it. I installed iwd:
sudo apt install iwd
sudo systemctl enable --now iwd
sudo iwdctl
device list
Confirmed: I had a WiFi adapter, but the OS didn't see it. Let's check which drivers failed to load:
sudo dmesg | grep -i firmware
After running this command, I could clearly see that the missing driver was b43/ucode15.fw. A quick search showed me that this was a Broadcom driver and that there was a utility to download and install the driver included in the Debian repos:
sudo apt install firmware-b43-installer
sudo modprobe -r b43
sudo modprobe b43
Now I got my WLAN card working, but no Internet connection! Apparently, that was because I need to configure DHCP:
sudo apt install dhcpcd5
sudo dhcpcd wlan0
And clean up my routes table:
sudo ip route flush dev enp6s0
sudo systemctl restart dhcpcd
WiFi working! I could now ping Google correctly.
Installing a window manager
I quickly realized that searching things on my phone while I installed the OS wasn't really comfortable (also, we are back in 2007 and we didn't have full computers the size of our palms with internet access and the Gemini app), so I decided to install OpenBox. The reason I didn't go with a full desktop environment was to get the most out of those 2 GB of RAM. So I ran the classic:
sudo apt install xinit xserver-xorg openbox
startx
Great! Now I have a window manager, and I just need to install the browser. I read good things about Falkon, and I just want a browser to read Stackoverflow, forums, etc. so as long as it renders text correctly we are fine. Let's install it:
sudo apt install falkon
Wrapping up
So all in all, it was fun. I spent about two hours and now I have a minimal working Linux machine. I already put it to good use to recover some things from an old HDD which Windows was being silly about. For a computer its age, it's fast and does what I want it to do: run Linux. I am thinking about getting into driver programming, so this will serve me well.
If you liked this post, you can support me by buying me a coffee so I can keep on writing awesome posts!