Description
Is your feature request related to a problem? Please describe.
Afaik there is no built-in Secure Boot functionality for Photon OS Installer. A first step would be a way to unpack and repack an image to either with custom keys or with a signed boot loader.
Describe the solution you'd like
Functionality for Photon OS installer secure boot
- uefi secure single boot, uefi secure multi-boot with hard disk encryption as an option
- bi-boot mbr/uefi secure boot
- automatic signing
- key replacement
Support of Photon OS biased images during make build and for post-image-creation unpack and repack of to either with custom keys or with a signed boot loader.
A sort of one-fits-them-all is not the goal. The suggestion is a wish list.
Describe alternatives you've considered
options considered
- Set up secure boot with systemd-ukify
- Set up secure boot with sbctl
Additional context
systemd-ukify
The systemd developer team actually work on a sort of unified kernel image bundle functionality, see e.g. systemd/systemd@83bf58f.
Not yet implemented in Ph5.
sbctl
Sbctl has more manual steps and more restrictions, but yes, it works on Ph5.
# a2x is missing in Photon OS' asciidoc3 package. This is a prerequisite for sbctl. Use the python setup of asciidoc which contains a2x.
tdnf install -y python3-pip docbook-xsl
pip3 install asciidoc
# sbctl
tdnf install -y go util-linux binutils libxslt tar build-essential git
VERSION=0.16
curl -L "https://github.com/Foxboron/sbctl/releases/download/${VERSION}/sbctl-${VERSION}.tar.gz" | tar zxvf -
cd "sbctl-${VERSION}"
make
make install
cd ..
# cleanup
rm -rf "sbctl-${VERSION}"
rm sbctl-${VERSION}.tar.gz
pip3 uninstall -y asciidoc
tdnf remove -y go binutils libxslt docbook-xsl tar build-essential git
Remarks
Rethinking the situation of Photon OS on Dell IoT gateway in 2015, the secure delivery of firmware bits through updates of a secure boot operating system seems to become more affordable.
In addition, with the deadline of October 19th 2026, all Microsoft UEFI certificates 2011 will fail. This can be checked with pwsh
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows Production PCA 2011'
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023'
Older Microsoft appliances on VVF/VCF won't boot properly if not patched including its recovery boot bits. Many companies are familiar to use static, older images. This could be the case after that deadline as well. With such a built-in functionality in Photon OS Installer however, pressure could be cushioned for the VCF/VVF business. It would be nice to have something like a VMware Converter for Secure Boot Conversion. From an embedded license perspective see github.com/microsoft slash secureboot_slash objects/issues/138.