The following is the GNU All-permissive License as recommended in https://www.gnu.org/licenses/license-recommendations.en.html
Copyright (C) 2024 Free Software Foundation sysadmin@fsf.org
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.
Contributions are welcome. See https://savannah.gnu.org/maintenance/fsf/.
vm won't boot after dist-upgrade to nabia
before working on a vm in a chroot / mount point, make sure that the vm is shut down or destroyed. before starting a vm, make sure that it's completely unmounted and crypt and nbd device files closed, etc.
install cryptsetup-initramfs
, add link_in_boot = no
to
/etc/kernel-img.conf
, run update-initramfs -u
, fix the symlinks for
/vmlinuz
and /initrd.img
in /.
contents of /etc/initramfs-tools/modules
:
xfs
ext4
aes-x86_64
dm-mod
dm-crypt
then run update-initramfs -u
.
If that doesn't work, you may need to chroot into the fs on the host. note that
systemd-nspawn
may not work for this purpose. be sure to bind-mount /dev. If
cryptsetup
is not added to the initramfs (command doesn't exist in busybox
console: virsh console example.fsf.org
), then you may want to add
CRYPTSETUP=y
to /etc/cryptsetup-initramfs/conf-hook
and rebuild the
initramfs.
You will likely need the above rule to force add cryptsetup. When you update the initramfs, there's an error about a mismatch in device names, so when you boot, you'll need to manually open the encrypted drive with cryptsetup then mount the resuling partition to /root. Best if all of the above is done before the first boot after upgrading.
If you needed to manually unlock on boot, make sure to update the initramfs again, confirm that there is no warning about mistamtched devices, then reboot.
If you get an error about this on boot:
/lib/systemd/libsystemd-shared-245.so: undefined symbol: seccomp_api_get
mount the fs externally, chroot in, and run this command:
mv /lib/x86_64-linux-gnu/libseccomp.so.2* ~