Build with a baseline OS
Choose a Debian or Ubuntu baseline and build a package bundle without capturing a snapshot.
On this page
A baseline OS describes a stock Debian or Ubuntu installation: its release, installation variant, and architecture. Choose one on the online computer to build without taking a snapshot of the offline machine.
Use a baseline when you know the target’s standard installation or cannot access it yet. A snapshot is more accurate for a customized machine because it records its actual packages and apt settings.
Choose a baseline
Use the baseline OS list to find exact
IDs for each release and variant, and the architecture table
to choose the value for --arch.
List the choices in your installed CLI:
debark snapshot list-bases
The built-in releases are Debian 12 and 13, and Ubuntu 22.04, 24.04, and 26.04. Each has three variants:
| Variant | What it assumes is already installed |
|---|---|
minimal |
The base system and apt. |
server |
The base system and a standard server package set. |
desktop |
The base system and the default desktop environment. |
An ID combines the distribution, release, and variant: ubuntu:24.04/minimal.
Omitting the variant selects minimal.
These choices describe the target; they do not install an operating system. Choose the variant that matches the machine. A desktop baseline on a minimal machine can leave needed packages out of the bundle.
Use --arch amd64 or --arch arm64 to select the target architecture. If you can access
the target, dpkg --print-architecture reports it. Without --arch, the CLI uses the
builder’s architecture.
Build on the online computer
You need the CLI and a working build backend. Create a signing key once, or reuse an existing one:
debark keygen --out operator.key
For example, prepare jq for Ubuntu 24.04 minimal on amd64:
debark build --base ubuntu:24.04/minimal --arch amd64 \
--out ./bundle --sign operator.key jq
No target snapshot file is needed. Debark uses the baseline’s package assumptions to work out the downloads, then creates an ordinary package bundle.
Use either --base or --snapshot, never both. You can also use package lists, vendor
.deb files, and the other build options.
Choose through interactive prompts
If you prefer questions to flags:
debark build --interactive
When asked whether you have a target snapshot, answer no. Choose the distribution, release, variant, and architecture, then enter your packages and build options.
The interactive CLI guide explains the prompts and saved package list.
Save a baseline for reuse
You can optionally save the generated baseline as a snapshot file:
debark snapshot from-base ubuntu:24.04/minimal \
--arch amd64 --out base.tar.zst
Then pass --snapshot base.tar.zst in later builds. It still describes an assumed baseline,
not a captured machine. This extra step is not needed for build --base.
To choose and save a baseline through prompts, run:
debark snapshot from-base --interactive
Check the bundle on the target
Follow the quickstart to transfer the bundle and provide the public key separately. Preview the installation:
debark install ./bundle --key operator.pub --status
The report compares the baseline’s assumptions with the real machine and warns if assumed packages are missing. Review those warnings before installing. If the baseline does not fit, capture a snapshot of the target and rebuild.
Baseline builds have less end-to-end testing than builds from captured snapshots.