BOOTC-LOAD...-FOR-SOURCE(8)

🌸 BOOTC-LOAD...-FOR-SOURCE(8) β€” aka bootc-loader-entries-set-options-for-source 🌸

okay bestie, sit down, hydrate, because this one is a system manager's page and we're getting into it πŸ’–


✨ NAME ✨

bootc-loader-entries-set-options-for-source β€” set or update the kernel arguments owned by a specific source 🫢


✨ SYNOPSIS ✨

bootc loader-entries set-options-for-source --source NAME [--options "KARGS"]

✨ DESCRIPTION ✨

so basically? you're setting or updating the kernel arguments that belong to one specific source. and here's the cute part: every source's args get tracked through x-options-source-<name> extension keys sitting inside the BLS config files on /boot πŸŽ€

the options line gets recomputed as the merge of all tracked sources plus any untracked (pre-existing) options. like, everyone shows up to the group chat, nobody gets left on read πŸ’…

this command stages a new deployment with your updated kernel args. meaning: nothing happens right now. changes take effect on the next reboot. it's giving "I'll do it tomorrow" but for real this time 🌈

and if a staged deployment already exists (say, from bootc upgrade)? it gets replaced using the staged deployment's commit and origin β€” so the pending upgrade stays pending, we're just layering the kargs change on top like a cute little cardigan ✨


✨ OPTIONS ✨

  • --source=SOURCE β€” the name of the source that owns these kernel arguments. gotta name your source bestie, it's how we know whose kargs these are πŸ‘‘
  • --options=OPTIONS β€” the kernel arguments to set for this source. these are the actual KARGS you're assigning πŸ’œ

✨ REQUIREMENTS ✨

listen, this is the important part, no skipping πŸ™ˆ

this command needs ostree >= 2026.1 with bootconfig-extra support, because that's what preserves extension BLS keys through staged deployment roundtrips. slay.

on older ostree versions, bootc loader-entries is unavailable. not deprecated, not hidden-ninja-mode, just unavailable:

  • it's omitted from bootc --help (ghosted, literally)
  • invoking it β€” including with --help β€” prints an error and exits with status 77

and 77 is special, ok? it's distinct from usage errors (2) and other failures (1). so if you're writing a caller, you can probe for the feature by checking the exit status of:

bootc loader-entries set-options-for-source --help

exit status as vibes check. iconic. πŸ¦‹


✨ EXAMPLES ✨

Add TuneD kernel arguments:

bootc loader-entries set-options-for-source --source tuned \
    --options "isolcpus=1-3 nohz_full=1-3"

Update TuneD kernel arguments (replaces previous values):

bootc loader-entries set-options-for-source --source tuned \
    --options "isolcpus=0-7"

Remove all kernel arguments owned by TuneD:

bootc loader-entries set-options-for-source --source tuned

(no --options? boom, cleaned out. the way that just works 😭)

Multiple sources can coexist independently:

bootc loader-entries set-options-for-source --source tuned \
    --options "nohz=full isolcpus=1-3"
bootc loader-entries set-options-for-source --source dracut \
    --options "rd.driver.pre=vfio-pci"

look at them, two sources, living their separate lives, no drama, main character energy for both πŸ”₯


✨ KNOWN LIMITATIONS ✨

okay so here's the lowkey cursed part πŸ’€

source keys set by prior calls in the same boot cycle (i.e. before any reboot) get discovered by reading the staged deployment data file at:

/run/ostree/staged-deployment

if that file is missing or cannot be parsed, sources from prior calls may not be discovered, which can potentially orphan their kargs. 😭

in practice this shouldn't happen though β€” the file is managed by ostree and is always present when a staged deployment exists. so like, breathe. but be aware. periodt.


✨ SEE ALSO ✨


✨ VERSION ✨

v1.17.1 πŸŽ€


and that's the whole page bestie, we ate and left no crumbs πŸ’…βœ¨ mwah, go reboot something. BOOTC-LOAD...-FOR-SOURCE(8) β€” System Manager's Manual, v1.17.1 πŸ¦‹πŸ’–

πŸ“¦ 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