scripts/west/sign: Auto-detect rimage ELF files

This code had a growing "enumerate all the platforms" wart.  In point
of fact only intel_adsp is special here.  Other rimage platforms don't
have a bootloader and use zephyr.elf directly.

Don't hard code platform names (especially since they aren't the same
as board/soc names!).  Just autodetect which scheme we have at
runtime.

Signed-off-by: Andy Ross <andyross@google.com>
This commit is contained in:
Andy Ross 2024-11-18 16:58:54 -08:00 committed by Benjamin Cabé
commit 82c5f548d9

View file

@ -469,19 +469,19 @@ class RimageSigner(Signer):
kernel_name = build_conf.get('CONFIG_KERNEL_BIN_NAME', 'zephyr')
# TODO: make this a new sign.py --bootloader option.
if target in ('imx8', 'imx8m', 'imx8ulp', 'imx95', 'rmb'):
bootloader = None
kernel = str(b / 'zephyr' / f'{kernel_name}.elf')
out_bin = str(b / 'zephyr' / f'{kernel_name}.ri')
out_xman = str(b / 'zephyr' / f'{kernel_name}.ri.xman')
out_tmp = str(b / 'zephyr' / f'{kernel_name}.rix')
else:
bootloader = None
kernel = str(b / 'zephyr' / f'{kernel_name}.elf')
out_bin = str(b / 'zephyr' / f'{kernel_name}.ri')
out_xman = str(b / 'zephyr' / f'{kernel_name}.ri.xman')
out_tmp = str(b / 'zephyr' / f'{kernel_name}.rix')
# Intel platforms generate a "boot.mod" and "main.mod" as
# separate intermediates to use. Other platforms just use
# zephyr.elf directly.
if os.path.exists(str(b / 'zephyr' / 'boot.mod')):
bootloader = str(b / 'zephyr' / 'boot.mod')
if os.path.exists(str(b / 'zephyr' / 'main.mod')):
kernel = str(b / 'zephyr' / 'main.mod')
out_bin = str(b / 'zephyr' / f'{kernel_name}.ri')
out_xman = str(b / 'zephyr' / f'{kernel_name}.ri.xman')
out_tmp = str(b / 'zephyr' / f'{kernel_name}.rix')
# Clean any stale output. This is especially important when using --if-tool-available
# (but not just)