Hi,
Legacy SDK bootloader and dfu preparation workflow had the following option:
nrfutil pkg generate --hw-version ...
hw_option allowed for checks, whether supplied firmware matches given hardware. So firmware for device A won't get programmed into device B.
How about mcuboot?
I'm reading mcuboot design document: https://docs.mcuboot.com/design.html#integrity-check and here are some conditions:
IMAGE_MAGIC
- harcoded into sources, so no.
"Image must contain an image_tlv_info
struct, identified by its magic (IMAGE_TLV_PROT_INFO_MAGIC
or IMAGE_TLV_INFO_MAGIC
" - described rather vaguely, can't see any options that would allow me to set some MAGIC values that would be checked for match by mcuboot.
"Image may contain a signature TLV" - so generating unique signing key for given hardware type looks like the only way to disallow foreign firmware.
Is this the only way, or am I missing something that would match "--hw-version" from legacy sdk bootloader?