This is a story about how I moved my server between locations 250 kilometers apart. The primary reason for making this move was to perform the initial backup to a new off-site storage location on a faster connection than what I have available at home. The second and better reason was, of course, curiosity. The server in this case is my Thinkpad T430. The setup This is what my setup looks like:
I was hesitant to even set up an XMPP account since even Matrix is barely getting any traction. And I really don’t like unnecessary fragmentation. However, the software from XMPP ecosystem is way more lightweight than Matrix so my first steps were to set up Ejabberd and check out what it’s all about. I know it’s not the most lightweight of XMPP servers, but it seemed to have the most features and docker images available by upstream.
After a long time of ignoring this platform and only ever having tried CloudReady (which this is based on), I tried to install ChromeOS on some of my older machines. While the older ones like Thinkpad X200 performed poorly as expected, newer machines performed well. I’ll elaborate on a few different points in which I see the value of this OS. Installation There aren’t many options to choose from and when installing this OS, you are going to wipe your existing OS.
About a year ago I decided to revamp my personal cloud. Main objectives were to make it more manageable and use as much pre-made software suites as possible instead of maintaining my own. This article is about what software I chose, which software it replaced as well as reasons why this was done. Oh and of course, I’ll start with hardware. Hardware and Performance Considerations old solution: Thinkpad X200 + ultrabase
I am trying to document how much of an impact VFIO has on gaming performance. More benchmarks will come in the future, but for now, let’s look at Forza Horizon 5. I picked Forza Horizon 5 to do these tests as it is somewhat demanding and has a benchmark mode which displays somewhat interesting results. The graphics are all maxed out and both vsync and g-sync are off, in game and in any applicable place.
As I was migrating my whole system over to btrfs the other day, I came across my docker volume which was already btrfs and using subvolumes. This was of course intentional, however, I had no idea how to properly move those subvolumes to the new disk. Surprisingly, it was somewhat easy. Btrfs has send-receive functionality which you can use to move data between disks (even do stuff like incremental backups, replication and so on.
If you lock your 2008-2010-era Thinkpad with a supervisor password and forget it, there is not much you can do. Unplugging the battery won’t help (although I have heard that supervisor password on some models can be removed this way) and getting Lenovo to fix it for you can be time-consuming, especially compared to how easy to service and how well documented these machines are. This tutorial could work on other laptops, not only Thinkpads.
With ZFS on Linux, it often happens that zpool is created using disk identifiers such as /dev/sda. While this is fine for most scenarios, the recommended practice is to use the more guaranteed disk identifiers such as the ones found in /dev/disk/by-id. This blog post describes 3 methods how to change the disk identifiers in such zpool after it has been created. All this without migrating data, adding disks or having physical access to the machine.
So I have decided to go Void Linux on all my machines. One of the advantages for me was the absence of systemd and the presence of musl libc, my admiration for which I shared in a recent blog post about Alpine Linux. I was trying to find a tutorial on how to make an encrypted root partition work with Raspberry Pi. I have a strong belief that all offline storage should be encrypted today.
Alpine Linux is an interesting Linux distribution meant for embedded devices. Its key ability is running on a diskless system. Unlike other embedded distributions, it remains very usable for desktop use. The recommended, standard edition, runs a hardened Linux kernel with grsec and PaX patchsets. This strengthens the security of an already secure operating system. I will explain why I chose Alpine as my daily driver and share my opinion on its package management, memory footprint and shortcomings.