[PATCH v4 2/7] barebox-tools: add initial barebox tools support

Enrico Jörns
2024-09-10T07:21:10Z

From: Marco Felsch <m.felsch@pengutronix.de>

Add initial support to build the barebox tools for the host and the
target.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Signed-off-by: Enrico Jorns <ejo@pengutronix.de>
---
meta/conf/distro/include/maintainers.inc | 1 +
.../barebox/barebox-tools_2024.08.0.bb | 58 +++++++++++++++++++
2 files changed, 59 insertions(+)
create mode 100644 meta/recipes-bsp/barebox/barebox-tools_2024.08.0.bb

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 1b3d485e48..067c4af096 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -55,6 +55,7 @@ RECIPE_MAINTAINER:pn-avahi = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-babeltrace = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-babeltrace2 = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-barebox = "Enrico Jörns <yocto@pengutronix.de>"
+RECIPE_MAINTAINER:pn-barebox-tools = "Enrico Jörns <yocto@pengutronix.de>"
RECIPE_MAINTAINER:pn-baremetal-helloworld = "Alejandro Hernandez <alejandro@enedino.org>"
RECIPE_MAINTAINER:pn-base-files = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-base-passwd = "Anuj Mittal <anuj.mittal@intel.com>"
diff --git a/meta/recipes-bsp/barebox/barebox-tools_2024.08.0.bb b/meta/recipes-bsp/barebox/barebox-tools_2024.08.0.bb
new file mode 100644
index 0000000000..25f4998d4a
--- /dev/null
+++ b/meta/recipes-bsp/barebox/barebox-tools_2024.08.0.bb
@@ -0,0 +1,58 @@
+SUMMARY = "barebox bootloader tools"
+HOMEPAGE = "https://barebox.org/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f5125d13e000b9ca1f0d3364286c4192"
+
+DEPENDS = "libusb1 bison-native flex-native"
+
+SRC_URI = "https://barebox.org/download/barebox-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "b08a762da8d63dd18b4f2d9f5d0a8da001b6e608d1b3eff6dcebc6a2e575d535"
+
+S = "${WORKDIR}/barebox-${PV}"
+B = "${WORKDIR}/build"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = " \
+ ARCH=sandbox \
+ CROSS_COMPILE=${TARGET_PREFIX} -C ${S} O=${B} \
+ CROSS_PKG_CONFIG=pkg-config \
+ CC='${CC}' \
+ LD='${LD}' \
+ "
+
+do_compile:class-target () {
+ export userccflags="${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
+ export userldflags="${TARGET_LDFLAGS}${TOOLCHAIN_OPTIONS}"
+ oe_runmake targettools_defconfig
+ oe_runmake scripts
+}
+
+do_compile:class-native () {
+ oe_runmake hosttools_defconfig
+ oe_runmake scripts
+}
+
+BAREBOX_TOOLS = " \
+ bareboxenv \
+ bareboxcrc32 \
+ kernel-install \
+ bareboximd \
+ omap3-usb-loader \
+ omap4_usbboot \
+ imx/imx-usb-loader \
+ "
+
+BAREBOX_TOOLS_SUFFIX = ""
+BAREBOX_TOOLS_SUFFIX:class-target = "-target"
+
+do_install () {
+ install -d ${D}${bindir}
+
+ for tool in ${BAREBOX_TOOLS}; do
+ install -m 0755 scripts/${tool}${BAREBOX_TOOLS_SUFFIX} ${D}${bindir}/${tool##*/}
+ done
+}
+
+BBCLASSEXTEND = "native nativesdk"
--
2.39.2