From 82c5f548d9a0f8da7e25503b25e3ede4fdacc25f Mon Sep 17 00:00:00 2001 From: Andy Ross Date: Mon, 18 Nov 2024 16:58:54 -0800 Subject: [PATCH] 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 --- scripts/west_commands/sign.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/scripts/west_commands/sign.py b/scripts/west_commands/sign.py index 6f11e673a17..99ad690a115 100644 --- a/scripts/west_commands/sign.py +++ b/scripts/west_commands/sign.py @@ -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)