Documentation
¶
Overview ¶
Package uki creates the UKI file out of the sd-stub and other sections.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DiscoverKernelVersion ¶
DiscoverKernelVersion reads kernel version from the kernel image.
This only works for x86 kernel images.
Based on https://www.kernel.org/doc/html/v5.6/x86/boot.html.
Types ¶
type Builder ¶
type Builder struct {
// Source options.
//
// Arch of the UKI file.
Arch string
// Version of Talos.
Version string
// Path to the sd-stub.
SdStubPath string
// Path to the sd-boot.
SdBootPath string
// Path to the kernel image.
KernelPath string
// Path to the initrd image.
InitrdPath string
// Kernel cmdline.
Cmdline string
// SecureBoot certificate and signer.
SecureBootSigner pesign.CertificateSigner
// PCR signer.
PCRSigner measure.RSAKey
// Profiles to include in the UKI.
Profiles []Profile
// Output options:
//
// Path to the signed sd-boot.
OutSdBootPath string
// Path to the output UKI file.
OutUKIPath string
// contains filtered or unexported fields
}
Builder is a UKI file builder.
func (*Builder) Build ¶
Build the unsigned UKI file.
Build process is as follows:
- build ephemeral sections (uname, os-release), and other proposed sections
- assemble the final UKI file starting from sd-stub and appending generated section.
func (*Builder) BuildSigned ¶
BuildSigned the UKI file.
BuildSigned process is as follows:
- sign the sd-boot EFI binary, and write it to the OutSdBootPath
- build ephemeral sections (uname, os-release), and other proposed sections
- measure sections, generate signature, and append to the list of sections
- assemble the final UKI file starting from sd-stub and appending generated section.
type Section ¶
type Section string
Section is a name of a PE file section (UEFI binary).
const ( SectionLinux Section = ".linux" SectionOSRel Section = ".osrel" SectionCmdline Section = ".cmdline" SectionInitrd Section = ".initrd" SectionUcode Section = ".ucode" SectionSplash Section = ".splash" SectionDTB Section = ".dtb" SectionUname Section = ".uname" SectionSBAT Section = ".sbat" SectionPCRSig Section = ".pcrsig" SectionPCRPKey Section = ".pcrpkey" SectionProfile Section = ".profile" SectionDTBAuto Section = ".dtbauto" SectionHWIDS Section = ".hwids" )
List of well-known section names.
Click to show internal directories.
Click to hide internal directories.