This gives us some nice test coverage for secure boot enrolling and the
stub secure boot workound. The authenticated EFI variables are already
created by mkosi, all we need to do is request secure boot to be used.
KernelCommandLine=${{ env.KERNEL_CMDLINE }}
EOF
+ - name: Generate secure boot key
+ run: sudo mkosi genkey
+
- name: Build ${{ matrix.distro }}
- run: sudo mkosi --idmap no
+ run: sudo mkosi --idmap no --secure-boot
- name: Show ${{ matrix.distro }} image summary
run: sudo mkosi summary
systemctl --failed --no-legend | tee /failed-services
+# Check that secure boot keys were properly enrolled.
+if [[ -d /sys/firmware/efi/efivars/ ]]; then
+ cmp /sys/firmware/efi/efivars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c <(printf '\6\0\0\0\1')
+ cmp /sys/firmware/efi/efivars/SetupMode-8be4df61-93ca-11d2-aa0d-00e098032b8c <(printf '\6\0\0\0\0')
+fi
+
# Exit with non-zero EC if the /failed-services file is not empty (we have -e set)
[[ ! -s /failed-services ]]