I recently got secure boot working with both a pkc and sbk keys, which both signs and encrypts some files before flashing, this works and I’m able to boot.
Now I’d like to implement the A/B update and redundancy feature mention here
The guide says to use the
-s flag to pass in the pkc key and no mention of the sbk key, upon inspection of the
build_l4t_bup.sh script, I can see it passes all arguments to the
flash.sh script (and runs with
--no-flash --bup args), which I know accepts
-u <pkc> -v <sbk> arguments so I used those flags.
So using the latest L4T release, 32.4 with a fresh bsp and secure boot files extracted I generated the
bl_update_payloadfor the jetson xavier with:
sudo BOARDID=2888 FAB=400 BOARDSKU=0004 BOARDREV=K.0 FUSELEVEL=fuselevel_production ./build_l4t_bup.sh -u <pkc.pem> -v <sbk.txt> jetson-xavier mmcblk0p1 which successfully produced the payloads.
bl_update_payload to a jetson (which was flashed with a configured
smb_info.cfg to enable A/B redundancy and updates) and which also has secure boot enabled (sign and encrypted with pkc and sbk) and ran:
nv_update_engine --install which ran without errors.
But upon reboot the system is unbootable.
From the output of the bup generation process, I don’t think it’s taking the sbk into account and therefore only signing with pkc, what do you guys think?