Files
Kazuki ObataandGitHub d4c153019a feat: Support --empty-ns checkpoint/restore option (#3700)
* Support `--empty-ns` checkpoint option

Pass --empty-ns from the CLI to CRIU so the network namespace is
created empty on restore instead of being dumped. Youki does not
manage network devices, so their external dependencies cannot be
described to CRIU. Runc sets this unconditionally for the same reason.
To verifty the functionality, contest check the existence of
netdev-*.img which holds the network devices of a dumped namespace.

Signed-off-by: donkomura <koiru3822fs@gmail.com>

* Reject unsupported namespaces for --empty-ns

Only `network` namespace is supported for empty-ns option,
but the given value was not validated. Add the check and
reject others to match runc. Also document that `network`
applies even without the flag.

Signed-off-by: donkomura <koiru3822fs@gmail.com>

---------

Signed-off-by: donkomura <koiru3822fs@gmail.com>
2026-09-12 14:45:44 +09:00
..

libcontainer

Building with musl

In order to build with musl you must first remove the libseccomp dependency as it will reference shared libraries (libseccomp) which cannot be built with musl.

Do this by using adding flags to Cargo. Use the --no-default-features flag followed by -F and whatever features you intend to build with such as v2 as defined in Cargo.toml under features section.

Next you will also need the +nightly flags when building with rustup and cargo.

# Add rustup +nightly musl to toolchain
rustup +nightly target add $(uname -m)-unknown-linux-musl

# Build rustup +nightly stdlib with musl
rustup +nightly toolchain install nightly-$(uname -m)-unknown-linux-musl

# Build musl standard library
cargo +nightly build -Zbuild-std --target $(uname -m)-unknown-linux-musl --no-default-features -F v2

cargo +nightly build --target $(uname -m)-unknown-linux-musl --no-default-features -F v2