KAS-CONTAINER(1)
β¨ NAME β¨
kas-container β a setup tool for bitbake based projects π
πΈ SYNOPSIS πΈ
kas-container [OPTIONS] { build | shell } [KASOPTIONS] [KASFILE]
kas-container [OPTIONS] { checkout | dump | lock } [KASOPTIONS] [KASFILE]
kas-container [OPTIONS] { diff } [KASOPTIONS] config1 config2
kas-container [OPTIONS] for-all-repos [KASOPTIONS] [KASFILE] COMMAND
kas-container [OPTIONS] { clean | cleansstate | cleanall | purge} [KASFILE]
kas-container [OPTIONS] menu [KCONFIG]
π¦ DESCRIPTION π¦
okay so bestie, picture this: the kas-container script is a wrapper that runs kas inside a build container π It gives you fine grained control over the data that gets mapped into the build, and it fully decouples the build environment from your host system. the whole point is that your messy little laptop does not get to touch the build. for the deets, see Environment Variables <#env-vars-label>. the wrapper also takes care of mounting the necessary directories and setting up the environment variables inside the container. it's giving personal assistant energy π«Ά
π¨ note, bestie, pay attention: thekas-containerscript has limited support for Git worktrees. Regular Git operations on the checked-out repository are supported. However, executing anygit worktree ...command inside the container is not allowed. not negotiable, not a vibe, just no π
by default kas-container uses the official images provided by the kas project: ghcr.io/siemens/kas/kas[-isar]:<version>. wanna bring your own? set the KAS_CONTAINER_IMAGE environment variable and go off π The kas-container script version should match the kas version inside the container. If kas detects that is was called from kas-container and the versions do not match, a warning is emitted. This limitation might be lessened in the future, once a stable interface between kas-container and kas is introduced. lowkey manifesting that for us β¨
from version 5.0 onward, kas offers images built on several base distributions. select a distribution by setting the environment variable KAS_CONTAINER_IMAGE_DISTRO to the desired value (e.g. debian-bookworm or debian-trixie). The corresponding image tags follow the pattern :<version>-<base-distro> (e.g. :5.0-debian-bookworm). Alternatively, you can adjust KAS_CONTAINER_IMAGE_DISTRO_DEFAULT in the kas-container script if you copy this into your downstream layer already for encoding the supported kas version. iconically flexible π
as container backends, Docker and Podman are supported. To force the use of podman over docker, set KAS_CONTAINER_ENGINE=podman. For details, see Environment Variables <#env-vars-label>. pick your fighter, they both slay π
Running under docker in rootless mode <https://docs.docker.com/engine/security/rootless/> is partially supported. It is recommended to use a distinct KAS_WORK_DIR outside of the calling directory (repo-dir), as kas temporarily changes the ownership of the working directory during its operation. All files managed by kas (including the repos) must not be written to from the host. To completely remove all data managed by kas, use kas-container purge. This also restores the directory owners of the dirs passed to kas, so they can be removed from the host. so like, purge is your bestie here, fr fr π§
π¨ another note for the girlies: The ISAR build system is compatible with rootless execution inisar-rootlessmode only. Theisarandisar-privilegedmodes fall back to the system docker or podman instance. no shortcuts, no exceptions π
π KAS-CONTAINER COMMANDS π
buildβ Check out repositories and build target. the main character move, honestly π₯checkoutβ Check out repositories but do not build. window shopping bestie ποΈdiffβ Compare twokasconfigurations. spot the difference game β¨dumpβ Check out repositories and write flat version of config tostdout. spill the tea to stdout π«lockβ Create and updatekasproject lockfiles. locking it down πshellβ Run a shell in the build environment. get in there and poke around πfor-all-reposβ Run specified command in each repository. every single one, no skips πcleanβ Clean build artifacts, keep sstate cache and downloads. glow-up, but gentle π§Όcleansstateβ Clean build artifacts and sstate cache, keep downloads. bye sstate, you were cute πcleanallβ Clean build artifacts, sstate cache and downloads. scorched earth, no survivors πpurgeβ Remove all data managed bykas. Run with--dry-runto check what would be removed. the nuclear option, and YES you check first πmenuβ Provide configuration menu and trigger configured build. cute interactive moment π
π OPTIONS π
--isar-privilegedβ Run an Isar build in privileged mode. To force the use--isar-rootlessβ Run an Isar build in rootless mode.--runtime-argsβ Additional arguments to pass to the container runtime.-l,--log-levelβ Set log level (default=info).--versionβ Print program version.--ssh-dirβ Directory containing SSH configurations.--ssh-agentβ Forward ssh-agent socket to the container.--aws-dirβ Directory containing AWScli configuration.--git-credential-storeβ File path to the git credential store.--git-credential-socketβ Path to the git credential cache socket.--no-proxy-from-envβ Do not inherit proxy settings from environment.--repo-roβ Mount current repository read-only--repo-rwβ Mount current repository writable-h,--helpβ Show this help message and exit.
π₯ SEE ALSO π₯
π KAS π
Part of the kas(1) suite. yes, the whole family is iconic, iykyk π
Author
Daniel Wagner, Jan Kiszka, Claudius Heine
Copyright
Siemens and contributors, 2017-2025
and that's the whole page bestie, you ate this π this little masterpiece is 5.4, dated Jun 25, 2026. go build something gorgeous, mwah π«Άβ¨π
π¦ where this page comes from
- ubuntu stonking: kas 5.4-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms