Commit graph

12 commits

Author SHA1 Message Date
robojerk
adecc24db1 Add critical grub2-mkconfig composefs compatibility fix
Some checks failed
Test bootc Documentation / test-base-image (push) Failing after 27s
Test bootc Documentation / test-documentation (push) Failing after 31s
- Add comprehensive fix for grub2-mkconfig composefs incompatibility
- Document the critical issue from Red Hat Bugzilla #2308594
- Provide complete patch, automated script, and Containerfile integration
- Add troubleshooting documentation with verification steps
- Update COMPATIBILITY.md with critical issue warning
- Update README.md to highlight this critical fix

This fix is ESSENTIAL for all composefs-based bootc images to boot properly.
Without this fix, grub2-mkconfig will generate incorrect configurations
and cause boot failures.

Based on:
- Red Hat Bugzilla #2308594 (reported by Colin Walters)
- ostree issue #3198
- Affects all bootc/ostree systems using composefs
2025-09-15 15:38:16 -07:00
robojerk
d204c35734 Add essential initramfs integration for composefs support
Some checks failed
Test bootc Documentation / test-base-image (push) Failing after 24s
Test bootc Documentation / test-documentation (push) Failing after 30s
- Add initramfs integration files based on debian-bootc project
- Include bootc-initramfs-setup.service for systemd integration
- Add dracut module-setup.sh for initramfs generation
- Include prepare-root.conf for OSTree composefs configuration
- Update Containerfile examples to include initramfs files
- Fix systemctl calls to use symlinks instead of systemctl commands
- Add comprehensive initramfs-integration.md documentation
- Update README to reference new initramfs documentation

Based on files from https://github.com/bootcrew/debian-bootc:
- bootc-initramfs-setup.service
- module-setup.sh
- prepare-root.conf

These files are essential for proper composefs support and boot
functionality in Debian bootc images.
2025-09-15 14:48:24 -07:00
robojerk
bd4c3e746f Enhance bootc-base-imagectl documentation with technical details
Some checks failed
Test bootc Documentation / test-base-image (push) Failing after 38s
Test bootc Documentation / test-documentation (push) Failing after 24s
- 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
2025-09-15 14:44:47 -07:00
robojerk
0e12ed215a Change license to public domain (Unlicense)
Some checks failed
Test bootc Documentation / test-base-image (push) Failing after 26s
Test bootc Documentation / test-documentation (push) Failing after 37s
- 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.
2025-09-15 14:33:24 -07:00
robojerk
d9faf636ed Implement high-impact improvements based on ChatGPT feedback
Some checks failed
Test bootc Documentation / test-base-image (push) Failing after 29s
Test bootc Documentation / test-documentation (push) Failing after 31s
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).
2025-09-15 14:31:28 -07:00
robojerk
287d69cbb8 Improve experimental configurations accuracy
- 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
2025-09-15 14:26:17 -07:00
robojerk
72155be8de CRITICAL: Correct dangerous claims about bootc production readiness
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.
2025-09-15 14:24:27 -07:00
robojerk
49281ba325 Update Debian version recommendations based on current release status
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.
2025-09-15 14:21:53 -07:00
robojerk
d2238df478 Critical safety and compatibility fixes based on ChatGPT feedback
SAFETY FIXES:
- Add prominent safety warnings for destructive operations
- Add BOOTC_I_KNOW_THIS_WIPES_MY_DISK environment variable checks
- Add safety warnings to manual installation scripts

BUILD FIXES:
- Fix Containerfile systemd calls to use symlinks instead of systemctl
- Replace brittle image validation with podman image mount
- Add fallback for rootless/mount issues

COMPATIBILITY FIXES:
- Align Debian version references (12 Bookworm vs 14 Forky)
- Add comprehensive COMPATIBILITY.md with version matrix
- Add kernel requirements for composefs (5.15+ basic, 6.5+ recommended)
- Document experimental flags and version requirements

TECHNICAL IMPROVEMENTS:
- Use DEBIAN_FRONTEND=noninteractive in build scripts
- Improve image inspection robustness
- Add explicit version testing matrix
- Document known issues and workarounds

This addresses the most critical issues identified in the ChatGPT review:
1. Safety warnings for destructive operations
2. Build-time systemd handling fixes
3. Robust image validation methods
4. Version compatibility documentation
2025-09-15 14:19:12 -07:00
robojerk
4f6cc99ba2 Remove bootc submodule and ignore bootc directory
- Remove bootc git submodule (user doesn't want it)
- Update .gitignore to ignore bootc/ directory
- Remove .gitmodules file
- Documentation is self-contained without source code dependency
2025-09-15 14:05:16 -07:00
robojerk
cea1a07a43 Update .gitignore: Remove bootc/ ignore since it's a submodule
- 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
2025-09-15 14:04:06 -07:00
robojerk
526f1c1afd Initial commit: Comprehensive Debian bootc documentation
- Complete documentation for all bootc commands and subcommands
- Debian-specific adaptations and workarounds
- Manual installation methods to bypass bootc reliability issues
- Technical guides with Rust source code analysis
- Flowcharts and external command references
- Hidden command documentation (bootc internals, state, etc.)
- Composefs integration analysis
- Base image creation guides (with and without bootc binary)
- Management scripts and automation
- Comprehensive troubleshooting and examples
2025-09-15 14:02:28 -07:00