table of contents
| UKI-TOOL(1) | Manual of Unified Kernel Image Tool script | UKI-TOOL(1) |
NAME¶
Unified Kernel Image Tool (UKIT)
SYNOPSIS¶
uki-tool [help|verbose|quiet] COMMANDS [OPTION]...
DESCRIPTION¶
Tool that regroups useful command dealing with the Unified Kernel Image (UKI) and static initrd project. Write in shell script, and adapted to the packaging.
COMMANDS¶
create¶
Generate PCR keys and use them to create an UKI using the systemd tool 'ukify'.
- •
- -k|--kerver: Kernel Version [default: $(uname -r)]
- •
- -i|--initrd: Path to the initrd [Default: /usr/share/initrd/initrd-dracut-generic-kerver.unsigned]
- •
- -n|--name: Name to the UKI to generate [Default: uki]
- •
- -c|--cmdline: kernel cmdline [Default: rw rhgb]
- •
- -o|--output: Output dir where to generate the UKI. [Default: $PWD]
- •
- help: Print this helper
extension¶
Generate an extension for an UKI 'name-ext.format'.
If 'uki' parameter is set, the extension will be optimized by not taking into account the files already installed into it. The extension will be lighter. These extensions, depending on a specific uki, will have to be installed in '/usr/lib/modules/KERV_VER/UKI_NAME.extrad.d/'.
Without 'uki', it will generate gloabal extension that could extends all UKI. It will need to be installed into '/usr/lib/modules/uki.extra.d/'.
- •
- -n|--name: Extension's name
- •
- -p|--packages: List of packages to install into the extension
- •
- -f|--format: Extension format (squashfs by default)
- •
- -t|--type: Type of the extension (dir, raw)
- •
- -u|--uki: Path to the referenced UKI (installed one by default)
- •
- -a|--arch: Specify an architecture See https://uapi-group.org/specifications/specs/extension_image For the list of potential value. Print this helper
- •
- --no-deps: Build without any dependences
- •
- help: Print this helper
grub2¶
Create or remove an entry to the grub2 menu. If initrd argurment is provided, uki shouldn't, and vice versa.
If the initrd provided isn't in the boot partition, it will copy it in '/boot'.
If the uki provided isn't in the the efi partition, it will copy it in '/boot/efi/EFI/opensuse'.
When remove is asked, --uki should point to the installed uki (in '/boot partition').
- •
- -add|--remove: Add/Remove grub2 entry (mandatory)
- •
- -k|--kerver: Kernel Version [Default: 6.7.6-1-default]
- •
- -i|--initrd: Path to the initrd
- •
- -u|--uki: Path to the UKI
- •
- -e|--efi: efi directory [Default EFI/Linux]
- •
- -D|--default: set entry as default (only with --add)
- •
- -t|--title: Entry's title
- •
- -c|--cmdline: Kernel command line
- •
- help: Print this helper
sdboot¶
Create or remove an entry to the UKI for sdboot installed for a specified Kernel version. It will search binary from '/usr/lib/modules/ker~v~er/image'.
- •
- --add: Add entry
- •
- --remove: Remove entry
- •
- -k|--kerver: Kernel Version [Default: 6.7.7-1-default]
- •
- -i|--initrd: Path to the initrd
- •
- -i|--image: Image name (should be end by .efi)
- •
- -a|--arch: Architecture to use [Default 'uname -m']
- •
- -e|--efi: efi directory [Default EFI/Linux]
- •
- -D|--default: set entry as default (only with --add)
- •
- -t|--title: Entry's title
- •
- -c|--cmdline: Kernel command line
- •
- help: Print this helper
addon¶
Generate an addon with a custom .cmdline section using the systemd tool 'ukify'
- •
- -c|--cmdline: To put in .cmdline section
- •
- -n|--name: Name of the addon
- •
- -o|--output: Output dir where to generate the addon. [Default: $PWD]
- •
- help: Print this helper
EXAMPLES¶
uki-tool create -k 6.7.6-1-default -n uki-0.1.0.efi -o /usr/lib/modules/6.7.6-1-default/¶
Create an unified kernel image, named 'uki-0.1.0.efi' taking the kernel '6.7.6-1-default' and stored it into '/usr/lib/modules/6.7.6-1-default/'.
uki-tool extension -n "debug" -p "strace,gdb" -t "raw"¶
Create a raw uki's extension, named "debug", containing 'strace,gdb' with their dependencies.
uki-tool grub2 --add -k 6.3.4-1-default -u /boot/efi/EFI/opensuse/uki.efi¶
Add an entry to the grub bootloader.
uki-tool sdboot --add -k 6.3.4-1-default -u uki-0.1.0.efi¶
Add an entry to sdboot bootloader.
uki-tool addon -c ='|Test uki addon|' -o /boot/efi/EFI/loader/addons -n test¶
Create an uki's addon named "test" used to add "|Test uki addon|" into the kernel cmdline.
AUTHOR¶
Valentin Lefebvre valentin.lefebvre@suse.com
REPORTING ISSUES¶
Submit bug reports only to: https://github.com/keentux/unified-kernel-image-tool/issues
COPYRIGHT¶
Copyright © 2024 Valentin Lefebvre. MIT License.
SEE ALSO¶
Unified Kernel Image Tool at https://github.com/keentux/unified-kernel-image-tool/blob/main/README.md
| May 21, 2025 | Version 1.5.0 |