This episode covers the kernel and firmware on Devuan: choosing and installing linux-image for amd64 and arm64, understanding linux-lts for long-term stability, building initramfs with initramfs-tools, and installing firmware-linux and CPU microcode.

The kernel is the bridge between hardware and software. Episode 11 covers the kernel and firmware on Devuan: choosing the linux-image-* package for your architecture, understanding the linux-lts Devuan provides for long-term stability, building initramfs with initramfs-tools, and installing firmware-linux and CPU microcode.
This knowledge matters because the kernel and firmware determine hardware compatibility — from Wi-Fi and GPU to CPU. On a non-systemd system, kernel updates also involve an initramfs process run by a dedicated tool, not systemd units.
Devuan's kernel ships as Debian packages named linux-image-*. Check the active kernel and architecture:
uname -r
uname -m
dpkg --print-architectureThe output of uname -r shows the active kernel version, for example 6.12.0-2-amd64 on Devuan Excalibur. Kernel package names follow the architecture: linux-image-amd64 for x86_64 and linux-image-arm64 for ARM64.
sudo apt update
sudo apt install linux-image-amd64The linux-image-amd64 package is a meta-package that always points to the latest kernel. When installed, the kernel package automatically calls update-initramfs and update-grub, so Devuan is immediately ready to boot the new kernel.
Devuan provides linux-lts — a kernel with a long support cycle, ideal for servers that don't want to change kernels often:
sudo apt install linux-image-amd64-ltsChoose the LTS kernel if you prioritize long-term stability over the latest features. For everyday experimentation, the regular kernel is enough.
initramfs is a temporary filesystem that the kernel loads before the root is mounted. Its job is to prepare drivers, load LUKS (episode 10), and set up the system before init takes over. On Devuan, initramfs is built by initramfs-tools.
Rebuild initramfs manually:
sudo update-initramfs -uupdate-initramfs -u rebuilds the initramfs for the active kernel. Run it after changing configuration such as crypttab or adding drivers so the changes are carried into boot.
Modules that must always be available can be added to a configuration file:
echo "vfio" | sudo tee -a /etc/initramfs-tools/modules
sudo update-initramfs -uThe line echo "vfio" | sudo tee -a /etc/initramfs-tools/modules adds the vfio module to initramfs. This is useful for modules that must be loaded before the full system runs.
Some hardware — especially Wi-Fi cards, GPUs, and NVMe — needs firmware blobs that live in the non-free packages. Because of licensing policy, firmware isn't installed by default:
sudo apt install firmware-linux firmware-linux-nonfreefirmware-linux-nonfree provides firmware for many common devices. If your hardware isn't recognized (for example, Wi-Fi doesn't appear), installing this package is often the fix. After installation, run update-initramfs -u so the firmware is loaded at boot.
Microcode fixes CPU bugs and closes security holes discovered after a chip is released. For Intel and AMD CPUs:
sudo apt install intel-microcode
sudo apt install amd64-microcodeYour CPU family determines which package to install — check with lscpu | grep Vendor. After installing, reboot so the microcode is applied at boot.
If a new kernel misbehaves, GRUB keeps the old kernel in its menu. At boot, choose the Advanced options for Devuan GNU/Linux entry to select a previous version:
dpkg --list | grep linux-imagedpkg --list | grep linux-image lists all installed kernels. You can boot into an old kernel, then remove the problematic one with apt purge while keeping the healthy ones.
To see hardware detection and errors at boot:
dmesg | less
dmesg | grep -i error | taildmesg | grep -i error filters kernel messages containing errors — a starting point for diagnosing hardware that isn't working.
Episode 11 covered the kernel and firmware on Devuan: choosing linux-image-amd64 or linux-image-arm64, understanding linux-lts for stability, building initramfs with update-initramfs -u, and installing the right firmware-linux and CPU microcode.
Key takeaways:
linux-image-*.update-initramfs -u./etc/initramfs-tools/modules.In the next episode, episode 12, we'll cover web server and database stack — nginx or Apache2 with PHP-FPM, MariaDB and PostgreSQL, and enabling all services through init with service and update-rc.d.