1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-01-22 21:30:56 +00:00
trezor-firmware/core/embed/bootloader_ci
Pavol Rusnak 35d40cc164 fix(core): change logic of vendor header comparison
Previously we checked whether the current vendor header and
the new vendor header are the same by comparing the embedded keyset.

What originally looked like a good idea is not that good, because
this disallows us from ever changing the vendor header signing keys
without causing erasure of the storage during the version update.

This commit fixes that by changing the logic to comparing just the
vendor string.

Change of function names is purely cosmetic:
* vendor_keys_hash -> vendor_header_hash
* check_vendor_keys_lock -> check_vendor_header_lock
2022-01-03 14:23:58 +01:00
..
.changelog.d fix(core): change logic of vendor header comparison 2022-01-03 14:23:58 +01:00
.towncrier.template.md docs(core+legacy): use towncrier for generating CHANGELOG.md 2021-07-21 14:27:20 +02:00
bootloader_flash.jlink
bootui.c refactor(core): rework color definitions in bootloader 2021-03-10 18:33:00 +01:00
bootui.h fix(core): remove unused stuff from bootloader_ci 2021-03-04 17:01:01 +01:00
CHANGELOG.md docs(core+legacy): use towncrier for generating CHANGELOG.md 2021-07-21 14:27:20 +02:00
CHANGELOG.unreleased docs(core+legacy): use towncrier for generating CHANGELOG.md 2021-07-21 14:27:20 +02:00
header.S chore(core): bootloader_ci - decouple file links from original bootloader 2021-01-27 23:43:38 +01:00
icon_done.h chore(core): bootloader_ci - decouple file links from original bootloader 2021-01-27 23:43:38 +01:00
icon_fail.h chore(core): bootloader_ci - decouple file links from original bootloader 2021-01-27 23:43:38 +01:00
icon_install.h chore(core): bootloader_ci - decouple file links from original bootloader 2021-01-27 23:43:38 +01:00
icon_welcome.h chore(core): bootloader_ci - decouple file links from original bootloader 2021-01-27 23:43:38 +01:00
icon_wipe.h chore(core): bootloader_ci - decouple file links from original bootloader 2021-01-27 23:43:38 +01:00
main.c fix(core): change logic of vendor header comparison 2022-01-03 14:23:58 +01:00
memory.ld chore(core): bootloader_ci - decouple file links from original bootloader 2021-01-27 23:43:38 +01:00
messages.c fix(core): change logic of vendor header comparison 2022-01-03 14:23:58 +01:00
messages.h chore(core): bootloader_ci - decouple file links from original bootloader 2021-01-27 23:43:38 +01:00
protob
README.md feat(core): bootloader_ci: wipe device without confirmation 2021-01-26 17:21:16 +01:00
startup.s refactor(core): rename shutdown to shutdown_privileged 2021-06-23 16:40:45 +02:00
towncrier.toml docs(core+legacy): use towncrier for generating CHANGELOG.md 2021-07-21 14:27:20 +02:00
version.h chore(core): bootloader_ci - decouple file links from original bootloader 2021-01-27 23:43:38 +01:00

Bootloader for CI device tests

This bootloader always runs into bootloader mode, waits for firmware to be uploaded, then runs the firmware.

Storage is not erased. If you wish to erase storage you can send WipeDevice message to the bootloader.

All user interaction is removed (no clicking or confirmations required) so that it can be used in an automated way for tests.

The bootloader will run any firmware that looks "sane" (good header, hashes), but does not check any trust flags.

Firmware must be compiled with PRODUCTION=0 because otherwise it would replace the bootloader and lock device.