cd58ab18c1
Add scripts for supporting building image for board with secure boot enabled. The signing process in script sign-secure-boot_debian: (1) The kernel/grub efi images are obtained from extracted kernel/grub packages, and they are sent to signing server and signed there and copied back. Then the kernel/grub packages are repacked with the signed efi images. (2) The file sign_rootfs-post-scripts is inserted to where the hook script "rootfs-post-scripts" is defined in the lat config file base-bullseye.yaml. This will sign kernel images and LockDown.efi on signing sever in the lat build process. (3) The file sign_initramfs-sign-script is inserted to where the hook script "initramfs-sign-script" is defined in the lat config file base-bullseye.yaml. This will sign initramfs and mini initrd in the lat build process. (4) EFI_SECURE_BOOT is changed from disabled to enabled. Build process for signed image is as below: (1) Prepare keys on dockers and signing server to setup access to signing server without password: Use "ssh-keygen -t rsa" to create a ssh key pair, e.g. id_rsa.pub and id_rsa. Prepare on lat docker: mkdir ~/.ssh copy id_rsa to ~/.ssh directory Prepare on builder docker: mkdir ~/.ssh copy id_rsa to ~/.ssh directory sudo mkdir /root/.ssh sudo copy id_rsa to /root/.ssh directory (https://review.opendev.org/c/starlingx/tools/+/872742 simplifies those steps on dockers as: stx control keys-add --key-type=signing-server --key=[key file].) Prepare on signing server: append id_rsa.pub to the file on signing server: /home/${signing_user}/.ssh/authorized_keys (2) Run on builder docker: export SIGNING_SERVER="signing_user@signing_server_ip" <PATH>/sign-secure-boot_debian build-image The <PATH> is: /localdisk/designer/${USER}/stx/cgcs-root/build-tools Test plan: The tests are done with all the changes which involve tools/integ/root repo and lat-sdk.sh and signing tools on signing server. - PASS: Follow below build process to build unsigned image and build successfully: build-pkgs build-image - PASS: Follow below build process to build signed image and build successfully: build-pkgs export SIGNING_SERVER="user@signing_server_ip" <PATH>/sign-secure-boot_debian build-image - PASS: Do AIO-DX installation successfully for both unsigned image on secure boot disabled lab and signed image on secure boot enabled lab. - PASS: Failure path tests include: [NG]unsigned image on secure boot enabled [NG]image signed with wrong key on secure boot enabled [OK]signed image on secure boot disabled NG: fail to boot; OK: succeed to boot. Depends-On: https://review.opendev.org/c/starlingx/tools/+/868918 Story: 2009221 Task: 47097 Signed-off-by: Li Zhou <li.zhou@windriver.com> Change-Id: Iea0d03c39f6d3d1fa84577e870675ab103937fbd |
||
---|---|---|
.. | ||
branching | ||
build_guest | ||
build_iso | ||
build_minimal_iso | ||
build-docker-images | ||
build-wheels | ||
certificates | ||
deb-utils | ||
mk | ||
repo_files | ||
requirements | ||
signing | ||
stx | ||
unit-tests | ||
audit-pkgs | ||
build-avoidance-utils.sh | ||
build-guest | ||
build-helm-charts.sh | ||
build-img | ||
build-iso | ||
build-pkg-srpm | ||
build-pkgs | ||
build-pkgs-parallel | ||
build-pkgs-serial | ||
build-remote-cli.sh | ||
build-rpms | ||
build-rpms-parallel | ||
build-rpms-serial | ||
build-srpms | ||
build-srpms-common.sh | ||
build-srpms-parallel | ||
build-srpms-serial | ||
Cached_Data.txt | ||
classify | ||
create_dependancy_cache.py | ||
create-yum-conf | ||
deb-utils.sh | ||
default_build_srpm | ||
find_klm | ||
find_patched_srpms_needing_upgrade | ||
git-repo-utils.sh | ||
git-utils.sh | ||
helm_chart_modify.py | ||
image-utils.sh | ||
ip_report.py | ||
make-installer-images.sh | ||
mock_cfg_to_yum_conf.py | ||
mockchain-parallel | ||
mockchain-parallel-1.3.4 | ||
mockchain-parallel-1.4.16 | ||
mockchain-parallel-2.6 | ||
mockchain-parallel-2.7 | ||
modify-build-cfg | ||
patch_rebase_1 | ||
patch_rebase_2 | ||
patch_rebase_3 | ||
patch_rebase_4 | ||
patch-iso | ||
patch-iso-debian | ||
pkg-manager-utils.sh | ||
repo-utils.sh | ||
sign_initramfs-sign-script | ||
sign_iso_formal.sh | ||
sign_patch_formal.sh | ||
sign_rootfs-post-scripts | ||
sign-rpms | ||
sign-secure-boot | ||
sign-secure-boot_debian | ||
source_lookup.txt | ||
spec-utils | ||
srpm-utils | ||
stxRpmUtils.py | ||
sync_jenkins.sh | ||
sync-jenkins | ||
tis.macros | ||
update-efiboot-image | ||
update-pxe-network-installer | ||
url_utils.sh | ||
utils.sh | ||
wheel-utils.sh | ||
wrs_orig.txt | ||
yum-builddep-wrapper |