Skip to content

bootloaders|tests/riotboot: broken with BUILD_IN_DOCKER and wrong flashfile #12003

@cladmi

Description

@cladmi

Description

The application in bootloaders/riotboot has the following issues, from a first look I think I also found the culprits:

The application in tests/riotboot also has the same BUILD_IN_DOCKER issues.

The tests/riotboot test does not work with BUILD_IN_DOCKER.

Steps to reproduce the issue

FLASHFILE is extended file
BOARD=iotlab-m3 make --no-print-directory -C bootloaders/riotboot/ info-debug-variable-FLASHFILE
/home/harter/work/git/RIOT/bootloaders/riotboot/bin/iotlab-m3/riotboot-slot0-extended.bin
tests/riotboot test does not work with `BUILD_IN_DOCKER=1`
WARNING:nrf52dk.tests/riotboot:make RIOT_CI_BUILD=1 CC_NOCOLOR=1 --no-print-directory -C ./tests/riotboot test
expecting slot number 0, app_ver 0
curslotnr
/srv/ilab-builds/workspace/jobs/experimental-pull-request-tests/dist/tools/pyterm/pyterm -p "/dev/riot/tty-nrf52dk" -b "115200" --noprefix --no-repeat-command-on-empty-line
Twisted not available, please install it if you want to use pyterm's JSON capabilities
Connect to serial port /dev/riot/tty-nrf52dk
Welcome to pyterm!
Type '/exit' to exit.
main(): This is RIOT! (Version: buildtest)
Hello riotboot!
You are running RIOT on a(n) nrf52dk board.
This board features a(n) nrf52 MCU.
riotboot_test: running from slot 0
Image magic_number: 0x544f4952
Image Version: 0x00000000
Image start address: 0x00002400
Header chksum: 0xa57ac1a1

>  curslotnr
Current slot=0
> curslothdr
 curslothdr
Image magic_number: 0x544f4952
Image Version: 0x00000000
Image start address: 0x00002400
Header chksum: 0xa57ac1a1

> getslotaddr 0
 getslotaddr 0
Slot 0 address=0x00002400
> dumpaddrs
 dumpaddrs
slot 0: metadata: 0x2000 image: 0x00002400
slot 1: metadata: 0x41000 image: 0x00000000
> 
compiling /srv/ilab-builds/workspace/jobs/experimental-pull-request-tests/dist/tools/riotboot_gen_hdr/bin/genhdr...
make: Nothing to be done for 'all'.
make[1]: *** No rule to make target '/srv/ilab-builds/workspace/jobs/experimental-pull-request-tests/tests/riotboot/bin/nrf52dk/tests_riotboot-slot1.bin', needed by '/srv/ilab-builds/workspace/jobs/experimental-pull-request-tests/tests/riotboot/bin/nrf52dk/tests_riotboot-slot1.hdr'.  Stop.
/srv/ilab-builds/workspace/jobs/experimental-pull-request-tests/tests/riotboot/../../Makefile.include:669: recipe for target 'test' failed
make: *** [test] Error 1
Fixed
It does not build with `docker`
BUILD_IN_DOCKER=1 DOCKER="sudo docker" BOARD=frdm-k64f make --no-print-directory -C bootloaders/riotboot
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/cpu/fcfield.o: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/cpu/vectors.o: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/newlib_syscalls_default/syscalls.o: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/application_riotboot.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/board.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/checksum.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/core.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/cortexm_common.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/cortexm_common_periph.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/cpu.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/newlib_syscalls_default.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/periph.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/riotboot.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/stdio_uart.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/sys.a: No such file or directory
arm-none-eabi-gcc: error: /home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/periph_common.a: No such file or directory
/home/harter/work/git/RIOT/makefiles/boot/riotboot.mk:35: recipe for target '/home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/riotboot-slot0.elf' failed
Building uses the local toolchain
PATH=${DEFAULT_PATH} BUILD_IN_DOCKER=1 DOCKER="sudo docker" BOARD=frdm-k64f make --no-print-directory -C bootloaders/riotboot/  
/bin/sh: 1: arm-none-eabi-gcc: not found
/home/harter/work/git/RIOT/makefiles/boot/riotboot.mk:35: recipe for target '/home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/riotboot-slot0.elf' failed
make: *** [/home/harter/work/git/RIOT/bootloaders/riotboot/bin/frdm-k64f/riotboot-slot0.elf] Error 127

Expected results

  • FLASHFILE is ${BINDIR}/riotboot.elf
  • It compiles correctly in docker without local toolchain

Versions

Found on e5fe868

Commit introducing the issues bb71e97 and aaa187e

Metadata

Metadata

Assignees

Labels

Area: OTAArea: Over-the-air updatesArea: build systemArea: Build systemType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions