- Add comprehensive technical implementation details based on actual Python source
- Document all command-line options and usage patterns
- Add detailed examples for build-rootfs, rechunk, and list commands
- Include practical Containerfile examples for different use cases
- Document external dependencies and error handling
- Add security considerations and cleanup procedures
- Provide cross-build examples and advanced workflows
Based on analysis of the actual bootc-base-imagectl Python script from
https://gitlab.com/fedora/bootc/base-images/-/raw/main/bootc-base-imagectl
- Replace Apache 2.0 with Unlicense (public domain)
- No attribution required - maximum freedom
- Anyone can use, modify, distribute, sell without restrictions
- Update README to reflect public domain status
This provides the most permissive licensing possible with no
requirements for attribution or credit.
SAFETY IMPROVEMENTS:
- Strengthen safety warnings with 🚨 emoji and mandatory confirmation
- Add BOOTC_CONFIRM_DISK_WIPE=1 requirement for destructive operations
- Add 10-second sleep before exit to prevent accidental execution
- Emphasize experimental nature and data loss risks
COMPATIBILITY MATRIX:
- Create detailed version compatibility table with specific versions
- Add feature compatibility by bootc version
- Include kernel requirements for each feature
- Document experimental flags and their version requirements
KERNEL REQUIREMENTS:
- Add comprehensive kernel feature checklist
- Include verification commands for kernel features
- Specify exact kernel versions for different features
- Add EROFS, composefs, overlayfs, fsverity requirements
LICENSING:
- Add Apache 2.0 LICENSE file with SPDX identifier
- Remove ambiguity about licensing terms
CI/AUTOMATION:
- Add GitHub Actions workflow for automated testing
- Test base image building and validation
- Test nginx layer creation
- Validate documentation structure
- Check for broken links and markdown syntax
This addresses the most critical feedback while maintaining focus
on what actually works (Sid/Forky + modern OSTree).
- 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
EXPERIMENTAL WARNINGS:
- Add prominent warnings that bootc on Debian is HIGHLY EXPERIMENTAL
- Clarify that NO reproducible bootc images exist yet
- Warn that everything is still experimental and not production-ready
- Add DO NOT use in production warnings throughout
DEBIAN VERSION CORRECTIONS:
- Use Debian Sid (unstable) for base image building (like Fedora rawhide)
- Correct dangerous claims about 'tested' configurations
- Mark all configurations as experimental, not tested
- Remove false claims about production readiness
SAFETY IMPROVEMENTS:
- Add experimental warnings to all base image documentation
- Clarify that bootc is not stable on Debian yet
- Emphasize testing-only use on virtual machines
- Remove misleading production recommendations
This corrects dangerous misinformation that could lead to
data loss and system instability in production environments.
DEBIAN VERSION UPDATES:
- Debian 12 (Bookworm) is now oldstable with outdated OSTree packages
- Debian 13 (Trixie) is now stable and recommended for bootc
- Debian 14 (Forky) is testing with latest OSTree libraries
- Update all Containerfiles to use debian:trixie-slim
OSTREE COMPATIBILITY:
- Document OSTree version requirements for each Debian release
- Add backporting guide for newer OSTree libraries from Forky to Trixie
- Explain benefits of newer OSTree (bootupd support, better bootc compatibility)
- Update compatibility matrix with current Debian status
RECOMMENDATIONS:
- Recommend Debian 13 (Trixie) as minimum for production use
- Suggest Debian 14 (Forky) for latest OSTree libraries
- Provide backporting instructions for Trixie users
- Update testing matrix to reflect current Debian releases
This addresses the critical issue that Debian 12's OSTree packages
are too old for modern bootc/bootupd requirements.
- Remove ./bootc/ from .gitignore since bootc is now a git submodule
- Add standard ignore patterns for temporary files, editor files, OS files
- Add note explaining that bootc/ is a submodule, not ignored