`mkinitramfs` error after `apt upgrade`

I finally got my uConsole CM4 yesterday, re-flashed the card to the official uConsole_CM4_v2.0_64bit.img image, and am using that to get familiar with the system.

After running apt update and apt upgrade, every time I use apt to install or upgrade something, it’s been complaining with the following error:

$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up initramfs-tools (0.142+rpt4+deb12u3) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.142+rpt4+deb12u3) ...
update-initramfs: Generating /boot/initrd.img-6.12.32-v8+
mkinitramfs: failed to determine device for /
mkinitramfs: workaround is MODULES=most, check:
grep -r MODULES /etc/initramfs-tools

Error please report bug on initramfs-tools
Include the output of 'mount' and 'cat /proc/mounts'
update-initramfs: failed for /boot/initrd.img-6.12.32-v8+ with 1.
dpkg: error processing package initramfs-tools (--configure):
 installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

There is no file named /etc/initramfs-tools, but there is a directory with that name. In that directory, /etc/initramfs-tools/initramfs.conf contains this (which must have been there in the original image, because I didn’t set it) …

MODULES=dep

The error message seems to suggest changing this line to MODULES=most … my concern is if I do this, will it build an initrd which is missing something needed for the uConsole hardware, leaving me with a system that won’t boot, or won’t talk to all of its own hardware?

Rather than waiting around for an answer, I just tried it, and it looks like it generated a new initrd file without any error messages. Rebooting now, let’s see what happens … and it booted back up without any obvious problems.

So this doesn’t seem to be a real problem for me, however I am still curious. If I understand what’s going on, it seems like MODULES=dep should be the correct choice, because it selects the modules based on the hardware it’s running on, and because it’s what was in the official image from Clockwork.

Does anybody have any idea why this didn’t work until I changed it? … I know the error message says to report it as a bug against the initramfs-tools package, but before I do that, I want to understand what actually happened, and be sure that it is a bug in the package, rather than user error on my part, or a non-standard setting in the Clockwork image.

The official Clockwork images aren’t really maintained, and generally have issues the longer the device has been out. If I remember correctly, it took a few years until the GameShell OS was unable to be updated, and about the same for the Devterm. Maybe in another year or so the uConsole official OS will be be just as broken and unusable. While you could choose to spend the time to roll your own working OS for the uConsole, there are plenty of community OS flavors that are maintained on the forums here. Most are from @Rex, and one was suggested above, but there are several others.

Clockwork makes decent and affordable hardware, but they don’t really do much in terms of software support (beyond bringing up an initial proof of concept OS), and leave the rest up to their customers, and the community.

Only reason they released an update to their uconsole images after the initial release is that they got a different panel and had to upgrade the driver. And it looks like that driver is the only thing they fixed

use the community images, there everything works out of the box.