Using Debian Linux on the Lenovo ThinkCentre M73
The box
The Lenovo ThinkCentre M73 Tiny Business Desktop Computer, to use its full official name, is a compact machine about the size of a home router. Many companies make desktops in this form factor now, including Apple. I picked up a refurbished ThinkCentre M73 for $100 from Amazon a month ago, which is a bit less than the $669 a new Mac Mini will cost you.
If you browse Amazon for similar machines, I would caution you to pay attention to the types of components used. One thing to watch out for is eMMC memory used in place of a real SSD or hard drive. This lower-performance storage device seems to be used in most of the cheaper mini desktops. One reason I chose the ThinkCentre is that it’s made with high quality parts.
For my $100 I got a shiny black box with an Intel Core i3 4130T 2.9GHz processor, 4G DDR3 RAM, and an old-fashioned 500G hard drive. It has four USB 3 ports, a DVI and a DisplayPort connector, separate headphone and microphone jacks, and a beloved ethernet port. If you need to use WiFi, it comes with a USB adapter for that. A wired USB keyboard and mouse are supplied. The keyboard is so-so; I recommend getting a wireless one, both because you can get one that feels better and because it’s nice not to be connected to a cord. But all you need to bring to get the party started is a monitor or TV, and possibly a DisplayPort → HDMI cable.
It’s a decent amount of computing muscle for one Benjamin. Remember that desktops, even the mini types, are more powerful than laptops with equivalent specifications on paper. That’s because they are not cowed by society’s expectations about body shape, and have room for better thermal management.
They are also designed to be popped open for convenient organ transplants. If you have ever gouged your sleek laptop shell upon prying it open after finally locating that elusive 23rd tiny screw, only to gaze in terror at a mass of soldered-together alien technology that you sense was never meant to be seen, let alone touched, you will appreciate this.
This model is one year old. It comes with something called Windows 10 Pro installed. I suppose you could try to set up a dual-boot situation, but there is always a risk in using software with an unknown provenance. I wiped it.
Installing Debian
I decided to use the Debian live image with non-free firmware included. I don’t know if the non-free firmware is actually needed with this hardware, but there it is. The live images allow you to boot and run Debian from the installation media without installing it, if you so desire.
Some of the instructions on the Debian website seem to be incorrect. In one place they claim that you can use the cp
command to copy the ISO image on to your USB key, but that doesn’t work. Do the other thing, with the dd
command.
I actually dd
ed the ISO file onto an SD card stuck in a USB adapter. There are many versions available, with various desktop environments. I don’t use a desktop environment, so I downloaded the “standard” one.
You have to tell the box that it’s OK to boot from something plugged in to the USB port. So you have to enter the BIOS to give it this reassurance. These instructions may be useful.
After fiddling with the bios, plug in the USB key containing your Debian ISO and push the power button to reboot. Then just follow the instructions to install Debian and whatever packages you think you want initially. It’s all straightforward except for the disk partitioning, for which I find the interface a bit confusing. I just chose the options for guided partitioning and devoted the whole disk to the install, which will wipe out Windows.
Then you can reboot without the USB key and enjoy Linux. I installed Debian 10 (buster) and, since I don’t use a desktop, the next steps for me were installing X11 and the dwm window manager from the console. But if you are more normal, you will be dealing with some graphical environment right away.
Everything worked
There is not much more to say, because pretty much everything just worked. I did not try the WiFi dongle that came in the box, and probably never will, because I gave it to a friend. The machine appears not to have a bluetooth radio. Connection to the internet through the ethernet port happened without any intervention. Video output through a DisplayPort → HDMI cable to a TV worked fine. The usual X11 settings were needed to account for the display resolution, but that’s standard.
Except sound
If you have experience with Linux, you were waiting for this shoe to drop. No sound from any source to any output. But it turned out to be easy to fix!
The machine has two soundcards, and alsa chooses the one that doesn’t seem to work under Debian. All you need to do is change the default by creating a file in /etc
called asound.conf
with these contents:
defaults.pcm.card 1
defaults.ctl.card 1
After creating this file, I got sound from everywhere, even the web browser, out of the tinny built-in speaker or through the headphone-out jack. No restarting or anything else was necessary. This was relatively easy to diagnose because Debian without a desktop does not come with Pulseaudio and the other layers of crap that all conflict with each other and often make it hard to find out what’s going on.
Debian by default will un-power the soundcard after a few seconds when it’s not playing any sound, as a power-saving measure. Unfortunately, this causes all kinds of noise to leak out of the headphone jack. To correct this horrible state of affairs, execute these commands as root:
echo "0" | tee /sys/module/snd_hda_intel/parameters/power_save
echo "options snd_hda_intel power_save=0" |
tee -a /etc/modprobe.d/audio_disable_powersave.conf
I broke the second command at the pipe so it would fit here. The first command should have an instant effect; the second is to persist the setting when rebooting.
And ecrypt
This hasn’t worked in Debian for a long time, because of a bug that caused them to remove it from the repository. So this issue has nothing in particular to do with the ThinkCentre, but is a general Debian problem. But here is the solution, in case you, like me, have used Ubuntu on your home computers up to now, on which ecrypt works fine, but have decided to try Debian because you, like me, have had enough of the gradually increasing levels of stupidity that Ubuntu is including with their distribution.
The solution is to get the build script from here. Worked first time without a hitch. Thank you, AG/mzpqnxow, whoever you are.
Good deal
I’m happy with my little Lenovo box, and quite happy with Debian Linux. After a month of daily use, with several power outages causing violent shutdowns, it continues to hum along without any problems.
There is one little oddity with this hardware. If you shut down with a command, the machine will boot right back up. The little fellow is so eager! You need to hold down the power button to convince it to take a break.
Perhaps most people now use a laptop as their main personal computer. I certainly have been doing so for many years. But the nature of laptops is to force you to compromise your posture. The connection between the keyboard and the screen makes an ideal working position impossible. One solution is a mini desktop like the ThinkCentre, or something similar, since, because of the pandemic, we’re not spending so much work time in the coffee shop these days, but spending more time than ever with our computers. Especially if you have a spare TV or monitor handy, it’s cheap and easy to try out. Your neck and shoulder muscles may thank you.