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 <[email protected]>
> ---
> 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 <[email protected]>
> +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/[email protected]/
> +[2]
> https://lore.barebox.org/barebox/[email protected]/
> +[3] https://lkml.org/lkml/2020/7/1/848
> +
> +Signed-off-by: Marco Felsch <[email protected]>
> +Link:
> https://lore.barebox.org/[email protected]
> +Signed-off-by: Sascha Hauer <[email protected]>
> +
> +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: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-