diff mbox series

[2/2] barebox-tools: add initial barebox tools support

Message ID 20230203135011.2061939-2-m.felsch@pengutronix.de
State New
Headers show
Series [1/2] barebox: add initial support | expand

Commit Message

Marco Felsch Feb. 3, 2023, 1:50 p.m. UTC
Add initial support to build the barebox tools for the host and the
target.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
 .../barebox/barebox-tools_2023.01.0.bb        | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb

Comments

Alexandre Belloni Feb. 3, 2023, 6:11 p.m. UTC | #1
Hello,

kwboot fails with musl:

|   CC [U]  scripts/kwboot-target
| In file included from /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot-target.c:1:
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c: In function 'kwboot_tty_recv':
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:141:9: error: unknown type name 'fd_set'
|   141 |         fd_set rfds;
|       |         ^~~~~~
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:142:24: error: storage size of 'tv' isn't known
|   142 |         struct timeval tv;
|       |                        ^~
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:147:9: warning: implicit declaration of function 'FD_ZERO' [-Wimplicit-function-declaration]
|   147 |         FD_ZERO(&rfds);
|       |         ^~~~~~~
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:148:9: warning: implicit declaration of function 'FD_SET'; did you mean 'L_SET'? [-Wimplicit-function-declaration]
|   148 |         FD_SET(fd, &rfds);
|       |         ^~~~~~
|       |         L_SET
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:157:24: warning: implicit declaration of function 'select' [-Wimplicit-function-declaration]
|   157 |                 nfds = select(fd + 1, &rfds, NULL, NULL, &tv);
|       |                        ^~~~~~
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:142:24: warning: unused variable 'tv' [-Wunused-variable]
|   142 |         struct timeval tv;
|       |                        ^~
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c: In function 'kwboot_terminal':
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:571:17: error: unknown type name 'fd_set'
|   571 |                 fd_set rfds;
|       |                 ^~~~~~
| /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:586:21: warning: implicit declaration of function 'FD_ISSET' [-Wimplicit-function-declaration]
|   586 |                 if (FD_ISSET(tty, &rfds)) {
|       |                     ^~~~~~~~
| make[2]: *** [scripts/Makefile.userprogs:28: scripts/kwboot-target] Error 1
| ERROR: oe_runmake failed
| make[1]: Leaving directory '/home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/build'
| make: Leaving directory '/home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0'
| WARNING: /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889:170 exit 1 from 'exit 1'
| WARNING: Backtrace (BB generated script):
| make[1]: *** [/home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/Makefile:976: scripts] Error 2
| make: *** [Makefile:180: sub-make] Error 2
| 	#1: bbfatal_log, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 170
| 	#2: die, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 154
| 	#3: oe_runmake, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 149
| 	#4: do_compile, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 144
| 	#5: main, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 183
NOTE: recipe barebox-tools-2023.01.0-r0: task do_compile: Failed
ERROR: Task (/home/pokybuild/yocto-worker/musl-qemux86-64/build/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb:do_compile) failed with exit code '1'


https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/6628/steps/11/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/6609/steps/12/logs/stdio


On 03/02/2023 14:50:11+0100, Marco Felsch wrote:
> Add initial support to build the barebox tools for the host and the
> target.
> 
> Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
> ---
>  .../barebox/barebox-tools_2023.01.0.bb        | 56 +++++++++++++++++++
>  1 file changed, 56 insertions(+)
>  create mode 100644 meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb
> 
> diff --git a/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb b/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb
> new file mode 100644
> index 0000000000..b1f7aa0b91
> --- /dev/null
> +++ b/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb
> @@ -0,0 +1,56 @@
> +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] = "20532daff1720fbefa0e02dba0294e6817d29c155f49b9b549db9577435fc7b6"
> +
> +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 \
> +  "
> +
> +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.30.2
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#176715): https://lists.openembedded.org/g/openembedded-core/message/176715
> Mute This Topic: https://lists.openembedded.org/mt/96722578/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Ahmad Fatoum Feb. 13, 2023, 4:48 p.m. UTC | #2
Hello Alexandre,

On 03.02.23 19:11, Alexandre Belloni via lists.openembedded.org wrote:
> Hello,
> 
> kwboot fails with musl:

Thanks for relaying the autobuilder errors. I'll build with musl and
see what needs to be fixed on the barebox side.

> 
> |   CC [U]  scripts/kwboot-target
> | In file included from /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot-target.c:1:
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c: In function 'kwboot_tty_recv':
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:141:9: error: unknown type name 'fd_set'
> |   141 |         fd_set rfds;
> |       |         ^~~~~~
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:142:24: error: storage size of 'tv' isn't known
> |   142 |         struct timeval tv;
> |       |                        ^~
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:147:9: warning: implicit declaration of function 'FD_ZERO' [-Wimplicit-function-declaration]
> |   147 |         FD_ZERO(&rfds);
> |       |         ^~~~~~~
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:148:9: warning: implicit declaration of function 'FD_SET'; did you mean 'L_SET'? [-Wimplicit-function-declaration]
> |   148 |         FD_SET(fd, &rfds);
> |       |         ^~~~~~
> |       |         L_SET
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:157:24: warning: implicit declaration of function 'select' [-Wimplicit-function-declaration]
> |   157 |                 nfds = select(fd + 1, &rfds, NULL, NULL, &tv);
> |       |                        ^~~~~~
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:142:24: warning: unused variable 'tv' [-Wunused-variable]
> |   142 |         struct timeval tv;
> |       |                        ^~
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c: In function 'kwboot_terminal':
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:571:17: error: unknown type name 'fd_set'
> |   571 |                 fd_set rfds;
> |       |                 ^~~~~~
> | /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/scripts/kwboot.c:586:21: warning: implicit declaration of function 'FD_ISSET' [-Wimplicit-function-declaration]
> |   586 |                 if (FD_ISSET(tty, &rfds)) {
> |       |                     ^~~~~~~~
> | make[2]: *** [scripts/Makefile.userprogs:28: scripts/kwboot-target] Error 1
> | ERROR: oe_runmake failed
> | make[1]: Leaving directory '/home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/build'
> | make: Leaving directory '/home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0'
> | WARNING: /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889:170 exit 1 from 'exit 1'
> | WARNING: Backtrace (BB generated script):
> | make[1]: *** [/home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/barebox-2023.01.0/Makefile:976: scripts] Error 2
> | make: *** [Makefile:180: sub-make] Error 2
> | 	#1: bbfatal_log, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 170
> | 	#2: die, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 154
> | 	#3: oe_runmake, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 149
> | 	#4: do_compile, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 144
> | 	#5: main, /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/barebox-tools/2023.01.0-r0/temp/run.do_compile.3586889, line 183
> NOTE: recipe barebox-tools-2023.01.0-r0: task do_compile: Failed
> ERROR: Task (/home/pokybuild/yocto-worker/musl-qemux86-64/build/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb:do_compile) failed with exit code '1'
> 
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/6628/steps/11/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/6609/steps/12/logs/stdio
> 
> 
> On 03/02/2023 14:50:11+0100, Marco Felsch wrote:
>> Add initial support to build the barebox tools for the host and the
>> target.
>>
>> Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
>> ---
>>  .../barebox/barebox-tools_2023.01.0.bb        | 56 +++++++++++++++++++
>>  1 file changed, 56 insertions(+)
>>  create mode 100644 meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb
>>
>> diff --git a/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb b/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb
>> new file mode 100644
>> index 0000000000..b1f7aa0b91
>> --- /dev/null
>> +++ b/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb
>> @@ -0,0 +1,56 @@
>> +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] = "20532daff1720fbefa0e02dba0294e6817d29c155f49b9b549db9577435fc7b6"
>> +
>> +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 \
>> +  "
>> +
>> +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.30.2
>>
> 
>>
>>
>>
> 
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#176749): https://lists.openembedded.org/g/openembedded-core/message/176749
> Mute This Topic: https://lists.openembedded.org/mt/96722578/4830399
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [a.fatoum@pengutronix.de]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb b/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb
new file mode 100644
index 0000000000..b1f7aa0b91
--- /dev/null
+++ b/meta/recipes-bsp/barebox/barebox-tools_2023.01.0.bb
@@ -0,0 +1,56 @@ 
+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] = "20532daff1720fbefa0e02dba0294e6817d29c155f49b9b549db9577435fc7b6"
+
+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 \
+  "
+
+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"