Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

53 views
Skip to first unread message

Jochen Sprickerhof

unread,
Jun 2, 2022, 11:40:07 AM6/2/22
to
Package: u-boot-exynos
Version: 2022.04+dfsg-2+b1
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.


-- System Information:
Debian Release: bookworm/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: armhf (armv7l)

Kernel: Linux 5.17.0-3-armmp (SMP w/8 CPU threads)
Kernel taint flags: TAINT_UNSIGNED_MODULE
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- no debconf information

Vagrant Cascadian

unread,
Nov 4, 2022, 5:30:04 PM11/4/22
to
On 2022-06-02, Jochen Sprickerhof wrote:
> 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

Thanks for bringing this up in IRC.

My guess is this was broken in 2022.04, and fixed in 2022.07-rc5 with
this commit:

commit e744bf3a4ba442a0e9ee1c509c70e1452e3a15d0
Author: Tom Rini <tr...@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 <gho...@yo2urs.ro>
Tested-by: Gabriel Hojda <gho...@yo2urs.ro>
Signed-off-by: Tom Rini <tr...@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
signature.asc

Jochen Sprickerhof

unread,
Dec 25, 2022, 2:03:10 PM12/25/22
to
Hi Vagrant,

* Vagrant Cascadian <vag...@debian.org> [2022-11-04 14:22]:
>On 2022-06-02, Jochen Sprickerhof wrote:
>> 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
>
>Thanks for bringing this up in IRC.
>
>My guess is this was broken in 2022.04, and fixed in 2022.07-rc5 with
>this commit:
>
[..]
>
>Could you test 2022.10 from unstable and/or pull 2022.07 from
>snapshots.debian.org and test it?

I finally found time to test, sorry for the delay. Still the same
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
signature.asc

Vagrant Cascadian

unread,
Dec 28, 2022, 9:10:03 PM12/28/22
to
On 2022-12-25, Jochen Sprickerhof wrote:
> * Vagrant Cascadian <vag...@debian.org> [2022-11-04 14:22]:
>>On 2022-06-02, Jochen Sprickerhof wrote:
>>> 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
...
>>My guess is this was broken in 2022.04, and fixed in 2022.07-rc5 with
>>this commit:
...
>>Could you test 2022.10 from unstable and/or pull 2022.07 from
>>snapshots.debian.org and test it?
>
> I finally found time to test, sorry for the delay. Still the same
> 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)
...
> 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 **
...
> The workaround with:
>
> ln -s exynos5422-odroidxu4.dtb exynos5422-smdk5420xu4.dtb

Hrm. This suggests the fix might not have been effective, which should
have been included in 2022.07... CCing upstream...

commit e744bf3a4ba442a0e9ee1c509c70e1452e3a15d0
Author: Tom Rini <tr...@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 <gho...@yo2urs.ro>
Tested-by: Gabriel Hojda <gho...@yo2urs.ro>
Signed-off-by: Tom Rini <tr...@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
signature.asc

Jochen Sprickerhof

unread,
Dec 29, 2022, 2:10:05 AM12/29/22
to
* Vagrant Cascadian <vag...@debian.org> [2022-12-28 18:00]:
>Hrm. This suggests the fix might not have been effective, which should
>have been included in 2022.07... CCing upstream...
>
>commit e744bf3a4ba442a0e9ee1c509c70e1452e3a15d0
>Author: Tom Rini <tr...@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 <gho...@yo2urs.ro>
> Tested-by: Gabriel Hojda <gho...@yo2urs.ro>
> Signed-off-by: Tom Rini <tr...@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.

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
signature.asc
0 new messages