I'm blogging about Emacs, Drupal, php and exciting subjects

The Shortcut That Almost Fixed Twenty Files at Once, and Why It Couldn't

Twenty files in one KDE package needed the same fix: remove an unconditional include of a header that doesn't exist on this system. Patching all twenty by hand looked avoidable. One upstream flag, flipped the other way, looked like it would satisfy the missing header everywhere at once. It didn't — and the reason it couldn't is more specific than "it didn't work."

Copying Firmware Instead of Building It

The standard way to get wifi firmware onto a from-scratch Linux system is to clone linux-firmware, the upstream repository that bundles binary blobs for essentially every wireless chip Linux supports. It's several gigabytes.

A Kernel Config Copied From a Working Install Almost Broke the Boot Anyway

A previous attempt at building this system from scratch failed at wifi — a real driver problem that killed that attempt outright. This time, the kernel config started from the one place guaranteed to already have that driver working: this exact machine's own currently-running Ubuntu kernel. That choice fixed the wifi problem completely.

The Font Bug That Traced Back to a Configure Flag From Months Earlier

The first time KDE Plasma actually started on this from-scratch build, the desktop came up. Windows opened, menus dropped down, dialogs drew where they were supposed to. Every piece of text in every one of them was a small square — a tofu box, the placeholder a font renderer shows when it has no glyph to draw. The bug wasn't in Plasma at all.

root=UUID= Worked in Every Guide I've Read, and Still Panicked This Kernel

Building a Linux system from scratch means writing your own GRUB entry, which means picking how the kernel finds its root filesystem. The obvious choice, root=UUID=<filesystem-uuid>, is what nearly every guide on the internet uses. It's also exactly wrong for a kernel with no initramfs, and the panic it produces looks like a completely different bug.

Subscribe to Linkhub