Hello LC230

10 Feb 2021


The LC230 (LC for Liberated Computer) is a corebooted Thinkpad X230 and is a product of mostly harmless, a one-man hacker experiment based out of Bangalore, India.

In this post, we'll be discussing why people should be giving used thinkpads a try, rather than buying newer laptops. We'll also be taking a look at why using free/libre software and hardware is better and why it should become the new norm.

An overview of computers

From school days, we are taught that a computer in its simplest terms is made of hardware and software. I remember fondly when my elementary school teacher used to tell us snotty nosed kids that the hardware is the part that we can see & touch and the software is the part that makes the hardware do things. Little did I know that one day, I'd be making a living from them and would be fortunate enough to own a couple of machines.

The base software that every laptop/computer needs is called an Operating System. Think of an OS as the software that helps other application software(like VLC media player) to run on your machine. The OS takes care of talking to the hardware to do things like reading a file from the disk or connecting to the internet.

GNU/Linux, BSDs, MacOS and Microsoft Windows are all operating systems that do exactly this. There are other operating systems out there, but I mentioned just these as they are a bit more popular.

We as users get to choose the operating system that we run on our machines.

Why choose an OS at all?

Most laptops today come with Windows pre-installed. Windows is proprietary/closed source software. There is a good chance that the machine which we paid for might actually be doing things that we don't want.

FOSS operating systems like GNU/Linux and the BSDs make their source code available to the public and in doing so ensures that

We've all been there, when windows forced the installation of an update and we couldn't get any work done till it finished. This is one example of software forcing their users to do things against their will. With FOSS, you are empowered to use your machine however you want.

Most people are reluctant to switch to FOSS OSs as their favorite application/program X is not available for it. This might have been the case 5 or 6 years ago, but now almost all popular applications have a Linux port. If no port exists, there is an alternative for it.

Most FOSS projects are free to use and are supported by strong communities. For example, Ubuntu/Debian are free linux distributions that you can download and install on your machine. If you get into any issues with the install or in general with them, ask away in their respective communities - ubuntu, debian.

The reason why we have so many operating systems to choose from is that the underlying CPU of a computer has a standard for its architecture. There are many architectures available, but the most common among laptops and desktops nowadays is amd64 or x86-64. Operating System programmers can refer to this architecture spec while building the OS.

Device Drivers

Having the code for managing all types of devices that could be possibly connected to a computer in the Operating System is not possible, as

So what OS authors do is bundle code that helps the OS to communicate with generic/common devices, with the OS package and let the user install the code/driver specific to their device later. Untill around 2010, most hardware vendors used to provide a "driver" CD along with the purchased hardware. People installed these "driver" software right after they installed their OS.

In a nut-shell, a device driver is a piece of software that helps the OS use a particular device, better.

A classic example is the user being able to setup better screen resolutions for a screen after installing the graphics driver and the monitor driver.

Unlike OS architecture, device architectures vary differently and manufacturers keep device schematics and driver source code closed. Inorder to make OSs work with newer hardware, OS authors and maintainers package or bundle driver blobs that the user can install later.

Some manufacturers do provide FOSS drivers for their hardware, but their numbers are less. Some engineers even go to the extent of reverse engineering closed drivers/blobs to make opensource versions of them. But keeping up with hardware changes and driver updates are tough, especially when devices are getting complicated after each generation.

Now here comes our first dilemma, even if we choose to install a FOSS Operating System, because of the closed up device drivers, we have proprietary bits running on our machine.

So, the only work around for this is to choose our hardware/devices so that they work with FOSS OSs without installing blobs. But nowadays when we buy a laptop, we get devices(ex: wifi card) which the laptop/computer manufacturers deem worthy to be in the product. And most of the time, these require blobs to work properly.

The software we don't install

Aside from operating systems and device drivers, there is one other type of software in play when we use our machines. And they are called firmware. Simply put, firmwares are low level device software.

A good example would be the software that runs on calculators and digital watches. These are "embeded" directly onto the hardware, that there's literally little distinction. These firmwares are usually "flashed" onto to a memory chip on the device.

One such firmware that comes with all computers is called the BIOS. Think of the BIOS as a piece of software that makes everything ready when we turn ON our machines.

A BIOS should only do just that i.e ready the system. But nowadays modern BIOSs do quite a bit more. A typical BIOS codebase should just weigh in no more than a few 100 KiB, but modern BIOS sizes are in MiBs. We can't be sure of what the code is actually doing.

Fortunately, there are FOSS BIOSs too. But their availability for all platforms is limited and it takes a bit of hardware expertise to "flash" a BIOS. But needless to say it can be done.

Latest CPUs from Intel come with a firmware called the Intel Management Engine. Its an additional processor core that comes enabled by default with intel CPUs and its a blackbox. Laptop manufacturers/hardware enthusiasts since the ME's inception have tried to cripple it and a few years back they succeeded.

Why buying newer laptops isn't a good idea

It's the sum of what we've been discussing thus far

Enter the truly liberated computer

Thinkpads are great machines.

A newer thinkpad would set our wallets back quite a bit. But older generations are a bit more cheaper. Large businesses usually buy thinkpads in bulk and when they reach their end of support period, they are replaced. Usually these are thrown out in good working condition.

The ideal formula we want here is,

And this is exactly what the LC230 is.

I've been using my LC230 for a little over a week now. Its running a fully encrypted voidlinux installation and I've moved over my entire workstation setup to it. Things are progressing smoothly!

Gallery

The lc230 boot screen

Left side of lc230 laptop

Right side of lc230 laptop

Links

Thank you Abhas ji.

Happy Hacking & have a great day!