open source
How to customize the dtb (device tree overlay) on the Raspberry Pi
Every so often, when you're debugging weird hardware issues on SBCs like the Raspberry Pi, it's useful to get way down into the guts of how the Pi represents its hardware to Linux.
And the Linux kernel uses a method called Device Tree overlays to do it. On the Pi 5 (and other Pis), these overlays are stored as .dtb
files inside the /boot/firmware
directory, and there's an overlay for every major Raspberry Pi hardware model.
I've had to modify the dtb
files in the past to increase the PCIe BAR space for early GPU testing on the Compute Module 4. And recently I've had to mess with how the PCIe address space is set up for testing certain devices on the Raspberry Pi 5.
Ansible Galaxy error 'Unable to compare role versions'
Ansible Galaxy was recently updated to the 'Next Generation' (Galaxy-NG) codebase.
There are some growing pains, as a lot of Galaxy NG was built up around Collections, and Ansible role support was written into the codebase over the past year or so, after it became obvious Galaxy roles would not be deprecated.
Unfortunately, one of the major issues right now—which I'm seeing pop up in many places—is an error that occurs upon installation of Galaxy roles for any playbook (e.g. when you run ansible-galaxy install
to download a role), for any role that has had a new version released in the past few weeks.
You wind up with an error like:
Testing PCIe on the Raspberry Pi 5
If you haven't heard, the Raspberry Pi 5 was announced today (it'll be available in October).
I have a full video going over the hardware—what's changed, what's new, and what's gone—and I've embedded it below. Scroll beyond to read more about specs, quirks, and some of the things I learned testing a dozen or so PCIe devices with it.
My own magic-wormhole relay, for zippier transfers
If you've ever had to transfer a file from one computer to another over the Internet, with minimal fuss, there are a few options. You could use scp
or rsync
if you have SSH access. You could use Firefox Send, or Dropbox, or iCloud Drive, or Google Drive, and upload from one computer, and download on the other.
But what if you just want to zap a file from point A to point B? Or what if—like me—you want to see how fast you can get an individual file from one place to another over the public Internet?
Fork Yeah! Examining open source history after Red Hat's move
We're at the stage in the Red Hat drama where everyone is consulting history, trying to figure out what parts are being repeated in 2023 after Red Hat effectively locked down the sources used to build RHEL clones.
One talk linked quite often was Fork Yeah! The Rise and Development of illumos, by Bryan Cantrill over a decade ago. Bryan was a software engineer at Sun, who went over to Oracle after the buyout, then left to join Joyent, and now resides as CTO of Oxide.
The talk focuses on Sun Microsystem's handling of Solaris and OpenSolaris, both before and after their Oracle acquisition, and the whole talk is worth a listen—so much context about the history of ZFS, Solaris, Illumos, dtrace, and even UNIX and Linux history are contained within.
But there was one section (around the 32:00 mark) where if you substitute "Red Hat" for "Sun," rhymes with this year's "open source company" drama:
I went back and looked at some of the mail trails about this and like, "oh, my God!"
Clearing up FUD surrounding Red Hat's actions
As someone who champions truth, yet knows truth is bent to espouse many ideas, I realize clever phrasing often turns irrational lies into strong beliefs—especially when passion takes over.
And we in the open source community are a passionate bunch.
But to clear the air a little bit—especially as I have seen some zingers going both directions (from Red Hat employees to the community, and vice-versa):
I was wrong
...about Red Hat's EULA and its enforceability according to the license terms of the GPLv2. (Specifically in reference to my blog post last Wednesday).
And for that, I apologize.
Basically, the GPLv2 says there can be "no restrictions" placed on any use of the source code provided to any user of the software with its license.
Red Hat's EULA says that Red Hat reserves the right to terminate your business relationship (the Red Hat Subscription) if you redistribute the source code.
This doesn't restrict your right to share the source code that has been previously provided, since you are still free to do so.
It doesn't make sense logically, and certainly not ethically (I don't think anyone could argue this is in the spirit of the GPLv2 license), but legally, logic and ethics sometimes take a back seat to interpretation.
Update: I still think a court case could go either way given enough money and good lawyers, but apparently IBM's lawyers don't, otherwise they wouldn't have written the EULA.
GPLv2, Red Hat, and You
(See update at the bottom of this post)
One of the interesting outcomes of the Red Hat situation:
Distribution of GPLv2-licensed code requires no restrictions be placed on downstream users rights to use and redistribute the code (whether they obtained it freely or paid for access):
Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients exercise of the rights granted herein.
Does threatening retaliation (account suspension) for sharing code count as a 'restriction' on exercising a user's rights?
So far I've heard from three corporate open source licensing experts the answer is no.
According to them, the EULA only deals with an account-holder's ability to acquire services from Red Hat (a contract).
I'm done with Red Hat (Enterprise Linux)
Two years ago, Red Hat killed CentOS, a widely-used free version of their Enterprise Linux distribution.
The community of CentOS users—myself included—were labeled as 'freeloaders', using the work of the almighty Red Hat corporation, without contributing anything back. Don't mind all the open source developers, Linux kernel contributors, and software devs who used CentOS for testing and building their software. Also ignore the fact that Red Hat builds their product on top of Linux, which they didn't build and don't own.