BOOTC-INSTALL(8)

πŸ’– NAME πŸ’–

bootc-install β€” install the running container to a target, bestie. yes really, the whole container, we're turning it into a bootable system πŸ‘‘


🌸 SYNOPSIS 🌸

bootc install [OPTIONS...] <SUBCOMMAND>

✨ DESCRIPTION ✨

So like, bootc install takes the container you're running right now and installs it onto a target. That's the vibe. 🫢

πŸ¦‹ Understanding installations πŸ¦‹

Okay this is the part where people get confused, so listen up. The bootc install flow turns a container image into a bootable system. And that means it handles the filesystem, the bootloader, and the update metadata setup. It is genuinely not just a copy of the container filesystem. Not even close. It's giving full system surgery πŸ’…

If you want the whole installation model, the prereqs, and end-to-end examples, go read Installing bootc compatible images (see bootc-installation(7)). This page right here is just the reference for the command and its subcommands. iykyk πŸ“š

πŸ” Secure Boot Keys πŸ”

When you're installing with systemd-boot, bootc can let systemd-boot handle the enrollment of Secure Boot keys. How? By putting signed EFI signature lists in /usr/lib/bootc/install/secureboot-keys, which will copy over into ESP/loader/keys after bootloader installation. Those keys get copied to the loader/keys subdirectory of the ESP, after installing systemd-boot to the system. Periodt. πŸ”‘

Want the deets on how key enrollment actually works with systemd-boot? It's all in the systemd-boot man page:

https://github.com/systemd/systemd/blob/26b2085d54ebbfca8637362eafcb4a8e3faf832f/man/systemd-boot.xml#L392


πŸŽ€ SUBCOMMANDS πŸŽ€

Pick your fighter, bestie. Each one is a whole mood:

  • bootc install mount β€” Mounts an installed deployment into a caller-owned directory. lowkey so useful πŸͺ„
  • bootc install to-disk β€” Installs to the target block device. straight to the disk, no detours πŸ’Ύ
  • bootc install to-filesystem β€” Installs to an externally created filesystem structure. you bring the filesystem, it brings the install ✨
  • bootc install to-existing-root β€” Installs to the host root filesystem. it's giving "move in, I already live here" 🏠
  • bootc install finalize β€” Execute this as the penultimate step of an installation using install to-filesystem. the second-to-last step, the opening act before the finale 🎬
  • bootc install ensure-completion β€” Intended for use in environments that are performing an ostree-based installation, not bootc. read that again fr fr πŸ‘€
  • bootc install print-configuration β€” Outputs JSON to stdout that contains the merged installation configuration, as it may be relevant to calling processes using install to-filesystem that in particular want to discover the desired root filesystem type from the container image. yes it's a long one, it's doing a lot πŸ—‚οΈ

⭐ VERSION ⭐

v1.17.1 β€” that's the one you're running, no cap 🌈


okay that's the whole page babes πŸ’œ this was bootc-install(8), a System Manager's Manual situation, version v1.17.1, and you read the whole thing which means you're officially built different πŸŽ€βœ¨πŸ¦‹ go install something iconic πŸ‘‘

πŸ“¦ where this page comes from
  • fedora 43: bootc 1.17.1-1.fc43 Β· Apache-2.0 AND BSD-3-Clause AND MIT AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Unlicense OR MIT)
  • fedora 44: bootc 1.17.1-1.fc44 Β· Apache-2.0 AND BSD-3-Clause AND MIT AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Unlicense OR MIT)
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms