barebox-tools: add initial barebox tools support

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

Some of the tools are generic barebox utilities (like 'bareboximd' for
image meta data inspection or 'bareboxenv' for accessing the barebox
environment) some are SoC family-specific specific utilities (like
'imx-usb-loader' or 'omap3-usb-loader').

(From OE-Core rev: cb3de34a28cde3f9ebd52ba842da9f91c6f0fa66)

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Signed-off-by: Enrico Jorns <ejo@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Marco Felsch
2024-10-11 14:01:12 +02:00
committed by Richard Purdie
parent 8ca1fd0b72
commit a9531159c5
2 changed files with 60 additions and 0 deletions

View File

@@ -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>"

View File

@@ -0,0 +1,59 @@
SUMMARY = "barebox bootloader tools"
HOMEPAGE = "https://barebox.org/"
SECTION = "bootloaders"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=f5125d13e000b9ca1f0d3364286c4192"
DEPENDS = "bison-native flex-native libusb1"
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"