| Message ID | 20230425184720.456896-1-ejo@pengutronix.de |
|---|---|
| Headers | show |
| Series | Add barebox bootloader support (and testing) | expand |
Hello Enrico, On Tue, 25 Apr 2023 20:47:11 +0200 Enrico Jörns <ejo@pengutronix.de> wrote: > This adds support for the barebox bootloader (and tools) to oe-core. > > In order to have proper testing, this extends oe-selftest to allow > basic testing of bootloaders. While at it, cover both barebox and u-boot. Some tests are failing with this series applied. Logs looking like: --------------------------------8<-------------------------------- 2023-04-26 02:45:38,232 - oe-selftest - INFO - barebox.BareboxTest.test_boot_barebox (subunit.RemotedTestCase) 2023-04-26 02:45:38,232 - oe-selftest - INFO - ... skipped 'Test skipped on x86_64\n' 2023-04-26 02:45:38,232 - oe-selftest - INFO - 1: 1/47 2/530 (0.00s) (0 failed) (barebox.BareboxTest.test_boot_barebox) 2023-04-26 02:45:38,232 - oe-selftest - INFO - Test skipped on x86_64 2023-04-26 02:46:47,829 - oe-selftest - INFO - fetch.Dependencies.test_dependencies (subunit.RemotedTestCase) 2023-04-26 02:46:47,829 - oe-selftest - INFO - ... ok 2023-04-26 02:46:47,829 - oe-selftest - INFO - 12: 2/20 3/530 (70.93s) (0 failed) (fetch.Dependencies.test_dependencies) 2023-04-26 02:46:54,605 - oe-selftest - INFO - barebox.BareboxTest.test_boot_barebox_efi (subunit.RemotedTestCase) 2023-04-26 02:46:54,605 - oe-selftest - INFO - ... FAIL Stderr: 2023-04-26 02:45:38,230 - oe-selftest - INFO - Adding: "include selftest.inc" in /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-3126928/conf/local.conf 2023-04-26 02:45:38,231 - oe-selftest - INFO - Adding: "include bblayers.inc" in bblayers.conf 2023-04-26 02:46:54,606 - oe-selftest - INFO - 1: 2/47 4/530 (76.37s) (0 failed) (barebox.BareboxTest.test_boot_barebox_efi) 2023-04-26 02:46:54,606 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last): File "/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f return func(*args, **kwargs) File "/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/lib/oeqa/selftest/cases/barebox.py", line 63, in test_boot_barebox_efi bitbake(image) File "/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/lib/oeqa/utils/commands.py", line 234, in bitbake return runCmd(cmd, ignore_status, timeout, output_log=output_log, **options) File "/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/lib/oeqa/utils/commands.py", line 212, in runCmd raise AssertionError("Command '%s' returned non-zero exit status %d:\n%s" % (command, result.status, exc_output)) AssertionError: Command 'bitbake core-image-minimal' returned non-zero exit status 1: Loading cache...done. Loaded 0 entries from dependency cache. Parsing recipes...done. Parsing of 955 .bb files complete (0 cached, 955 parsed). 1872 targets, 55 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies ERROR: Nothing RPROVIDES 'barebox' (but /home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/recipes-core/images/core-image-minimal.bb, /home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/recipes-core/packagegroups/packagegroup-core-boot.bb RDEPENDS on or otherwise requires it) barebox was skipped: PREFERRED_PROVIDER_virtual/bootloader set to u-boot, not barebox NOTE: Runtime target 'barebox' is unbuildable, removing... Missing or unbuildable dependency chain was: ['barebox'] ERROR: Required build target 'core-image-minimal' has no buildable providers. Missing or unbuildable dependency chain was: ['core-image-minimal', 'barebox'] Summary: There were 2 ERROR messages, returning a non-zero exit code. --------------------------------8<-------------------------------- Some logs are here: https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/5054/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/5096/steps/14/logs/stdio FYI I had to manually solve a trivial conflict on patch 5 due to another patch in my branch that is touching the same file: https://lore.kernel.org/openembedded-core/20230411150503.2105880-2-lrannou@baylibre.com/ Best regards, Luca
Hello Luca, Am Mittwoch, dem 26.04.2023 um 14:12 +0200 schrieb Luca Ceresoli: > Hello Enrico, > > On Tue, 25 Apr 2023 20:47:11 +0200 > Enrico Jörns <ejo@pengutronix.de> wrote: > > > This adds support for the barebox bootloader (and tools) to oe-core. > > > > In order to have proper testing, this extends oe-selftest to allow > > basic testing of bootloaders. While at it, cover both barebox and u-boot. > > Some tests are failing with this series applied. Logs looking like: thank you for the test results. > --------------------------------8<-------------------------------- > > 2023-04-26 02:45:38,232 - oe-selftest - INFO - barebox.BareboxTest.test_boot_barebox > (subunit.RemotedTestCase) > 2023-04-26 02:45:38,232 - oe-selftest - INFO - ... skipped 'Test skipped on x86_64\n' > 2023-04-26 02:45:38,232 - oe-selftest - INFO - 1: 1/47 2/530 (0.00s) (0 failed) > (barebox.BareboxTest.test_boot_barebox) > 2023-04-26 02:45:38,232 - oe-selftest - INFO - Test skipped on x86_64 > 2023-04-26 02:46:47,829 - oe-selftest - INFO - fetch.Dependencies.test_dependencies > (subunit.RemotedTestCase) > 2023-04-26 02:46:47,829 - oe-selftest - INFO - ... ok > 2023-04-26 02:46:47,829 - oe-selftest - INFO - 12: 2/20 3/530 (70.93s) (0 failed) > (fetch.Dependencies.test_dependencies) > 2023-04-26 02:46:54,605 - oe-selftest - INFO - barebox.BareboxTest.test_boot_barebox_efi > (subunit.RemotedTestCase) > 2023-04-26 02:46:54,605 - oe-selftest - INFO - ... FAIL > Stderr: > 2023-04-26 02:45:38,230 - oe-selftest - INFO - Adding: "include selftest.inc" in > /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-3126928/conf/local.conf > 2023-04-26 02:45:38,231 - oe-selftest - INFO - Adding: "include bblayers.inc" in bblayers.conf > 2023-04-26 02:46:54,606 - oe-selftest - INFO - 1: 2/47 4/530 (76.37s) (0 failed) > (barebox.BareboxTest.test_boot_barebox_efi) > 2023-04-26 02:46:54,606 - oe-selftest - INFO - testtools.testresult.real._StringException: > Traceback (most recent call last): > File "/home/pokybuild/yocto-worker/oe-selftest- > debian/build/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f > return func(*args, **kwargs) > File "/home/pokybuild/yocto-worker/oe-selftest- > debian/build/meta/lib/oeqa/selftest/cases/barebox.py", line 63, in test_boot_barebox_efi > bitbake(image) > File "/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/lib/oeqa/utils/commands.py", > line 234, in bitbake > return runCmd(cmd, ignore_status, timeout, output_log=output_log, **options) > File "/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/lib/oeqa/utils/commands.py", > line 212, in runCmd > raise AssertionError("Command '%s' returned non-zero exit status %d:\n%s" % (command, > result.status, exc_output)) > AssertionError: Command 'bitbake core-image-minimal' returned non-zero exit status 1: > Loading cache...done. > Loaded 0 entries from dependency cache. > Parsing recipes...done. > Parsing of 955 .bb files complete (0 cached, 955 parsed). 1872 targets, 55 skipped, 0 masked, 0 > errors. > NOTE: Resolving any missing task queue dependencies > ERROR: Nothing RPROVIDES 'barebox' (but /home/pokybuild/yocto-worker/oe-selftest- > debian/build/meta/recipes-core/images/core-image-minimal.bb, /home/pokybuild/yocto-worker/oe- > selftest-debian/build/meta/recipes-core/packagegroups/packagegroup-core-boot.bb RDEPENDS on or > otherwise requires it) > barebox was skipped: PREFERRED_PROVIDER_virtual/bootloader set to u-boot, not barebox > NOTE: Runtime target 'barebox' is unbuildable, removing... > Missing or unbuildable dependency chain was: ['barebox'] > ERROR: Required build target 'core-image-minimal' has no buildable providers. > Missing or unbuildable dependency chain was: ['core-image-minimal', 'barebox'] > Summary: There were 2 ERROR messages, returning a non-zero exit code. > > --------------------------------8<-------------------------------- It seems as if I did not re-test the EFI test after having set PREFERRED_PROVIDER_virtual/bootloader to "u-boot" in the machine conf. I will add a PREFERRED_PROVIDER_virtual/bootloader = "barebox" to the test case. > > Some logs are here: > > https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/5054/steps/14/logs/stdio > https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/5096/steps/14/logs/stdio There are some wic failures where I am not sure yet if these are caused by my patchset or not. > FYI I had to manually solve a trivial conflict on patch 5 due to > another patch in my branch that is touching the same file: > https://lore.kernel.org/openembedded-core/20230411150503.2105880-2-lrannou@baylibre.com/ I am not really unconvinced that this patch set should be applied as-is. It copies most of the run_serial() method 'just' to change the return value. It would also require to duplicate my adaptions. Thanks and regards Enrico > Best regards, > Luca >
This adds support for the barebox bootloader (and tools) to oe-core. In order to have proper testing, this extends oe-selftest to allow basic testing of bootloaders. While at it, cover both barebox and u-boot. v3: * bump to barebox 2023.04.0 * add anonymous python to not act as provider when no config is set * reasoning for default BAREBOX_CONFIGs in patch description and set PREFERRED_PROVIDER_virtual/bootloader to u-boot to avoid conflicts * extend patch description and add comment for vt100 regex * set CC=${CC} and LD=${LD} in barebox-tools to fix musl builds Enrico Jorns (7): barebox: set default BAREBOX_CONFIG for qemu machines oeqa/utils/qemurunner: support ignoring vt100 escape sequences oeqa/utils/qemurunner: simplify output parsing and make crlf-compatible oeqa/utils/commands: document runqemu context manager oeqa: support passing custom boot patterns to runqemu oeqa/selftest/cases: add barebox tests oeqa/selftest/cases: add basic u-boot test Marco Felsch (2): barebox: add initial support barebox-tools: add initial barebox tools support meta/conf/distro/include/maintainers.inc | 2 + meta/conf/machine/qemuarm.conf | 1 + meta/conf/machine/qemuarm64.conf | 1 + meta/conf/machine/qemux86-64.conf | 1 + meta/lib/oeqa/selftest/cases/barebox.py | 72 +++++++++ meta/lib/oeqa/selftest/cases/uboot.py | 40 +++++ meta/lib/oeqa/targetcontrol.py | 5 +- meta/lib/oeqa/utils/commands.py | 22 ++- meta/lib/oeqa/utils/qemurunner.py | 38 ++--- .../barebox/barebox-tools_2023.04.0.bb | 58 +++++++ meta/recipes-bsp/barebox/barebox.inc | 149 ++++++++++++++++++ meta/recipes-bsp/barebox/barebox_2023.04.0.bb | 3 + 12 files changed, 368 insertions(+), 24 deletions(-) create mode 100644 meta/lib/oeqa/selftest/cases/barebox.py create mode 100644 meta/lib/oeqa/selftest/cases/uboot.py create mode 100644 meta/recipes-bsp/barebox/barebox-tools_2023.04.0.bb create mode 100644 meta/recipes-bsp/barebox/barebox.inc create mode 100644 meta/recipes-bsp/barebox/barebox_2023.04.0.bb