Skip to content

Commit

Permalink
UKI: document where UKI addons provided via package should be
Browse files Browse the repository at this point in the history
  • Loading branch information
esposem committed May 27, 2024
1 parent 59d96e9 commit 6d61468
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions specs/unified_kernel_image.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,3 +159,22 @@ that tools staging or consuming UKIs have a common place to store and look for t

The installed UKIs should have a filename `<version format specification>.efi`, i.e. the filename is left to
implementers but must be valid for comparisons according to the [Version Format Specification](version_format_specification.md).

UKI addons (cmdline PE addons, systemd-sysext extensions for the initrd) built centrally by distributions and
installed via package manager should be installed into locations depending on whether they are global UKI addons,
that should be applied to all UKIs installed in the ESP, or whether they should only be applied to a
single specific UKI.

Global UKI addons should be installed into `/usr/lib/modules/uki.extra.d/`. UKI-specific addons should be installed
to `/usr/lib/modules/$UNAME/$UKI.efi.extra.d/`, where `$UNAME` is the output of `uname -r` of the kernel included
in the UKI and `$UKI` is the name of the corresponding centrally built UKI with the `.efi` extension stripped.

The installed UKI addons should have a filename `<version format specification>.addon.efi`, i.e. the filename
is left to implementers but must be valid for comparisons according to the
[Version Format Specification](version_format_specification.md).

### Example
Given `UNAME="6.9.1-1-foo"` and `UKI="bar.efi"`:
* UKI will be in `/usr/lib/modules/6.9.1-1-foo/bar.efi`
* Global addons will be in `/usr/lib/modules/uki.extra.d/`
* Local addons will be in `/usr/lib/modules/6.9.1-1-foo/bar.efi.extra.d/`

0 comments on commit 6d61468

Please sign in to comment.