Monday, 12 December 2016

JOURNEY TO THE FREEDOM PART I.

Liberating PC  

 

 Disclaimer 

It's not a purpose of this post to describe what free software, libreboot and other terms mean.
Following are good sources for such information:
http://www.fsf.org/
https://www.gnu.org/
https://stallman.org/
https://libreboot.org/
... and many more

There are plenty of videos/presentations on the internet where Mr. Stallman and other people describe what free software is and why do we need it, just use your favorite web search engine to find it out (apart from Google - see here why https://stallman.org/google.html).


I. Introduction

It all began when I've randomly found a video presentation where Mr. Stallman presented his view and why we should be using free software. Although I already knew some of the things before, I didn't firstly realize that it's so important to be free (not only) in terms of software and why.

The aim I've set to myself was to have a HW paired with SW without any proprietary software used or needed to operate fully, which includes BIOS/firmware/OS etc. Also I consider this blog as kind of "donation" to FSF/GNU/Libreboot by spreading their word to the public.

II. Hardware

 

This is the most important part as there are not that many options when I want my platform to be completely free. No new recent HW is supported by libreboot, you can find why for example here: https://stallman.org/intel.html
https://libreboot.org/faq/#amd
 
So I'm limited to the HW which is being supported by libreboot currently. Here is the Libreboot's Hardware compatibility list: https://libreboot.org/docs/hcl/

I've made list of available options for me:

Option A:

Buy a refurbished HW preinstalled with libreboot and GNU/Linux, some suppliers are listed here: https://libreboot.org/suppliers/.
This way I can support the community as some of their profit goes to FSF / Libreboot as well. Unfortunately there are few reason I won't go this way:
 ➧ too expensive IMO
 ➧ I'm kind of DIY guy and I'd like to liberate my HW by myself

Option B:

Buy used/supported HW and liberate your HW by myself. I've chosen this way as I like to hack stuff.

III. My approach 



I've managed to buy ThinkPad T400 for 120€ among with the power cable and docking station. I've also bought couple of spare parts for 50€ (monitor, motherboard, CPU, palmrest etc) in case I break something.
The specs are:
CPU: Intel Core2 Duo P8600 (2x2,4GHz)
GPU: integrated GM45 (some T400 models come with dedicated ATi which is disabled by libreboot after the flash due to lack of free drivers)
RAM: 2GB
HDD: 250GB
Display: 14,1 inch  1440x900 resolution
Battery: still lasts for 1,5hrs

It came preinstalled with Windows 7, which will be soon reinstalled with one of the FSF endorsed GNU/Linux distributions - https://www.gnu.org/distros/free-distros.html.
It looks fairly OK in overall- even though I didn't change anything yet:









I think it fits my requirements pretty well - size, build quality - and what's the most important is that it's libreboot compatible. Also I wanted to use the most up to date HW supported by Libreboot.

Please note that the T400 (not only) requires disassemble of the laptop and messing with external flashing device to successfully flash BIOS ROM in order to replace it with libreboot and someone may find it as overkill. If that's the case you can choose Lenovo ThinkPad X60/X60s instead, which are flashable directly from the operating system. The downside of those models for me is that they are older than my T400. Also it's worth to mention that there are models which do not need complete disassemble - e.g. ThinkPad X200 to be able to flash the ROM.

IV. Additional HW/accessories needed

  • Flashing device - Beaglebone black, Raspberry Pi, anything RPI GPIO compatible - I have Raspbeery PI Model B and Odroid C1 already at home :)
  • Jumper wires - female to female - I have ordered 40pcs for US $0.64 from China: https://www.aliexpress.com/item/Free-Shipping-1lot-40pcs-lot-10cm-2-54mm-1pin-femal-to-femal-jumper-wire-Dupont-cable/32329983091.html
  • SOIC clips - I recommend to buy both 8 and 16 pin as in case your current MB fails you are still safe to flash both types of ROMs in case you buy another MB, without wondering what type of ROM does the new MB have. I have ordered following again from China, for ~US $7:
    https://www.aliexpress.com/item/Free-Shipping-1pcs-lot-Programmer-Testing-Clip-SOP16-SOP-SOIC-16-SOIC16-DIP16-DIP-16-Pin/32483896048.html
    https://www.aliexpress.com/item/Programmer-Testing-Clip-SOP8-SOP-SOIC-8-SOIC8-DIP8-DIP-8-Pin-IC-Test-Clamp-no/32584191276.html
  • Thermal grease - since I'll be disassembling the laptop completely I'll need one to replace the old grease which has often worse attributes than e.g Arctic grease
  • WiFi card - I need to replace it for the one with Atheros AR5B95 chip (Libreboot's recommendation) as it's working with free drivers (the original Intel requires proprietary blob).
    I've already bought used AzureWave AW-NE785/NE785H (AR5B95) 802.11b/g/n Wireless PCI-e Module for 6€
    It is important to know that this wifi card will be only functional after the ROM flash as the original Lenovo BIOS doesn't allow to use non-whitelisted cards
  • SSD (optional) - to speed the little T400 up. I will buy some cheap 256GB SSD and update here the specs once I have it. I want to install it to the laptop right before I flash the ROM, among with GNU/Linux
  • RAM (optional) - again to give it a little bit of more horsepower. I plan to buy 2x4GB somewhere on eBay. It is important to take Libreboot's recommendation into account
    "
    You need DDR3 SODIMM PC3-8500 RAM installed, in matching pairs (speed/size). Non-matching pairs won't work. You can also install a single module (meaning, one of the slots will be empty) in slot 0.Make sure that the RAM you buy is the 2Rx8 density

V. Outstanding tasks

  • Buy SSD, thermal grease and RAM modules bearing in mind all the requirements ( I will update the results and specs here)
  • Decide which GNU/Linux distribution to use
  • Study the flashing process using the Raspberry Pi

Conclusion 

Once I have all the hardware parts ready I will start with OS installation and ROM flashing. I expect this to happen around mid January 2017. I will publish the whole process in Part II of this series trying to explain as much as possible.


Let's go to see how I performed in the next part - Part II.