- Add Debian Sid (00) as recommended base for building (like Fedora rawhide) - Clarify that Trixie might need OSTree packages backported from Forky - Maintain all experimental warnings and safety notices - Better reflect the real complexity of bootc on Debian
6.5 KiB
6.5 KiB
Compatibility Matrix
This document provides compatibility information for bootc on Debian systems.
Tested Versions
| Component | Version | Notes |
|---|---|---|
| bootc | v1.1.4+ | Tested with main branch |
| Debian Base | 13 (Trixie) | Recommended (stable) |
| Debian Base | 14 (Forky) | Ideal (testing, latest OSTree) |
| Debian Base | 12 (Bookworm) | Not recommended (oldstable, old OSTree) |
| Kernel | 6.1+ | Minimum for basic features |
| Podman | 4.0+ | Required for container operations |
| OSTree | 2024.1+ | Required for deployments (Trixie+) |
| OSTree | 2023.1+ | Minimum (Bookworm has older version) |
Feature Compatibility
Core Features
- ✅
bootc install- Manual installation recommended - ✅
bootc upgrade- Works with proper setup - ✅
bootc status- Full functionality - ✅
bootc switch- Image switching supported - ✅
bootc rollback- Rollback functionality - ✅
bootc usr-overlay- Temporary /usr modifications
Hidden/Internal Features
- ✅
bootc image- Image management - ✅
bootc internals- Internal operations - ✅
bootc state- State management - ⚠️
bootc exec-in-host-mount-namespace- Requires privileged access - ⚠️
bootc composefs-finalize-staged- Composefs backend only
Experimental Features
- ⚠️
--progress-fd- Available since bootc v1.1.4 - ⚠️
--no-signature-verification- Bypasses security checks - ⚠️
--mutate-in-place- In-place mutations - ⚠️
--json- JSON output format - ⚠️
--target-no-signature-verification- Target signature bypass
Composefs Backend Requirements
Kernel Requirements
- Minimum: Kernel 5.15+ for basic EROFS support
- Recommended: Kernel 6.5+ for full composefs features
- Overlay/Verity: Kernel 6.6+ for advanced integrity features
Userspace Requirements
- composefs: Userspace composefs tools
- EROFS: Enhanced Read-Only File System support
- fsverity: File system verification support
Feature Flags
composefs-backend- Enable composefs backendinstall-to-disk- Direct disk installationrhsm- Red Hat Subscription Manager (not applicable to Debian)
Debian-Specific Considerations
Package Availability
- bootc: Not packaged in Debian main (compile from source)
- ostree: Available in Debian repositories
- podman: Available in Debian repositories
- composefs: May require manual compilation
Build Dependencies
# Required for bootc compilation
sudo apt install -y build-essential git pkg-config libostree-dev libglib2.0-dev libgpgme-dev libseccomp-dev cargo rustc
# Required for composefs backend
sudo apt install -y libfuse3-dev libfuse3-3
Runtime Dependencies
# Required for bootc operation
sudo apt install -y ostree podman systemd
Known Issues
Debian-Specific Problems
- bootc install reliability: May fail on Debian due to Fedora-centric development
- Missing dependencies: Some bootc dependencies may not be available
- Compilation issues: Rust dependencies may not compile cleanly
- Runtime errors: Even if compiled, bootc may fail at runtime
- OSTree version issues: Debian 12 (Bookworm) has outdated OSTree packages
Workarounds
- Manual installation: Use provided scripts to bypass bootc install
- Hybrid approach: Manual install + bootc management
- Validation scripts: Manual validation of bootc-compatible images
- Containerfile fixes: Use symlinks instead of systemctl commands
- OSTree backporting: Backport newer OSTree libraries from Forky to Trixie
Testing Matrix
Experimental Configurations
- ⚠️ Debian 13 (Trixie) + bootc v1.1.4 + Podman 4.0 (experimental, not fully tested), might need OSTree packages backported from Forky
- ⚠️ Debian 14 (Forky) + bootc v1.1.4 + Podman 4.0 (experimental, not fully tested)
- ⚠️ Debian 00 (sid)
- ⚠️ Debian 12 (Bookworm) + manual installation + bootc management (old OSTree, experimental)
- ⚠️ Debian 12 (Bookworm) + composefs backend (experimental, old OSTree)
- ❌ Debian 11 (Bullseye) - Not tested, may have issues
- ❌ No reproducible bootc images exist yet - All configurations are experimental
Untested Configurations
- Other Debian derivatives (Ubuntu, etc.)
OSTree Backporting Guide
Backporting OSTree from Forky to Trixie
If you need newer OSTree libraries on Trixie, you can backport them from Forky:
# Add Forky sources temporarily
echo "deb http://deb.debian.org/debian testing main" | sudo tee /etc/apt/sources.list.d/forky.list
# Download newer OSTree packages
apt download ostree libostree-1-1 ostree-tests
# Install the newer packages
sudo dpkg -i ostree_*.deb libostree-1-1_*.deb
# Remove temporary sources
sudo rm /etc/apt/sources.list.d/forky.list
sudo apt update
Benefits of Newer OSTree
- bootupd support: Required for bootloader management
- Better bootc compatibility: Newer APIs and features
- Performance improvements: Optimized deployment operations
- Security updates: Latest security patches
Recommendations
For Production Use
⚠️ WARNING: bootc on Debian is EXPERIMENTAL and NOT production-ready
- DO NOT use in production - All configurations are experimental
- No reproducible bootc images exist - Everything is still experimental
- Use only for testing on virtual machines or test hardware
- Keep backups of critical data and configurations
- Expect failures - bootc is not stable on Debian yet
- Monitor bootc releases for Debian compatibility improvements
- Contribute fixes back to the bootc project
For Development
- Use the hybrid approach: Manual install + bootc management
- Validate images using provided validation scripts
- Test with different kernel versions for composefs features
- Contribute fixes back to the bootc project
Getting Help
Documentation
- This repository: Comprehensive Debian-specific documentation
- bootc upstream docs: Official documentation
- OSTree documentation: OSTree reference
Community
- bootc GitHub issues: Report bugs and issues
- Debian bootc discussions: Community discussions
Reporting Issues
When reporting issues, please include:
- Debian version and kernel version
- bootc version and build method
- Complete error messages and logs
- Steps to reproduce the issue