As much as I like Linux, and while it works 100% on any server / vm / container, getting it to run on a new consumer-grade computer can range from very easy to full on nightmare mode, though most of the time, things will be just fine, only requiring a few simple tweaks here and there.
This article is about my new Hewlett Packard laptop, a nice 15.6 inches silvery beast, and the steps I had to take in order to make it work my way under Ubuntu Linux 19.10.
Inevitably, tech specs
A nice config with enough punch to lift Docker and K8s (and watch Netflix in 4k):
- Model: Hewlett Packard 15s-du1031TX
- CPU: Intel i7-10510U
- Storage: 512GB SSD
- RAM: 16GB SODIMM DDR4 SDRAM
- Display: 15.6 inches (38.1 centimeters) FHD LED
Disabling the TPM chip and SecureBoot
Why do that and is it even reasonable to do so ?
The answer to the why is mostly cultural: simply put, I love freedom. I don’t believe in cages, walls and borders. While TPM has its benefits, it also gives too much control over my things to nameless entities, like governments and corporations.
While I wouldn’t mind leaving TPM enabled on a server — security comes first in a professional context — in a personal context, freedom is key.
This position is consistent with the way I DevOps: avoid roadblocks and bottlenecks, empower teams, choose openness and competence over obfuscation and micromanagement, make knowledge easily accessible and shareable.
Now, is it reasonable ? Is it a good idea to disable a safety, a security system aiming at keeping hackers away from my computer ? It looks like the obvious answer to that question is a big No. But is it ?
Let’s list the most common ways people computers get hacked:
- Poisoned download: you download a cracked version of a licensed software and install it on your computer. What you didn’t know is the cracker modified the installer so it silently installs some virus / malware / ransomware alongside what you were looking for,
- Phishing: you receive an email from your bank / IT department / online retailer prompting you to urgently enter your credentials and credit card number somewhere. As silly as it sounds, a lot of people fall for this,
- Fake WiFi access point: you’re at Starbucks and connect to their WiFi network. Actually, they have two access points available: one named Starbucks Free WiFi and another named Starbucks Secured Free WiFi. One of these is fake and now a guy sitting nearby is capturing all your Internet traffic. I sincerely hope you’re using HTTPS,
- Brute force on passwords: a timeless but effective classic. You can’t imagine how many people still use one of these:
- 123456
- qwerty
- password
- 111111
- abc123
- password1
- Social engineering: if your password is your birth date, your kids / spouse name or anything else that can be harvested from social medias, change it.
As you can see, TPM and SecureBoot wouldn’t prevent any of this to happen. Truth is, these 2 technologies are relevant in a corporate environment, where a team, usually labelled IT has to remotely manage a fleet of computers.
To answer the question and finally get done with this way too long paragraph, disabling TPM / SecureBoot is not a big deal, in my case.
Booting Ubuntu from a USB drive
I used Etcher from Balena in order to write the ISO file downloaded from ubuntu.com to a USB key.
Problems in the WiFi department
I was not up to a good start: no Bluetooth, no WiFi. A simple RJ-45 cable could have saved the day, but it’s 2020 and I’m a dad, which means all my cables were meticulously chewed on by 2 teething babies years ago.
So I decided to soldier on and to attempt to install Wicd by downloading the required DEB packages on another computer, copying them to an external hard drive and moving that hard drive to my new laptop in order to run a series of dpkg -i <package_name.deb>
.
It could have worked if only Wicd didn’t have so many dependencies on other DEB packages I had to download one by one from Ubuntu Packages Search. I had to use another strategy.
Good old lspci
came to the rescue:
In clear: my laptop is using a Realtek 8821CE WiFi controller. I simply downloaded and installed the right driver.
Installing the RTL8821ce dkms driver
I just had to download two packages: dkms_2.7.1-4ubuntu2_all.deb and rtl8821ce-dkms_5.2.5.2.1.30816.20190425-0ubuntu1_all.deb. Once installed, I was able to connect to home WiFi.
I could have done that first instead of wasting time on Wicd, but 2 things:
- I wrongly assumed Ubuntu had the driver for my WiFi card already installed,
- In all past cases, installing Wicd allowed me to solve my WiFi problems.
Installing Ubuntu
That part was straightforward and a matter of a few clicks. Nothing to see here.
Switching to proprietary drivers for the NVIDIA graphics card
Being under the impression things were a bit flimsy with the Open Source driver, I chose to switch to the proprietary one:
Final touch: Gnome tweak tool
If you’re like me, you want your desktop wallpapers to be well adjusted, not cropped, not stretched horribly, just something square and proper.
I had to make use of Gnome tweak tool in order to get my wallpapers scaled:
Verdict: was it hard ?
The big bad here is the WiFi not working right out of the box. I reckon that would be a killer for non-tech users. But for me now, it’s all set: I love my new laptop.