---
name: "debefivm-ukify"
section: "1"
platform: "linux"
package: "debvm"
version: "0.4.5+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/debefivm-ukify"
---

# debefivm-ukify(1)

Create Unified Kernel Images for UEFI systems in a similar way to systemd's ukify

## NAME

debefivm-ukify - Create Unified Kernel Images for UEFI systems in a similar way to systemd's ukify

## SYNOPSIS

**debefivm-ukify** **build** **--linux**=*vmlinuz* **--output**=*uki.efi* \[options\]

## DESCRIPTION

**debefivm-ukify** is a reimplementation of parts of **systemd-ukify** and mainly meant for backports. Please prefer **systemd**'s implementation. It only supports the **build** subcommand, does not implement any functionality related to secure boot and lacks configuration file support. Other than that, it can be used to assemble a linux kernel image, an initrd and an EFI stub image from **systemd** into an EFI-bootable Unified Kernel Image.

## OPTIONS

- **--deb-arch**=*debian\_architecture*

  Set the architecture of the supplied and produced artifacts using Debian's architecture nomenclature. See **--efi-arch** for another supplying it using the EFI nomenclature instead. This option is not available on the **systemd** implementation.

- **--devicetree**=*devicetree\_blob*

  Add a device tree file as a dtb section to the generated UKI. There can be at most one device tree.

- **--cmdline**=*kernel\_cmdline*

  Supply extra arguments to be appended to the Linux kernel command line during boot. Can be given given at most once. If the value starts with an **@**, it is treated as a filename whose contents will be added.

- **--efi-arch**=*efi\_architecture*

  Set the architecture of the supplied and produced artifacts using EFI's architecture nomenclature. See **--deb-arch** for another supplying it using the Debian nomenclature instead.

- **--initrd**=*initrd*

  Supply an initrd image to be embedded. There can be at most one initrd.

- **--linux**=*vmlinuz*

  Supply a Linux kernel image to be embedded. This option must be given exactly once.

- **--os-release**=*release\_information*

  Set the os-release description of in the UKI. Can be given given at most once. If the value starts with an **@**, it is treated as a filename whose contents will be added.

- **--output**=\<uki.efi\>

  Set the name of the resulting UKI image. This option must be given exactly once and the target file must not exist already.

- **--section**=\<name:value\>

  Add an arbitrary ELF section to the resulting UKI. If the value starts with an **@**, it is treated as a filename whose contents will be added. Most image components actually are such ELF sections. For instance **--os-release**, adds a section named **osrel**.

- **--stub**=*efi\_stub*

  Supply the location of **systemd**'s EFI stub image. Unlike the **systemd** implementation, this option accepts a directory containing stubs named by architecture. By default, stubs will be looked up in **/usr/lib/systemd/boot/efi**.

- **--verbose**

  Print diagnostic information during image conversion. This option is not available on the **systemd** implementation.

## SEE ALSO

```
    ukify(1)
```
