Johannes Schauer Marin Rodrigues
2025-01-02 23:00:01 UTC
Reply
PermalinkVersion: 4.2.3
Severity: normal
Hi,
I installed Debian Trixie on my MNT Reform with imx8mq with separate /boot
partition and a snippet from the resulting /boot/extlinux/extlinux.conf looks
like this:
default l0
menu title U-Boot menu
prompt 1
timeout 50
label l0
menu label Debian GNU/Linux trixie/sid 6.12.6-mnt-reform-arm64
linux /vmlinuz-6.12.6-mnt-reform-arm64
initrd /initrd.img-6.12.6-mnt-reform-arm64
append ro no_console_suspend cryptomgr.notests loglevel=3 ${bootargs} console=tty1
The lines that should contain an fdt or fdtdir entry are missing. Lets look at
the sh -x output to figure out why they were not generated:
1 P: Writing config for vmlinuz-6.12.6-mnt-reform-arm64...
2 + _NUMBER=0
3 + _ENTRY=1
4 + [ -e /boot/initrd.img-6.12.6-mnt-reform-arm64 ]
5 + _INITRD=initrd /initrd.img-6.12.6-mnt-reform-arm64
6 + [ -e ]
7 + [ -e /boot6.12.6-mnt-reform-arm64/ ]
8 + [ -d /boot6.12.6-mnt-reform-arm64/ ]
9 + [ -f /boot/dtb-6.12.6-mnt-reform-arm64 ]
10 + [ /usr/lib/linux-image- = ]
11 + _FDT=
Line 6 checks an empty value because U_BOOT_FDT is unset. Line 7 and 8 cannot
work because there is a missing slash between ${_BOOT_PATH} and
${U_BOOT_FDT_DIR}. Line 9 finds /boot/dtb-6.12.6-mnt-reform-arm64 but the check
in line 10 fails because {U_BOOT_FDT_DIR} is unset. Why is it unset? Because
even though read-config found a separate /boot partition in
has_separate_boot(), U_BOOT_SYNC_DTBS was set to false, so _FDT_DIR was never
set to "/dtb-" and even if it were set to that, the check in line 10 would
still fail because "/usr/lib/linux-image-" is not equal to "/dtb-". So to
summarize:
1. why is a fdt or fdtdir line not added by default?
2. why are there missing slashes in line 7 and 8?
3. why do i have to enable U_BOOT_SYNC_DTBS? I already use flash-kernel for that
4. why is there a check for "/usr/lib/linux-image-" if _FDT_DIR gets set to "/dtb-"?
One workaround is to set:
U_BOOT_FDT_DIR="/dtbs/"
which will then add fdtdir entries that look correct. The slashes are critical
because they are missing in the u-boot-update script.
Thanks!
cheers, josch