This breaks oe-selftest: https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/4760/steps/15/logs/stdio
2023-02-03 17:55:08,025 - oe-selftest - INFO - fitimage.FitImageTests.test_sign_cascaded_uboot_fit_image (subunit.RemotedTestCase) 2023-02-03 17:55:08,026 - oe-selftest - INFO - ... FAIL Stderr: 2023-02-03 14:32:52,619 - oe-selftest - INFO - Adding: "include selftest.inc" in /home/pokybuild/yocto-worker/oe-selftest-centos/build/build-st-35279/conf/local.conf 2023-02-03 14:32:52,620 - oe-selftest - INFO - Adding: "include bblayers.inc" in bblayers.conf 2023-02-03 17:55:08,026 - oe-selftest - INFO - 13: 4/22 399/509 (54.05s) (0 failed) (fitimage.FitImageTests.test_sign_cascaded_uboot_fit_image) 2023-02-03 17:55:08,026 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last): File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/selftest/cases/fitimage.py", line 612, in test_sign_cascaded_uboot_fit_image bitbake("virtual/bootloader") File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/utils/commands.py", line 236, in bitbake return runCmd(cmd, ignore_status, timeout, output_log=output_log, **options) File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/utils/commands.py", line 214, in runCmd raise AssertionError("Command '%s' returned non-zero exit status %d:\n%s" % (command, result.status, exc_output)) AssertionError: Command 'bitbake virtual/bootloader' returned non-zero exit status 1: ERROR: barebox-2023.01.0-r0 do_configure: No defconfig given. Either add file 'file://defconfig' to SRC_URI or set BAREBOX_CONFIG ERROR: barebox-2023.01.0-r0 do_configure: ExecutionError('/home/pokybuild/yocto-worker/oe-selftest-centos/build/build-st-35279/tmp/work/qemuarm-poky-linux-gnueabi/barebox/2023.01.0-r0/temp/run.do_configure.3098535', 1, None, None) ERROR: Logfile of failure stored in: /home/pokybuild/yocto-worker/oe-selftest-centos/build/build-st-35279/tmp/work/qemuarm-poky-linux-gnueabi/barebox/2023.01.0-r0/temp/log.do_configure.3098535 NOTE: recipe barebox-2023.01.0-r0: task do_configure: Failed ERROR: Task (/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-bsp/barebox/barebox_2023.01.0.bb:do_configure) failed with exit code '1' And as already reported by Richard: AssertionError: The following recipes do not have a maintainer assigned to them. Please add an entry to meta/conf/distro/include/maintainers.inc file. barebox-tools (/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb) barebox (/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-bsp/barebox/barebox_2023.01.0.bb) On 03/02/2023 14:50:10+0100, Marco Felsch wrote: > This adds the support for the barebox bootloader to oe-core. The recipe > is based on the recipe found in meta-ptx [1] with a few minor adaptions. > > This basic support includes the bootloader and the target tools to > interact with the bootloader. The host tools support is not part of > this commit. This will be added later on as separate recipe. > > [1] https://github.com/pengutronix/meta-ptx/tree/master/recipes-bsp/barebox > > Signed-off-by: Marco Felsch <m.fel...@pengutronix.de> > --- > meta/conf/documentation.conf | 7 + > meta/recipes-bsp/barebox/barebox.inc | 123 ++++++++++++++++++ > meta/recipes-bsp/barebox/barebox_2023.01.0.bb | 5 + > ...IMAGE_COMPRESSION-per-default-to-lz4.patch | 40 ++++++ > 4 files changed, 175 insertions(+) > create mode 100644 meta/recipes-bsp/barebox/barebox.inc > create mode 100644 meta/recipes-bsp/barebox/barebox_2023.01.0.bb > create mode 100644 > meta/recipes-bsp/barebox/files/0001-pbl-set-IMAGE_COMPRESSION-per-default-to-lz4.patch > > diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf > index a27d7a53c3..99e8f8e730 100644 > --- a/meta/conf/documentation.conf > +++ b/meta/conf/documentation.conf > @@ -77,6 +77,13 @@ AUTOREV[doc] = "When SRCREV is set to the value of this > variable, it specifies t > > B[doc] = "The Build Directory. The OpenEmbedded build system places > generated objects into the Build Directory during a recipe's build process." > BAD_RECOMMENDATIONS[doc] = "A list of packages not to install despite being > recommended by a recipe. Support for this variable exists only when using the > IPK or RPM packaging backends." > +BAREBOX_BUILDSYSTEM_VERSION[doc] = "Build system version to add to the > barebox image. By default this is the git description of the containing > layer." > +BAREBOX_CONFIG[doc] = "The barebox kconfig defconfig file. Not used if a > file called defconfig is added to the SRC_URI." > +BAREBOX_ENV_DIR[doc] = "Overlay the barebox built-in environment with the > environment provided by the BSP if specified." > +BAREBOX_BINARY[doc] = "Specify the barebox binary to install. If not > specified all barebox artifacts are installed." > +BAREBOX_IMAGE[doc] = "A unique barebox image name. Unused if > ${BAREBOX_BINARY} is not set." > +BAREBOX_SUFFIX[doc] = "Specify the suffix for ${BAREBOX_IMAGE}." > +BAREBOX_FIRMWARE_DIR[doc] = "Overwrite barebox' firmware blobs search > directory (CONFIG_EXTRA_FIRMWARE_DIR) with this path, default ${B}/firmware" > BB_DANGLINGAPPENDS_WARNONLY[doc] = "Defines how BitBake handles situations > where an append file (.bbappend) has no corresponding recipe file (.bb)." > BB_DISKMON_DIRS[doc] = "Monitors disk space and available inodes during the > build and allows you to control the build based on these parameters." > BB_DISKMON_WARNINTERVAL[doc] = "Defines the disk space and free inode > warning intervals. To set these intervals, define the variable in the > conf/local.conf file in the Build Directory." > diff --git a/meta/recipes-bsp/barebox/barebox.inc > b/meta/recipes-bsp/barebox/barebox.inc > new file mode 100644 > index 0000000000..896db9739f > --- /dev/null > +++ b/meta/recipes-bsp/barebox/barebox.inc > @@ -0,0 +1,123 @@ > +SUMMARY = "barebox is a bootloader designed for embedded systems. It runs on > a variety of architectures including x86, ARM, MIPS, PowerPC and others." > +HOMEPAGE = "https://barebox.org/" > +SECTION = "bootloaders" > +PROVIDES = "virtual/bootloader" > + > +LICENSE = "GPL-2.0-only" > +LIC_FILES_CHKSUM = "file://COPYING;md5=f5125d13e000b9ca1f0d3364286c4192" > + > +PACKAGE_ARCH = "${MACHINE_ARCH}" > + > +inherit kernel-arch deploy cml1 pkgconfig > + > +# libusb1 is only required for usb tools like imx-usb-loader. These tools may > +# be enabled within the defconfig file so depend on it here to be more user > +# friendly (do not abort the build). The actual tools are provided by the > +# barebox-tools package. > +DEPENDS = "libusb1 bison-native flex-native" > + > +export KBUILD_BUILD_USER ?= "oe-user" > +export KBUILD_BUILD_HOST ?= "oe-host" > + > +SRC_URI = "https://barebox.org/download/barebox-${PV}.tar.bz2" > + > +S = "${WORKDIR}/barebox-${PV}" > +B = "${WORKDIR}/build" > + > +def get_layer_rev(path): > + try: > + rev, _ = bb.process.run("git describe --match='' --always --dirty > --broken", cwd=path) > + except bb.process.ExecutionError: > + rev = "" > + return rev.strip() > + > +BAREBOX_BUILDSYSTEM_VERSION ??= > "${@get_layer_rev(os.path.dirname(d.getVar('FILE')))}" > + > +BAREBOX_FIRMWARE_DIR ??= "${B}/firmware" > + > +EXTRA_OEMAKE = " \ > + CROSS_COMPILE=${TARGET_PREFIX} -C ${S} O=${B} \ > + BUILDSYSTEM_VERSION=${BAREBOX_BUILDSYSTEM_VERSION} \ > + CONFIG_EXTRA_FIRMWARE_DIR=${BAREBOX_FIRMWARE_DIR} \ > +" > + > +BAREBOX_CONFIG ?= "" > + > +do_configure() { > + if [ -e ${WORKDIR}/defconfig ]; then > + cp ${WORKDIR}/defconfig ${B}/.config > + else > + if [ -n "${BAREBOX_CONFIG}" ]; then > + oe_runmake ${BAREBOX_CONFIG} > + else > + bbfatal "No defconfig given. Either add file > 'file://defconfig' to SRC_URI or set BAREBOX_CONFIG" > + fi > + fi > + > + ${S}/scripts/kconfig/merge_config.sh -m .config ${@" > ".join(find_cfgs(d))} > + cml1_do_configure > +} > + > +BAREBOX_ENV_DIR ??= "${WORKDIR}/env/" > + > +do_compile () { > + export > userccflags="${TARGET_LDFLAGS}${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" > + unset LDFLAGS > + unset CFLAGS > + unset CPPFLAGS > + unset CXXFLAGS > + unset MACHINE > + > + if [ -d ${BAREBOX_ENV_DIR} ]; then > + BAREBOX_DEFAULT_ENV="$(grep ^CONFIG_DEFAULT_ENVIRONMENT_PATH > .config | cut -d '=' -f 2 | tr -d '"')" > + oe_runmake > CONFIG_DEFAULT_ENVIRONMENT_PATH="\"${BAREBOX_DEFAULT_ENV} > ${BAREBOX_ENV_DIR}\"" > + else > + oe_runmake > + fi > +} > + > +BAREBOX_BINARY ??= "" > +BAREBOX_SUFFIX ??= "img" > +BAREBOX_SUFFIX:x86 ??= "efi" > +BAREBOX_SUFFIX:x86-64 ??= "efi" > +BAREBOX_IMAGE ?= "${PN}-${MACHINE}-${PV}-${PR}.${BAREBOX_SUFFIX}" > + > +do_install () { > + if [ -n "${BAREBOX_BINARY}" ]; then > + > + BAREBOX_BIN=${B}/${BAREBOX_BINARY} > + if [ ! -f "${BAREBOX_BIN}" ]; then > + BAREBOX_BIN=${B}/images/${BAREBOX_BINARY} > + fi > + if [ ! -f "${BAREBOX_BIN}" ]; then > + bbfatal "Failed to locate ${BAREBOX_BINARY}" > + fi > + > + install -D -m 644 ${BAREBOX_BIN} ${D}/boot/${BAREBOX_IMAGE} > + ln -sf ${BAREBOX_IMAGE} ${D}/boot/${BAREBOX_BINARY} > + else > + install -d ${D}/boot/ > + for image in $(cat ${B}/barebox-flash-images); do > + install -m 644 ${B}/${image} ${D}/boot/ > + done > + fi > +} > +FILES:${PN} = "/boot" > + > +do_deploy () { > + if [ -n "${BAREBOX_BINARY}" ]; then > + > + BAREBOX_BIN=${B}/${BAREBOX_BINARY} > + if [ ! -f "${BAREBOX_BIN}" ]; then > + BAREBOX_BIN=${B}/images/${BAREBOX_BINARY} > + fi > + > + install -D -m 644 ${BAREBOX_BIN} > ${DEPLOYDIR}/${BAREBOX_IMAGE} > + ln -sf ${BAREBOX_IMAGE} ${DEPLOYDIR}/${BAREBOX_BINARY} > + else > + for image in $(cat ${B}/barebox-flash-images); do > + cp ${B}/${image} ${DEPLOYDIR} > + done > + fi > +} > +addtask deploy after do_compile > diff --git a/meta/recipes-bsp/barebox/barebox_2023.01.0.bb > b/meta/recipes-bsp/barebox/barebox_2023.01.0.bb > new file mode 100644 > index 0000000000..ca0c1566cf > --- /dev/null > +++ b/meta/recipes-bsp/barebox/barebox_2023.01.0.bb > @@ -0,0 +1,5 @@ > +require barebox.inc > + > +SRC_URI[sha256sum] = > "20532daff1720fbefa0e02dba0294e6817d29c155f49b9b549db9577435fc7b6" > + > +SRC_URI += "file://0001-pbl-set-IMAGE_COMPRESSION-per-default-to-lz4.patch" > diff --git > a/meta/recipes-bsp/barebox/files/0001-pbl-set-IMAGE_COMPRESSION-per-default-to-lz4.patch > > b/meta/recipes-bsp/barebox/files/0001-pbl-set-IMAGE_COMPRESSION-per-default-to-lz4.patch > new file mode 100644 > index 0000000000..f37d608cf6 > --- /dev/null > +++ > b/meta/recipes-bsp/barebox/files/0001-pbl-set-IMAGE_COMPRESSION-per-default-to-lz4.patch > @@ -0,0 +1,40 @@ > +From d8ea183cc1894b04b12f466a8779e61f0c1ac681 Mon Sep 17 00:00:00 2001 > +From: Marco Felsch <m.fel...@pengutronix.de> > +Date: Tue, 6 Dec 2022 12:26:14 +0100 > +Subject: [PATCH] pbl: set IMAGE_COMPRESSION per default to lz4 > + > +The LZO compression hasn't been updated since 2017 and embedded build > +tools like Yocto dropping the support for it [1]. So switch to LZ4 as > +default since this seems to be the most comparable compression standard > +according Ahmads measurements [2] and the kernel suggestion [3]. > + > +[1] https://lore.kernel.org/all/20220524152401.1663317-9-ross.bur...@arm.com/ > +[2] > https://lore.barebox.org/barebox/20220713100922.1880282-1-a.fat...@pengutronix.de/ > +[3] https://lkml.org/lkml/2020/7/1/848 > + > +Signed-off-by: Marco Felsch <m.fel...@pengutronix.de> > +Link: > https://lore.barebox.org/20221206112614.2612071-1-m.fel...@pengutronix.de > +Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de> > + > +Upstream-Status: Backport > +[https://git.pengutronix.de/cgit/barebox/commit/?h=next&id=d8ea183cc1894b04b12f466a8779e61f0c1ac681] > +--- > + pbl/Kconfig | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/pbl/Kconfig b/pbl/Kconfig > +index ba809af2d5..91970c19bc 100644 > +--- a/pbl/Kconfig > ++++ b/pbl/Kconfig > +@@ -63,7 +63,7 @@ if IMAGE_COMPRESSION > + > + choice > + prompt "Compression" > +- default IMAGE_COMPRESSION_LZO > ++ default IMAGE_COMPRESSION_LZ4 > + > + config IMAGE_COMPRESSION_LZ4 > + bool "lz4" > +-- > +2.30.2 > + > -- > 2.30.2 > > > > -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176753): https://lists.openembedded.org/g/openembedded-core/message/176753 Mute This Topic: https://lists.openembedded.org/mt/96722579/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-