* On base system upgrade, move extra packages to base. * Packages to watch out for (new versions often cause upgrade issues): - systemd - qemu-system-x86 - linux-image-amd64 & btrfs-progs - g++ If some of them are very recent (and thus likely to still have issues) in unstable, consider using testing. See Debian Changelog for release dates. Check the current source (unstable/testing) and update if necessary. * Examining init changes: - Get the latest initramfs-tools-core and udev packages. - Extract /usr/share/initramfs-tools/{scripts,init} into new directory. - Compare: diff -urw We currently only use init plus udev in scripts/init-{top,bottom} (but the latter may use functions form other files). * Grep for 'bug' and @@ in init and bootstrap scripts, see if any bugs have been fixed and corresponding workarounds can be removed. For some may make sense to do a round of cleanups after successful bootstrap not to conflate failures. * Upgrade to latest debootstrap and debian-archive-keyring from unstable (or testing). Other required host packages: uuid-runtime (uuidgen) systemd-container (systemd-nspawn) * Note: as of latest attempt, bootstrap over https was still broken. * Bootstrap: ./bootstrap 2>&1 | tee bootstrap-X.Y.log NOTE: tee does not play well with bash prompt (used for troubleshooting). NOTE: if during boostrap you need to but unable to delete an intermediate btrfs submodules, then it most likely has nested submodules (see nspawn() in bootstrap). NOTE: to kill nspawn container, press Ctrl-]]]. Save the log for later comparison (might have to redo a from-stage-1 bootstrap to get the complete log). To bootstrap an architecture variant with a pre-configured kernel: ./bootstrap --arch-variant m1 --kernel-source .../linux-asahi-5.19-5-1.tar.xz * Compare sizes to previous version for any abnormalities (if a lot larger, check if GCC executables are stripped or if the kernel is somewhy is now built with debug info). * After deployment, test VM upload/removal scripts (there are often issues after upgrading to new btrfs-progs).