Helping people with free software: Installing Debian GNU/Linux on an old laptop

July 20, 2018

This week a man brought his laptop to the community centre where I help people with computer problems as volunteer. The old laptop wouldn't start anymore and had to be reinstalled. Instead of Windows, I installed a free operating system. I think it is important to tell you how and why I did it.

Every Monday I help people in the local community centre in Amsterdam-Zuidoost. I do this work as volunteer for some years now and you never quite know what and who will show up. This week turned out to be a surprise...

Laptop as it arrived at the community center

A man brought his computer hoping that I would be able to make it work again. The HP Mini laptop prompted an error message when it was powered on: "boot device not found".

Boot device not found - that's not good

Usually this error message is an indicator of either hardware failure (broken part) or data corruption (virus, damaged filesystem, etc). But as I would find out... not quite this time!

The man told me that he visited a professional computer repair shop when he experienced trouble with his machine. They told him that the broken computer could best be replaced by a new one as repairing was impractical. They just happened to have a suitable replacement in stock, which they conveniently offered. He declined and kept his broken computer until he learned about me, offering help with computer problems in the local community centre.

The missing boot drive

After a quick inspection where I tried to boot the computer, run some diagnostics (through the BIOS), I was unable to get any signal from the harddisk. I joked that maybe some evil leprechaun stole the drive...

The error message was right, quite literally: the boot device is missing!

Imagine my surprise when I saw that the disk was indeed gone, removed from the computer! The man now understood why his computer wouldn't start anymore.

The man assured me that either he had not removed it himself and the repair shop had not given him his disk separately. Somebody took it, for sure, and frustratingly I can only suspect who (there is no proof).

Repairing the laptop

To fix the laptop, I had to install a new harddisk. Although this computer isn't new anymore, I deemed it still worthy of an attempt as I hate it when things get replaced for stupid reasons.

Replacement disk

Fortunately I had a spare disk lying around. It has been collecting dust-bunnies in storage ever since I upgraded to a larger disk. If figured this 160GB 7200RPM SATA drive was exactly the right part for the unfortunate laptop. I was happy to offer him this disk without charge.

Fitting a harddisk is usually not too difficult, but hardware makers tend to cut costs on everything these days: hindering repairability. Needless to say, I am not a huge fan of the "modern means" of construction... glue and sticky tape!

Installing the disk in the laptop

After carefully re-applying the tape, the replacement harddisk was installed without any more difficulty. The computer was ready to be reinstalled as the original operating Windows 7 Starter, had disappeared with the original disk.

Replacement disk tucked way inside the laptop

Choosing free software

For the man's laptop I wanted an operating system that would work well. But most of all, I wanted an operating system that would not try to sell this man anything.

During my years as volunteer, I have seen software do this. Like anti virus software urging you to upgrade your subscription, scaring you with the prospects of doom and disaster in case you don't. I had to comfort people more than once, ensuring them their computer was fine (despite these messages!). Or, a perfectly fine computer, urging you to upgrade the operating system to Windows 10.

People get confused between critical security updates (that are important) and commercial upgrades (that mostly serve the software manufacturer). For the laptop I choose an operating system that serves the man - not a company seeking profit. This type of software is called "free software".

Free software does not try to control, commercialise or manipulate the user. Often it is free as in "free beer", but more principally the "free" in "free software" refers to the freedom the user experiences in working with his or her computer.

Choosing a free operating system

Most folks buy their computer with an operating system already installed. For many PC's that is Windows and for Apple computers it's macOS. Few people realise that there are alternative operating systems available, including those that are free.

What is an operating system?

An operating system is the crucial software for starting to use a computer. With an operating system, one can do many things, without one, the computer cannot run at all. An operating system consists of many programs, including applications, libraries, developer tools and games.

GNU operating system

Back in 1984 the development of a free operating system started, GNU. It was designed to run Unix programs (a widely used operating system at that time), but because of its focus on software freedom it was not the same as Unix. Following hacker tradition the name "GNU" is a recursive acronym for "GNU's not Unix". By 1990 the GNU system was almost complete; the only major missing component was the kernel.

What is a kernel?

The kernel is a computer program that controls the computers resources, like memory, storage and other hardware. It makes these resources available to other programs that you run. Because of this, the kernel is an essential part of the operating system.

Linux kernel

In early nineties the Linux kernel was developed and not much later it was made available as free software. With the availability of a free kernel, people could now make a complete free system: a GNU operating system with a Linux kernel.

Distributions

Today there are many different variants of the GNU/Linux system, often called a distribution. Popular distributions are Ubuntu, Fedora, Redhat, Suse and Debian. A common mistake is to call the entire system "Linux", as the complete system is much more than just the kernel. It's better to specify the name, like "Debian GNU/Linux", meaning its the Debian version of GNU with a Linux kernel.

GNU/Linux distributions

Differences between distributions

Mostly these distributions differ in the way they are organised and prioritised. Sometimes a distribution is maintained by a company (like Redhat, or Ubuntu's Canonical), and sometimes it's a group of people working together sharing a common value. These values can be anything from extreme software customisability (like Gentoo) to more principal things, like who owns and controls the software?

Debian GNU/Linux

The Debian GNU/Linux distribution is among the oldest distributions available. It is special because its maintainers have ratified a social contract, a document providing guarantees that Debian is open and free.

In theory this would be great and fantastic. But then, why doesn't everybody use free software? That is because software has to work on hardware, and very often, hardware vendors keep the inner workings of their chips to themselves. This makes it hard to develop free software that drives the hardware.

These troubles with hardware drivers can make it difficult to get free software working on your computer.

Installing Debian GNU/Linux

I decided to install Debian on the man's laptop. I used another computer to download the installation files from https://debian.org. You must create an installation medium, like a bootable USB-drive, to get these installation files to the target computer.

Downloading Debian

On another laptop I used some terminal commands to create the bootable USB-drive. If you're on Windows or Mac you can use other tools to get this job done (like Disk Utilities or unetbootin).

Creating bootable USB-drive for installation

Then you plug the USB-drive in the computer and power it on. You may need to access the BIOS to enable booting the computer from the USB-drive. In the case of this laptop I had to press F9 to select the USB-drive as boot disk.

The Debian installation procedure is best described as a series of steps that involve answering questions with regard to the installation. Like choosing the language, timezone and preferred internet connection.

Installing Debian involves answering questions like the desired language

This is where trouble started: the laptop has a WiFi chip that has no free software driver. This caused the Debian installer to prompt for me supplying a non-free software driver. Installation could not complete as it needs to download additional installation files.

These non-free software drivers are sometimes provided by the hardware vendors. Debian has a "non-free" repository where they keep track of software drivers that do work (but are not considered "free" as in ultimate freedom). It's a tradeoff that is sometimes hard to escape if you need to get a certain piece of hardware working.

Instead of fiddling with non-free drivers during installation, I used a piece of hardware that has perfectly working free software drivers. This "Alfa One" USB WiFi adapter is not the fastest wireless internet adapter, but it does pretty much always work. Alternatively you could try a wired ethernet connection or try to include the correct non-free drivers on the installation medium.

Alfa One 802.11b WiFi adapter is recognised by the Debian installer

This will enable you to perform the installation. After installing the operating system you can start it. From there, I installed the missing WiFi drivers using some terminal commands. You can find lots of information and instructions on the Debian wiki.

Conclusion

It took some effort but the laptop works again, this time using free software. It may take some time for the man to get used to the new software, but I am sure that he'll find his way. He is always welcome for assistance in the local community centre. This ain't first the person I helped with free software. Others preceded this man and now regularly drop by. Funny thing is that once you've got them working, these "free software laptops" appear to be more trouble free then their Windows counterparts!

The laptop is working again, this time thanks to (mostly) free software

It's my experience that people can really enjoy free software on their computer. It is especially nice that this software does not try to trick the user into buying unnecessary updates, upgrades and subscriptions. As a software developer myself, I am not against spending money on software. Programmers need to be paid as they have families to support. But for me, this can never justify tricking or scaring users. That means that whenever I work on non-free software, there is this one thing that I keep in mind: have some respect for the user!

Need help, too?

If you want to give free software a try, I can help you with installing and using it. You're welcome at the local community centers in Amsterdam:

Buurtwerkkamer Samen Sterk, Bijlmer Oost (Gravestein 3, Amsterdam) on Monday from 10:00-12:00hrs

Buurtwerkkamer Multibron (Albert Camuslaan 103A, Amsterdam) on Monday from 13:00-15:00hrs