-
Notifications
You must be signed in to change notification settings - Fork 2.1k
bootloaders|tests/riotboot: broken with BUILD_IN_DOCKER and wrong flashfile #12003
Copy link
Copy link
Closed
Closed
Copy link
Labels
Area: OTAArea: Over-the-air updatesArea: Over-the-air updatesArea: build systemArea: Build systemArea: Build systemType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)The issue reports a bug / The PR fixes a bug (including spelling errors)
Milestone
Description
Description
The application in bootloaders/riotboot has the following issues, from a first look I think I also found the culprits:
- Introduced by bb71e97
- the file use when flashing is not the bootloader firmware but an extended bootloader with a slot0 bootloader. So
riotboot/flash-bootloaderwould overwriteslot0andslot1header.
- the file use when flashing is not the bootloader firmware but an extended bootloader with a slot0 bootloader. So
- Introduced by aaa187e Fixed by Makefile.include: add BUILD_FILES variable that holds all files to be built #12302
- it does not compile with
BUILD_IN_DOCKERanymore - it uses the local toolchain
- it does not compile with
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
FLASHFILEis${BINDIR}/riotboot.elf- It compiles correctly in docker without local toolchain
Versions
Found on e5fe868
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Area: OTAArea: Over-the-air updatesArea: Over-the-air updatesArea: build systemArea: Build systemArea: Build systemType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)The issue reports a bug / The PR fixes a bug (including spelling errors)