[PATCH v3 0/5] Add support of Android Boot Image version 2 and non-AB image

Mattijs Korpershoek mkorpershoek at baylibre.com
Thu Nov 21 15:38:49 CET 2024


On jeu., nov. 21, 2024 at 12:11, "Mattijs Korpershoek via groups.io" <mkorpershoek=baylibre.com at groups.io> wrote:

> Hi,
>
> On jeu., nov. 21, 2024 at 10:40, Mattijs Korpershoek <mkorpershoek at baylibre.com> wrote:
>
>> Hi Guillaume,
>>
>> On mer., nov. 20, 2024 at 18:54, Guillaume LA ROQUE <glaroque at baylibre.com> wrote:
>>
>>> Hi,
>>>
>>> unfortunately i don't find for now how i can fix issue in test.
>>>
>>> i don't really understand with when we launch test individually it's 
>>> working but if we launch test_ut test not working ,
>>> I see on android test for image version 4 to mmc7 in bootflow list detected.
>>>
>>> => ut bootstd bootflow_android_image_v4
>>> Test: bootflow_android_image_v4: bootflow.c
>>> scan_mmc_android_bootdev: mmc7
>>> order 0: mmc2
>>> order 1: mmc1
>>> order 2: mmc7
>>> order 3: <NULL>
>>> Enabled mmc mmc7 bootdev
>>>        ab_select_slot() ANDROID: Attempting slot a, tries remaining 7
>>>        ab_select_slot() ANDROID: Attempting slot a, tries remaining 7
>>> Older order: mmc2
>>> Showing all bootflows
>>> Seq  Method       State   Uclass    Part Name Filename
>>> ---  -----------  ------  --------  ---- ------------------------ 
>>> ----------------
>>>    0  extlinux     ready   mmc          1 mmc1.bootdev.part_1 
>>> /extlinux/extlinux.conf
>>>    1  android      ready   mmc          0 mmc7.bootdev.whole
>>>    2  android      ready   mmc          0 mmc7.bootdev.whole
>>> ---  -----------  ------  --------  ---- ------------------------ 
>>> ----------------
>>> (3 bootflows, 3 valid)
>>>
>>> if we just launch bootflow_android_image_v4 we have only a 
>>> mmc7.bootdev.whole and so test is ok.
>>>
>>> if someone have an idea or can give some idea of what i can try or check .
>>>
>>> thanks for helping.
>>
>> I'll have a look
>
> The following command fails:
> $ ./test/py/test.py --bd sandbox --build -k test_ut
>
> Running both test at the same time fails as well:
> $ ./test/py/test.py --bd sandbox --build -k bootflow_android_image_v
>
> However, running individually, no issues are observed:
> $ ./test/py/test.py --bd sandbox --build -k bootflow_android_image_v4
> $ ./test/py/test.py --bd sandbox --build -k bootflow_android_image_v2
>
> Going back to look at the v1 series [1], the tests were working fine.
>
> If we use the following base (from [1]), it works fine:
> commit 9e1cd2f2cb86 ("Merge https://source.denx.de/u-boot/custodians/u-boot-usb")
>
> However, the don't when using this base:
> commit b7d4c80fce44 ("Merge tag 'efi-next-2024-11-18' of https://source.denx.de/u-boot/custodians/u-boot-efi into next")
>
> I've bisected the issue and I've found that the following patch from
> Simon causes the issue:
> commit fbdac8155c89 ("test: Expand implementation of ut_list_has_dm_tests()")
>
> Reverting the above patch fixes the problem when running with:
> $ ./test/py/test.py --bd sandbox --build -k test_ut
>
> However, I don't understand why Simon's patch causes a duplicate mmc7
> dev to be mounted.
>
> I will continue the investigation.

Ok, I found the issue. it's not a duplicate mmc7, but we bind the
bootmeth multiple times, which causes issues.

This can also be reproduced on next with:
$ ./test/py/test.py --bd sandbox --build -k test_ut
$ ./test/py/test.py --bd sandbox --build -k "bootflow_android or bootflow_cros"

I will send a patch.

>
> [1] https://lore.kernel.org/all/20241017-adnroidv2-v1-0-781c939902c9@baylibre.com/
>
>>
>>>
>>> Guillaume
>>> Le 20/11/2024 à 13:56, Guillaume LA ROQUE a écrit :
>>>> Hi,
>>>>
>>>> Le 19/11/2024 à 18:21, Mattijs Korpershoek a écrit :
>>>>> Hi Guillaume,
>>>>>
>>>>> On mar., nov. 19, 2024 at 15:16, Mattijs Korpershoek 
>>>>> <mkorpershoek at baylibre.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On Tue, 19 Nov 2024 12:37:37 +0100, Guillaume La Roque wrote:
>>>>>>> Actually bootmethod android only support android boot image version 4
>>>>>>> and with AB image, some old platform wtill use android boot image
>>>>>>> version 2 with AB or without AB slot.
>>>>>>>
>>>>>>> This patchset add support of both version 2 and non-AB slot images.
>>>>>>> It's fixed in same time a boot issue seen on khadas vim3{l} board 
>>>>>>> with 16GB eMMC
>>>>>>>
>>>>>>> [...]
>>>>>> Thanks, Applied to 
>>>>>> https://source.denx.de/u-boot/custodians/u-boot-dfu (u-boot-dfu-next)
>>>>>>
>>>>>> [1/5] bootstd: android: add support of bootimage v2
>>>>>> https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/dbe7eee992e90bbe84278db20d29159e3eedfe0d
>>>>>> [2/5] bootstd: android: add non-A/B image support
>>>>>> https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/a85f2e0e7bd3665366ca2704d1142d3f16f22c36
>>>>>> [3/5] configs: khadas-vim3l_android{_ab}: move on bootmeth android
>>>>>> https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/88547773b2df5e4cabbaec57a0f2e7f212dbf823
>>>>>> [4/5] configs: khadas-vim3_android{_ab}: move on bootmeth android
>>>>>> https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/4a2e58717f2f33ef0dbb422026ef71938f2265aa
>>>>>> [5/5] bootstd: Add test for Android boot image v2
>>>>>> https://source.denx.de/u-boot/custodians/u-boot-dfu/-/commit/acaa7f35a33146f887948d34130229388280844a
>>>>> CI has found some issues when applying these series:
>>>>> https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/23452
>>>>>
>>>>> Could you have a look please?
>>>> i will check
>>>>>
>>>>> Thanks!
>>>>>
>>>>>> -- 
>>>>>> Mattijs
>>>>
>>>>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#2578): https://groups.io/g/u-boot-amlogic/message/2578
> Mute This Topic: https://groups.io/mt/109662676/1991006
> Group Owner: u-boot-amlogic+owner at groups.io
> Unsubscribe: https://groups.io/g/u-boot-amlogic/unsub [mkorpershoek at baylibre.com]
> -=-=-=-=-=-=-=-=-=-=-=-


More information about the U-Boot mailing list