#1012269 u-boot-exynos on Odroid XU4 searches for exynos5422-smdk5420xu4.dtb instead of exynos5422-odroidxu4.dtb #1012269
- Package:
- u-boot-exynos
- Source:
- u-boot
- Submitter:
- Jochen Sprickerhof
- Date:
- 2022-12-29 07:09:03 UTC
- Severity:
- normal
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.
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
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
...
...
...
...
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
* 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