No description
Find a file
2025-08-30 12:36:18 -07:00
.tekton chore(deps): update quay.io/bootc-devel/fedora-bootc-42-compose docker tag to fedora-42-updates-testing-20250829.0 2025-08-29 04:33:17 +00:00
ci ci: Add basic shellcheck, whitespace & format checks 2025-06-26 13:56:56 +02:00
debian-includes initial debian support 2025-08-30 12:36:18 -07:00
fedora-includes Move fedora-generic to fedora-includes 2025-02-25 08:27:20 -05:00
finalize.d Install bootc-base-imagectl in Pungi path 2025-06-09 13:51:00 -04:00
iot whitespace changes to appease downstream CI 2025-05-09 12:52:16 -04:00
minimal initial debian support 2025-08-30 12:36:18 -07:00
minimal-plus Rename tier-x → minimal-plus 2025-03-18 10:12:38 -04:00
standard Silence permissions warning on bootc-generic-growpart.service 2025-08-03 14:22:56 -07:00
tests tests: add test for --sysusers 2025-07-21 11:26:14 -04:00
.gitlab-ci.yml tests: add test for --sysusers 2025-07-21 11:26:14 -04:00
.mdl_style.rb Update .mdl_style.rb 2023-11-09 16:14:45 +02:00
.mdlrc Update .mdlrc 2023-11-09 16:18:33 +02:00
.pre-commit-config.yaml chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v6 2025-08-21 15:37:18 +00:00
apt-ostree initial debian support 2025-08-30 12:36:18 -07:00
bootc-base-imagectl bootc-base-imagectl: clarify --lock help string 2025-08-27 22:32:42 -04:00
bootc-base-imagectl.md whitespace changes to appease downstream CI 2025-05-09 12:52:16 -04:00
build-enhanced.sh initial debian support 2025-08-30 12:36:18 -07:00
build-remote.sh initial debian support 2025-08-30 12:36:18 -07:00
build.sh initial debian support 2025-08-30 12:36:18 -07:00
Containerfile initial debian support 2025-08-30 12:36:18 -07:00
Containerfile.enhanced initial debian support 2025-08-30 12:36:18 -07:00
Containerfile.enhanced-final initial debian support 2025-08-30 12:36:18 -07:00
Containerfile.labels initial debian support 2025-08-30 12:36:18 -07:00
COPYING Enable pre-commit 2023-10-30 22:27:12 +02:00
debian-00.yaml initial debian support 2025-08-30 12:36:18 -07:00
debian-13.yaml initial debian support 2025-08-30 12:36:18 -07:00
debian-14.yaml initial debian support 2025-08-30 12:36:18 -07:00
debian-bootc-base-imagectl initial debian support 2025-08-30 12:36:18 -07:00
debian-bootc-config.json initial debian support 2025-08-30 12:36:18 -07:00
debian-iot.yaml initial debian support 2025-08-30 12:36:18 -07:00
debian-minimal-plus.yaml initial debian support 2025-08-30 12:36:18 -07:00
debian-minimal.yaml initial debian support 2025-08-30 12:36:18 -07:00
debian-standard.yaml initial debian support 2025-08-30 12:36:18 -07:00
debian.repo initial debian support 2025-08-30 12:36:18 -07:00
debian.sources.list initial debian support 2025-08-30 12:36:18 -07:00
fedora-41.yaml Remove releasever from manifests; add pungi treefile stubs 2024-10-23 15:27:50 -04:00
fedora-42.yaml fedora-42: update repos list 2025-06-09 13:48:58 -04:00
fedora-43.yaml Add Fedora 43 treefile for branching 2025-08-14 14:17:53 -04:00
fedora-bootc-config.json Only rawhide 2024-05-28 19:53:56 +03:00
fedora-bootc.yaml Swap symlink state for fedora-bootc -> fedora-standard 2025-02-25 08:27:20 -05:00
fedora-iot.yaml Drop fedora- prefix from canonical manifests 2025-06-17 15:32:25 -04:00
fedora-minimal-plus.yaml bootc-base-imagectl: support hidden manifests, hide minimal-plus 2025-06-17 15:46:08 -04:00
fedora-minimal.yaml Drop fedora- prefix from canonical manifests 2025-06-17 15:32:25 -04:00
fedora-rawhide.yaml Remove releasever from manifests; add pungi treefile stubs 2024-10-23 15:27:50 -04:00
fedora-standard.yaml Drop fedora- prefix from canonical manifests 2025-06-17 15:32:25 -04:00
fedora.repo fedora.repo: Drop trailing whitespace 2024-04-18 16:33:36 -04:00
install-manifests initial debian support 2025-08-30 12:36:18 -07:00
iot.yaml Drop fedora- prefix from canonical manifests 2025-06-17 15:32:25 -04:00
LICENSE Initial split from Fedora CoreOS 2022-12-09 15:32:25 -05:00
minimal-plus.hidden.yaml bootc-base-imagectl: support hidden manifests, hide minimal-plus 2025-06-17 15:46:08 -04:00
minimal.yaml initial debian support 2025-08-30 12:36:18 -07:00
README.md initial debian support 2025-08-30 12:36:18 -07:00
renovate.json chore(config): migrate config renovate.json 2025-07-21 08:32:25 +00:00
standard.yaml Drop fedora- prefix from canonical manifests 2025-06-17 15:32:25 -04:00
test-manifest.yaml initial debian support 2025-08-30 12:36:18 -07:00

Debian bootc base images

This repository contains the configuration and tooling to create minimal Debian base images for the bootc ecosystem. These images serve as templates that bootc-image-builder can use to create bootable disk images.

Overview

Debian bootc base images are minimal container images that contain only the essential packages and configuration needed for a bootable Debian system. They are designed to work with the bootc ecosystem tools like bootc-image-builder and osbuild.

Architecture

The repository follows the same architecture as Fedora's bootc-base-images:

  • Minimal templates: These are minimal base images, not complete populated systems
  • Component-based: Each image type (minimal, standard, iot) is composed of reusable components
  • OSTree-ready: Images are designed to work with OSTree for atomic updates

Image Types

Minimal (debian-minimal)

  • Essential boot infrastructure
  • Basic system tools
  • OSTree support
  • GRUB bootloader

Standard (debian-standard)

  • Everything from minimal
  • Additional system utilities
  • Network tools
  • Development tools

IoT (debian-iot)

  • Everything from minimal
  • IoT-specific packages
  • Container runtime support
  • Monitoring tools

Building Images

Prerequisites

  • Podman with fuse support
  • Build tools (apt-ostree, selinux-policy-default, python3)

Basic Build

# Build with default apt-cache-ng proxy
./build.sh

# Build without proxy (direct to Debian repositories)
./build.sh ""

# Build with custom proxy
./build.sh "http://your-proxy:3142"

Manual Build

# Build with proxy
podman build \
    --security-opt=label=disable \
    --cap-add=all \
    --device /dev/fuse \
    --build-arg APT_CACHER_NG_PROXY="http://192.168.1.101:3142" \
    -t localhost/debian-bootc:minimal \
    .

# Build without proxy
podman build \
    --security-opt=label=disable \
    --cap-add=all \
    --device /dev/fuse \
    --build-arg APT_CACHER_NG_PROXY="" \
    -t localhost/debian-bootc:minimal \
    .

Apt-Cache-NG Proxy Configuration

The build system supports apt-cache-ng proxy configuration for faster builds and offline development:

With Proxy (Default)

./build.sh "http://192.168.1.101:3142"

Without Proxy

./build.sh ""

Custom Proxy

./build.sh "http://your-cache-server:3142"

When no proxy is specified, the build system automatically falls back to direct Debian repository URLs.

Debian Versions

  • 13 (Trixie): Stable release (default)
  • 14 (Forky): Testing release
  • 00 (Sid): Unstable/rolling release

Repository Structure

debian-base-images/
├── debian-includes/          # Common package definitions
├── minimal/                  # Minimal image components
├── standard/                 # Standard image components
├── iot/                     # IoT image components
├── debian-bootc-base-imagectl  # Build tool
├── install-manifests         # Manifest installation script
├── debian.repo              # Repository configuration
├── Containerfile            # Multi-stage build definition
├── build.sh                 # Build script
├── debian-13.yaml          # Debian 13 (Trixie) manifest
├── debian-14.yaml          # Debian 14 (Forky) manifest
├── debian-00.yaml          # Debian 00 (Sid) manifest
└── debian-bootc-config.json # Bootc configuration (single file)

Integration with bootc-image-builder

These base images are designed to work with bootc-image-builder:

  1. Build a minimal base image using this repository
  2. Push the image to a container registry
  3. Use bootc-image-builder with the image to create bootable disk images

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test with the build script
  5. Submit a pull request

License

This project follows the same license as the Debian project.