Hi Sughosh, On Sun, 9 Jul 2023 at 07:34, Sughosh Ganu <sughosh.g...@linaro.org> wrote: > > Support has been added to the mkeficapsule tool to generate capsules > by parsing the capsule parameters through a config file. Add a config > file for generating capsules. These capsules will be used for testing > the capsule update feature on sandbox platform. > > Enable generation of capsules through the config file on the sandbox > variant. > > Signed-off-by: Sughosh Ganu <sughosh.g...@linaro.org> > --- > Changes since V2: > * New patch to add the capsule generation config file for sandbox. > > .azure-pipelines.yml | 1 + > .gitlab-ci.yml | 1 + > configs/sandbox_defconfig | 2 + > test/py/conftest.py | 5 ++ > .../test_efi_capsule/sandbox_capsule_cfg.txt | 75 +++++++++++++++++++ > 5 files changed, 84 insertions(+) > create mode 100644 test/py/tests/test_efi_capsule/sandbox_capsule_cfg.txt > > diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml > index 75075bbd07..cc196bf98c 100644 > --- a/.azure-pipelines.yml > +++ b/.azure-pipelines.yml > @@ -403,6 +403,7 @@ stages: > echo -n "u-boot:New" >/tmp/capsules/u-boot.bin.new; > echo -n "u-boot-env:Old" >/tmp/capsules/u-boot.env.old; > echo -n "u-boot-env:New" >/tmp/capsules/u-boot.env.new; > + cp test/py/tests/test_efi_capsule/sandbox_capsule_cfg.txt > /tmp/capsules/; > if [[ "${TEST_PY_BD}" == "sandbox" ]] || [[ "${TEST_PY_BD}" == > "sandbox_flattree" ]]; then > openssl req -x509 -sha256 -newkey rsa:2048 -subj > /CN=TEST_SIGNER/ -keyout /tmp/capsules/SIGNER.key -out > /tmp/capsules/SIGNER.crt -nodes -days 365; > openssl req -x509 -sha256 -newkey rsa:2048 -subj > /CN=TEST_SIGNER/ -keyout /tmp/capsules/SIGNER2.key -out > /tmp/capsules/SIGNER2.crt -nodes -days 365; > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index 577eebd678..614bf61962 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -42,6 +42,7 @@ stages: > - echo -n "u-boot:New" >/tmp/capsules/u-boot.bin.new; > - echo -n "u-boot-env:Old" >/tmp/capsules/u-boot.env.old; > - echo -n "u-boot-env:New" >/tmp/capsules/u-boot.env.new; > + - cp test/py/tests/test_efi_capsule/sandbox_capsule_cfg.txt > /tmp/capsules/; > - if [[ "${TEST_PY_BD}" == "sandbox" ]] || [[ "${TEST_PY_BD}" == > "sandbox_flattree" ]]; then > openssl req -x509 -sha256 -newkey rsa:2048 -subj /CN=TEST_SIGNER/ > -keyout /tmp/capsules/SIGNER.key -out /tmp/capsules/SIGNER.crt -nodes -days > 365; > openssl req -x509 -sha256 -newkey rsa:2048 -subj /CN=TEST_SIGNER/ > -keyout /tmp/capsules/SIGNER2.key -out /tmp/capsules/SIGNER2.crt -nodes -days > 365; > diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig > index d8a2386bb0..0f4c59e1a8 100644 > --- a/configs/sandbox_defconfig > +++ b/configs/sandbox_defconfig > @@ -340,6 +340,8 @@ CONFIG_EFI_CAPSULE_ON_DISK=y > CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y > CONFIG_EFI_CAPSULE_AUTHENTICATE=y > CONFIG_EFI_CAPSULE_ESL_FILE="/tmp/capsules/SIGNER.esl" > +CONFIG_EFI_CAPSULE_CFG_FILE="/tmp/capsules/sandbox_capsule_cfg.txt" > +CONFIG_EFI_USE_CAPSULE_CFG_FILE=y > CONFIG_EFI_SECURE_BOOT=y > CONFIG_TEST_FDTDEC=y > CONFIG_UNIT_TEST=y > diff --git a/test/py/conftest.py b/test/py/conftest.py > index 661ed74fae..f32ab1a70c 100644 > --- a/test/py/conftest.py > +++ b/test/py/conftest.py > @@ -161,6 +161,11 @@ def setup_capsule_build(source_dir, build_dir, > board_type, log): > ) > run_command(name, cmd, source_dir) > > + capsule_cfg_file = > 'test/py/tests/test_efi_capsule/sandbox_capsule_cfg.txt' > + name = 'cp' > + cmd = ( ' cp %s %s' % (capsule_cfg_file, capsule_sig_dir))
I forgot to mention this before, but you should use f strings: cmd = f'cp {capsule_cfg_file} ...' Please check the other files too, as it is a pain to clean it up later. You can run 'pylint' on your source to check it. > + run_command(name, cmd, source_dir) > + > gen_capsule_payloads(capsule_sig_dir) > > def run_build(config, source_dir, build_dir, board_type, log): > diff --git a/test/py/tests/test_efi_capsule/sandbox_capsule_cfg.txt > b/test/py/tests/test_efi_capsule/sandbox_capsule_cfg.txt > new file mode 100644 > index 0000000000..4e5065d538 > --- /dev/null > +++ b/test/py/tests/test_efi_capsule/sandbox_capsule_cfg.txt > @@ -0,0 +1,75 @@ > +{ > + image-index: 1 > + image-guid: 09D7CF52-0720-4710-91D1-08469B7FE9C8 > + payload: /tmp/capsules/u-boot.bin.new > + capsule: /tmp/capsules/Test01 > +} > +{ > + image-index: 2 > + image-guid: 5A7021F5-FEF2-48B4-AABA-832E777418C0 > + payload: /tmp/capsules/u-boot.env.new > + capsule: /tmp/capsules/Test02 > +} > +{ > + image-index: 1 > + image-guid: 058B7D83-50D5-4C47-A195-60D86AD341C4 > + payload: /tmp/capsules/u-boot.bin.new > + capsule: /tmp/capsules/Test03 > + > +} > +{ > + image-index: 1 > + image-guid: 3673B45D-6A7C-46F3-9E60-ADABB03F7937 > + payload: /tmp/capsules/uboot_bin_env.itb > + capsule: /tmp/capsules/Test04 > + > +} > +{ > + image-index: 1 > + image-guid: 058B7D83-50D5-4C47-A195-60D86AD341C4 > + payload: /tmp/capsules/uboot_bin_env.itb > + capsule: /tmp/capsules/Test05 > + > +} > +{ > + image-index: 1 > + image-guid: 058B7D83-50D5-4C47-A195-60D86AD341C4 > + payload: /tmp/capsules/uboot_bin_env.itb > + capsule: /tmp/capsules/Test05 > +} > +{ > + image-index: 1 > + monotonic-count: 1 > + private-key: /tmp/capsules/SIGNER.key > + pub-key-cert: /tmp/capsules/SIGNER.crt > + image-guid: 09D7CF52-0720-4710-91D1-08469B7FE9C8 > + payload: /tmp/capsules/u-boot.bin.new > + capsule: /tmp/capsules/Test11 > +} > +{ > + image-index: 1 > + monotonic-count: 1 > + private-key: /tmp/capsules/SIGNER2.key > + pub-key-cert: /tmp/capsules/SIGNER2.crt > + image-guid: 09D7CF52-0720-4710-91D1-08469B7FE9C8 > + payload: /tmp/capsules/u-boot.bin.new > + capsule: /tmp/capsules/Test12 > +} > +{ > + image-index: 1 > + monotonic-count: 1 > + private-key: /tmp/capsules/SIGNER.key > + pub-key-cert: /tmp/capsules/SIGNER.crt > + image-guid: 3673B45D-6A7C-46F3-9E60-ADABB03F7937 > + payload: /tmp/capsules/uboot_bin_env.itb > + capsule: /tmp/capsules/Test13 > +} > +{ > + image-index: 1 > + monotonic-count: 1 > + private-key: /tmp/capsules/SIGNER2.key > + pub-key-cert: /tmp/capsules/SIGNER2.crt > + image-guid: 3673B45D-6A7C-46F3-9E60-ADABB03F7937 > + payload: /tmp/capsules/uboot_bin_env.itb > + capsule: /tmp/capsules/Test14 > +} > -- > 2.34.1 > Regards, Simon