marvin 3ee93b320e
CI / build (pull_request) Successful in 13s
Extract install_into_rootfs helper (U2)
Deduplicate the three near-identical write-temp→install blocks in
inject() into a single install_into_rootfs() helper.
2026-09-10 11:07:32 +02:00
2026-08-26 19:25:20 +02:00

slim

Turning containers into bootable VMs

Example

# Build the container
podman build ./example/alpine -t slim-alpine

# Make the container bootable. slim injects /slim/init and /slim/exec,
# then packs the rootfs as a qcow2 disk.
slim build qcow2 slim-alpine

# Boot the image using QEMU. The container's CMD runs automatically.
slim run slim-alpine

# Override the command at runtime (base64-encoded on the kernel cmdline):
slim run slim-alpine --cmd '/bin/sh'

# Override the command at build time (baked into /slim/exec):
slim build qcow2 slim-alpine --cmd '/bin/sh'

# Cleanup
slim image rm slim-alpine
podman image rm slim-alpine

Kernel

slim boots VMs using a shared kernel at $XDG_DATA_HOME/slim-rs/registry/vmlinuz. Place a suitable x86 bzImage there before running slim run.

S
Description
Turn container images into bootable VMs
Readme
251 KiB
Languages
Rust 75.1%
Shell 24.7%
Dockerfile 0.2%