diff options
Diffstat (limited to 'TODO.org')
| -rw-r--r-- | TODO.org | 52 |
1 files changed, 42 insertions, 10 deletions
@@ -100,7 +100,7 @@ cp -r /usr/share/aur-packages /mnt/usr/share/ Most AUR packages are small (<5MB each). Estimate ~50-100MB for full suite. Significantly less than pre-cloning git repos. -** TODO [#A] Install Arch Wiki on ISO for offline package help +** TODO [#B] Install Arch Wiki on ISO for offline package help Include offline Arch Wiki on the ISO for package documentation and troubleshooting. Would be invaluable for rescue scenarios without network access. @@ -111,11 +111,7 @@ Options to research: Reference in RESCUE-GUIDE.txt and README.org. -** TODO [#B] Research mkosi as alternative to mkarchiso -Investigate whether mkosi offers advantages over mkarchiso for building the ISO. - -*** Reference -- https://wiki.archlinux.org/title/Mkosi +Note: Adds ~500MB to ISO. Network is usually available, so demoted from Priority A. ** TODO [#B] Set up CI/CD pipeline for automated ISO builds *** Options to evaluate @@ -145,13 +141,15 @@ Investigate whether mkosi offers advantages over mkarchiso for building the ISO. - Mount dataset for build artifacts and cache - Snapshot before/after builds for easy cleanup -** TODO [#B] Consider Avahi for USB boot disk discoverability +** TODO [#C] Consider Avahi for USB boot disk discoverability Make the live ISO discoverable on the network by name (e.g., archzfs.local) when booted. This would make SSH access easier without needing to find the IP address. Already have avahi package installed - just need to configure/enable it. -** TODO [#B] Consider adding bootable archzfs ISO to GRUB boot menu +Note: Nice to have but not critical. IP can be found via router or console. + +** TODO [#C] Consider adding bootable archzfs ISO to GRUB boot menu Store the archzfs ISO on disk and add a GRUB menu entry to boot it directly - no USB drive needed for recovery/reinstall. *** Benefits @@ -181,7 +179,39 @@ Store the archzfs ISO on disk and add a GRUB menu entry to boot it directly - no - Would you want this integrated into the installer (auto-create recovery partition)? - Or just document how to set it up manually? -** TODO [#C] Check for methods to abstract +** TODO [#C] Research mkosi as alternative to mkarchiso +Investigate whether mkosi (systemd project) offers advantages over mkarchiso. + +*** Comparison +| Aspect | mkarchiso | mkosi | +|--------|-----------|-------| +| Purpose | Live ISO images | Disk images, containers, ISOs | +| Config | Shell scripts + file structure | Declarative TOML files | +| Output | ISO9660 (USB/CD) | GPT disk images, tarballs, ISOs | +| Boot | GRUB/syslinux/systemd-boot | UKI (Unified Kernel Images) | +| Distros | Arch only | Arch, Fedora, Debian, Ubuntu | +| Build env | Host or chroot | Container-native, reproducible | + +*** Where mkosi shines +- Reproducible builds - designed for CI/CD, hermetic builds +- Unified Kernel Images - modern secure boot (kernel+initrd+cmdline in one signed EFI) +- VM images - can output raw disk images directly (great for QEMU testing) +- Declarative - TOML config instead of shell scripts + +*** Where mkarchiso is better for us +- Arch ecosystem - all docs, examples, community use it +- ZFS live environment - archiso has the hooks we need +- Proven - we know it works for our use case + +*** Verdict +Keep mkarchiso for now. mkosi could be valuable for: +- VM test images instead of booting ISOs +- Future UKI boot (more secure boot chain) +- Reproducibility when CI/CD becomes important + +*** References +- https://wiki.archlinux.org/title/Mkosi +- https://github.com/systemd/mkosi ** Ideas from arch-linux-live-cd-iso-with-zfs project Reference: /home/cjennings/code/arch-linux-live-cd-iso-with-zfs @@ -233,7 +263,7 @@ Implementation: This solves the common problem of ZFS packages not being available for the latest kernel. -*** TODO [#B] Add build logging with tee +*** TODO [#C] Add build logging with tee Capture all build output to a log file for debugging and CI artifact collection. Implementation: @@ -243,6 +273,8 @@ exec &> >(tee "build-$(date +%Y%m%d-%H%M%S).log") Also useful: Check log for known error patterns (e.g., DKMS failures) and fail fast. +Note: Simple to implement but low urgency. + *** TODO [#C] Support multi-variant ISO builds The reference project builds 8 variants automatically: - linux vs linux-lts kernel |
