#1012269 u-boot-exynos on Odroid XU4 searches for exynos5422-smdk5420xu4.dtb instead of exynos5422-odroidxu4.dtb

#1012269#5
Date:
2022-06-02 15:32:08 UTC
From:
To:
Hi Vagrant,

with the latest u-boot-exynos in unstable it tries to load
exynos5422-smdk5420xu4.dtb whereas linux-image-5.17.0-3-armmp only
contains exynos5422-odroidxu4.dtb. This was not the case with 2022.01+dfsg-2:

U-Boot 2022.04+dfsg-2+b1 (May 14 2022 - 21:25:25 +0000) for ODROID-XU3/XU4/HC1/HC2
[..]
Retrieving file: /usr/lib/linux-image-5.17.0-3-armmp/exynos5422-smdk5420xu4.dtb
** File not found /usr/lib/linux-image-5.17.0-3-armmp/exynos5422-smdk5420xu4.dtb **

U-Boot 2022.01+dfsg-2 (Jan 26 2022 - 19:58:27 +0000) for ODROID-XU3/XU4/HC1/HC2
[..]
Retrieving file: /usr/lib/linux-image-5.17.0-3-armmp/exynos5422-odroidxu4.dtb

The /boot/extlinux/extlinux.conf is generated by u-boot-menu and
contains:

default l0
menu title U-Boot menu
prompt 0
timeout 50


label l0
        menu label Debian GNU/Linux bookworm/sid 5.17.0-3-armmp
        linux /boot/vmlinuz-5.17.0-3-armmp
        initrd /boot/initrd.img-5.17.0-3-armmp
        fdtdir /usr/lib/linux-image-5.17.0-3-armmp/
        append root=LABEL=mmcroot rw quiet

I added a symlink to the old file for now.

I did not test the version in experimental, didn't see it before putting
the system back into production.

#1012269#10
Date:
2022-11-04 21:22:10 UTC
From:
To:
My guess is this was broken in 2022.04, and fixed in 2022.07-rc5 with
this commit:

commit e744bf3a4ba442a0e9ee1c509c70e1452e3a15d0
Author: Tom Rini <trini@konsulko.com>
Date:   Wed Jun 8 14:30:14 2022 -0400

    odroid_xu3: Fix board environment variable

    When migrating CONFIG_CONS_INDEX to Kconfig, on this platform we changed
    what "board" evaluated to in the environment.  This in turn meant that
    we would no longer try and find the correct fdtfile via the normal
    distro boot logic.  Fix this by overriding board in the default
    environment, as done on other platforms where CONFIG_SYS_BOARD is not
    what we want to be in the board environment variable.

    Fixes: f76750d11133 ("Convert CONFIG_CONS_INDEX et al to Kconfig")
    Reported-by: Gabriel Hojda <ghojda@yo2urs.ro>
    Tested-by: Gabriel Hojda <ghojda@yo2urs.ro>
    Signed-off-by: Tom Rini <trini@konsulko.com>

diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h
index eb35d7b4ae..360815bc03 100644
--- a/include/configs/odroid_xu3.h
+++ b/include/configs/odroid_xu3.h
@@ -86,6 +86,7 @@
        "rootfstype=ext4\0" \
        "console=console=ttySAC2,115200n8\0" \
        "fdtfile=exynos5422-odroidxu3.dtb\0" \
+       "board=odroid\0" \
        "board_name=odroidxu3\0" \
        "mmcbootdev=0\0" \
        "mmcrootdev=0\0" \

Could you test 2022.10 from unstable and/or pull 2022.07 from
snapshots.debian.org and test it?


live well,
  vagrant

#1012269#15
Date:
2022-12-25 18:46:36 UTC
From:
To:
Hi Vagrant,

* Vagrant Cascadian <vagrant@debian.org> [2022-11-04 14:22]:
[..]
problem:

U-Boot 2022.10+dfsg-2 (Dec 23 2022 - 23:18:44 +0000) for ODROID-XU3/XU4/HC1/HC2

CPU:   Exynos5422 @ 800 MHz
DRAM:  2 GiB
Core:  73 devices, 12 uclasses, devicetree: separate
MMC:   EXYNOS DWMMC: 0, EXYNOS DWMMC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: Odroid XU3/XU4/HC1/HC2 based on Exynos5422
Type:  xu4
Boot device: MMC(0)
Net:   No ethernet found.
Hit any key to stop autoboot:  0
Card did not respond to voltage select! : -110
MMC Device 1 not found
no mmc device at slot 1
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
U-Boot menu
1:      Debian GNU/Linux bookworm/sid 6.0.0-6-armmp
2:      Debian GNU/Linux bookworm/sid 6.0.0-6-armmp (rescue target)
3:      Debian GNU/Linux bookworm/sid 5.18.0-2-armmp
4:      Debian GNU/Linux bookworm/sid 5.18.0-2-armmp (rescue target)
Enter choice: 1:        Debian GNU/Linux bookworm/sid 6.0.0-6-armmp
Retrieving file: /boot/initrd.img-6.0.0-6-armmp
Retrieving file: /boot/vmlinuz-6.0.0-6-armmp
append: root=LABEL=mmcroot rw quiet mitigations=off
Retrieving file: /usr/lib/linux-image-6.0.0-6-armmp/exynos5422-smdk5420xu4.dtb
** File not found /usr/lib/linux-image-6.0.0-6-armmp/exynos5422-smdk5420xu4.dtb **
Kernel image @ 0x42000000 [ 0x000000 - 0x4f3200 ]
## Flattened Device Tree blob at b99684d0
    Booting using the fdt blob at 0xb99684d0
    Loading Ramdisk to 4f3a5000, end 4fffff7f ... OK
    Loading Device Tree to 4f39e000, end 4f3a49a7 ... OK

Starting kernel ...

The workaround with:

ln -s exynos5422-odroidxu4.dtb exynos5422-smdk5420xu4.dtb

works.

Cheers Jochen

#1012269#20
Date:
2022-12-29 02:00:51 UTC
From:
To:
...
...
...
...
have been included in 2022.07... CCing upstream...

commit e744bf3a4ba442a0e9ee1c509c70e1452e3a15d0
Author: Tom Rini <trini@konsulko.com>
Date:   Wed Jun 8 14:30:14 2022 -0400

	odroid_xu3: Fix board environment variable

	When migrating CONFIG_CONS_INDEX to Kconfig, on this platform we changed
	what "board" evaluated to in the environment.  This in turn meant that
	we would no longer try and find the correct fdtfile via the normal
	distro boot logic.  Fix this by overriding board in the default
	environment, as done on other platforms where CONFIG_SYS_BOARD is not
	what we want to be in the board environment variable.

	Fixes: f76750d11133 ("Convert CONFIG_CONS_INDEX et al to Kconfig")
	Reported-by: Gabriel Hojda <ghojda@yo2urs.ro>
	Tested-by: Gabriel Hojda <ghojda@yo2urs.ro>
	Signed-off-by: Tom Rini <trini@konsulko.com>


Alternately... did you at any point run saveenv? This might have stored
the incorrect value... and then it might not probe for the correct
value.


live well,
  vagrant

#1012269#25
Date:
2022-12-29 07:06:54 UTC
From:
To:
* Vagrant Cascadian <vagrant@debian.org> [2022-12-28 18:00]:

I'm sure I never did that. Out of interest, where would it save the
environment? Afaik there is no persistent memory on the Odroid XU4
besids the emmc/sd card and my system uses a simple extlinux.conf
generated by u-boot-menu.

Cheers Jochen