Changing certain keys on keyboard with Qubes and Librem 14

Thanks for this tip. Thus far, I have done:

david@forschung:~/firmware$ git clone https://source.puri.sm/firmware/librem-ec.git
Cloning into 'librem-ec'...
remote: Enumerating objects: 8149, done.
remote: Counting objects: 100% (331/331), done.
remote: Compressing objects: 100% (197/197), done.
remote: Total 8149 (delta 166), reused 279 (delta 131), pack-reused 7818
Receiving objects: 100% (8149/8149), 1.17 MiB | 1.44 MiB/s, done.
Resolving deltas: 100% (4701/4701), done.
david@forschung:~/firmware$ cd librem-ec/
david@forschung:~/firmware/librem-ec$ ls
build  doc  ecflash  ecsim  ecspy  LICENSE  Makefile  POWER.txt  README.md  rust-toolchain  scripts  src  tool
david@forschung:~/firmware/librem-ec$ sudo apt install sdcc # Small Device C Compiler
...
david@forschung:~/firmware/librem-ec$ export BOARD=purism/librem_14
david@forschung:~/firmware/librem-ec$ make
...
[edit ~/firmware/librem-ec/src/board/purism/librem_14/keymap/default.c to swap K_LEFT_ALT <--> K_LEFT_SUPER]
david@forschung:~/firmware/librem-ec$ make
...
david@forschung:~/firmware/librem-ec$ cd build/purism/librem_14/
david@forschung:~/firmware/librem-ec/build/purism/librem_14$ ls
1.9_2022-06-30  1.9-dirty_2022-06-30 
david@forschung:~/firmware/librem-ec/build/purism/librem_14/1.9-dirty_2022-06-30$ ls
arch   common  ec-1.9-dirty_2022-06-30.rom  ec.ihx  ec.map  ec.rom  include
board  ec      ec-1M.rom                    ec.lk   ec.mem  flash   scratch

But how should I now flash 1.9-dirty_2022-06-30.rom? Is there any advice for doing this safely, preserving an option to recover?

To clarify the background for my question, I have used the “ISO method” to update the EC firmware (described at https://puri.sm/posts/updating-librem-ec-on-your-librem-14/) and also updated PureBoot using Option 1 described at https://source.puri.sm/firmware/utility. Can the latter procedure also be used to update EC firmware, or do I need to create an ISO and use the former procedure?

Conceptually, I suppose my knowledge gap is about how flashing works. Can the flash utility inspect any *.rom and know ‘where it’s supposed to go’? Or would an attempt to flash 1.9-dirty_2022-06-30.rom overwrite everything?


To answer my own question: It was as straightforward as using
sudo ./purism_ectool flash_backup [..path/to..]/ec-1.9-dirty_2022-06-30.rom
as described at https://puri.sm/projects/librem-ec/.