]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
boot: Make missing CHID DTB match a debug message instead of an error
authorHans de Goede <johannes.goede@oss.qualcomm.com>
Thu, 5 Mar 2026 13:20:06 +0000 (14:20 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 5 Mar 2026 17:29:16 +0000 (18:29 +0100)
With distributions like Ubuntu and Fedora using systemd-stub to auto load
DTB's on Windows on ARM laptops, the CHID DTB match failing is expected
when that same UKI is instead booted on an ARM SystemReady system where
no DTB is necessary.

In the ARM SystemReady case showing a big red error message is undesirable
and leads to confused users and bug-reports. Lower the message to debug
level when the status is EFI_NOT_FOUND to avoid these false positive error
messages.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2444759
src/boot/pe.c

index 397a7a69404ba8525a67984186efa892f6dd2e17..255e8539de1d5bf14bfec72f29e12b5085ec4723 100644 (file)
@@ -396,7 +396,8 @@ static void pe_locate_sections(
 
                         EFI_STATUS err = chid_match(hwids, hwids_section[0].memory_size, DEVICE_TYPE_DEVICETREE, &device);
                         if (err != EFI_SUCCESS) {
-                                log_error_status(err, "HWID matching failed, no DT blob will be selected: %m");
+                                log_full(err, (err == EFI_NOT_FOUND) ? LOG_DEBUG : LOG_ERR,
+                                         "HWID matching failed, no DT blob will be selected: %m");
                                 hwids = NULL;
                         }
                 }