From: Mattijs Korpershoek <mkorpershoek@baylibre.com>
To: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>,
Julien Masson <jmasson@baylibre.com>,
Guillaume La Roque <glaroque@baylibre.com>,
Dmitrii Merkurev <dimorinny@google.com>,
Roman Stratiienko <r.stratiienko@gmail.com>,
Igor Opaniuk <igor.opaniuk@gmail.com>,
u-boot@lists.denx.de
Subject: Re: [PATCH v2 0/5] bootstd: Add Android support
Date: Thu, 04 Jul 2024 11:09:54 +0200 [thread overview]
Message-ID: <87le2hmskd.fsf@baylibre.com> (raw)
In-Reply-To: <20240620142337.GA3542727@bill-the-cat>
Hi Tom,
On jeu., juin 20, 2024 at 08:23, Tom Rini <trini@konsulko.com> wrote:
> On Thu, Jun 13, 2024 at 12:13:07PM +0200, Mattijs Korpershoek wrote:
>
>> Android boot flow is a bit different than a regular Linux distro.
>> Android relies on multiple partitions in order to boot.
>>
>> A typical boot flow would be:
>> 1. Parse the Bootloader Control Block (BCB, misc partition)
>> 2. If BCB requested bootonce-bootloader, start fastboot and wait.
>> 3. If BCB requested recovery or normal android, run the following:
>> a. Get slot (A/B) from BCB
>> b. Run AVB (Android Verified Boot) on boot partitions
>> c. Load boot and vendor_boot partitions
>> d. Load device-tree, ramdisk and boot
>>
>> The AOSP documentation has more details at [1], [2], [3]
>>
>> This has been implemented via complex boot scripts such as [4].
>> However, these boot script are neither very maintainable nor generic.
>> Moreover, DISTRO_DEFAULTS is being deprecated [5].
>>
>> Add a generic Android bootflow implementation for bootstd.
>>
>> For this initial version, only boot image v4 is supported.
>>
>> This has been tested on sandbox using:
>> $ ./test/py/test.py --bd sandbox --build -k test_ut
>>
>> This has also been tested on the AM62X SK EVM using TI's Android SDK[6]
>> To test on TI board, the following (WIP) patch is needed as well:
>> https://gitlab.baylibre.com/baylibre/ti/ti-u-boot/-/commit/84cceb912bccd7cdd7f9dd69bca0e5d987a1fd04
>>
>> [1] https://source.android.com/docs/core/architecture/bootloader
>> [2] https://source.android.com/docs/core/architecture/partitions
>> [3] https://source.android.com/docs/core/architecture/partitions/generic-boot
>> [4] https://source.denx.de/u-boot/u-boot/-/blob/master/include/configs/meson64_android.h
>> [5] https://lore.kernel.org/r/all/20230914165615.1058529-17-sjg@chromium.org/
>> [6] https://software-dl.ti.com/processor-sdk-android/esd/AM62X/09_02_00/docs/android/Overview.html
>
> This leads to failures in CI such as:
> =================================== FAILURES ===================================
> ___________________________ test_ut_dm_init_bootstd ____________________________
> test/py/tests/test_ut.py:555: in test_ut_dm_init_bootstd
> setup_android_image(u_boot_console)
> test/py/tests/test_ut.py:488: in setup_android_image
> with open(boot_img, 'rb') as inf:
> E FileNotFoundError: [Errno 2] No such file or directory: '/tmp/malta64el/bootv4.img'
> ----------------------------- Captured stdout call -----------------------------
Thank you for reporting, and sorry about the CI failure.
I think I need to somehow declare a dependency on the bootv4.img file.
I will send a v3 to fix this.
>
> --
> Tom
prev parent reply other threads:[~2024-07-04 9:10 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 10:13 [PATCH v2 0/5] bootstd: Add Android support Mattijs Korpershoek
2024-06-13 10:13 ` [PATCH v2 1/5] boot: android: Provide vendor_bootimg_addr in boot_get_fdt() Mattijs Korpershoek
2024-06-13 15:22 ` Simon Glass
2024-06-13 15:42 ` Julien Masson
2024-06-13 17:10 ` Igor Opaniuk
2024-06-13 18:43 ` Guillaume LA ROQUE
2024-06-13 10:13 ` [PATCH v2 2/5] bootstd: Add bootflow_iter_check_mmc() helper Mattijs Korpershoek
2024-06-13 14:16 ` Julien Masson
2024-06-13 18:44 ` Guillaume LA ROQUE
2024-06-13 10:13 ` [PATCH v2 3/5] android: boot: Add set_abootimg_addr() and set_avendor_bootimg_addr() Mattijs Korpershoek
2024-06-13 14:16 ` Julien Masson
2024-06-13 15:20 ` Simon Glass
2024-06-13 18:45 ` Guillaume LA ROQUE
2024-06-13 10:13 ` [PATCH v2 4/5] bootstd: Add a bootmeth for Android Mattijs Korpershoek
2024-06-13 14:19 ` Julien Masson
2024-06-13 10:13 ` [PATCH v2 5/5] bootstd: Add test for bootmeth_android Mattijs Korpershoek
2024-06-13 14:19 ` Julien Masson
2024-06-13 18:47 ` Guillaume LA ROQUE
2024-06-14 9:53 ` [PATCH v2 0/5] bootstd: Add Android support Guillaume LA ROQUE
2024-06-14 11:44 ` Mattijs Korpershoek
2024-06-17 13:53 ` Simon Glass
2024-06-17 15:15 ` Mattijs Korpershoek
2024-06-19 3:03 ` Simon Glass
2024-06-19 9:25 ` Mattijs Korpershoek
2024-07-24 12:43 ` Mattijs Korpershoek
2024-06-20 14:23 ` Tom Rini
2024-07-04 9:09 ` Mattijs Korpershoek [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87le2hmskd.fsf@baylibre.com \
--to=mkorpershoek@baylibre.com \
--cc=dimorinny@google.com \
--cc=glaroque@baylibre.com \
--cc=igor.opaniuk@gmail.com \
--cc=jmasson@baylibre.com \
--cc=r.stratiienko@gmail.com \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.