diff options
-rw-r--r-- | prepare-lastboot | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/prepare-lastboot b/prepare-lastboot index 21ab825..a384ebb 100644 --- a/prepare-lastboot +++ b/prepare-lastboot @@ -13,6 +13,17 @@ UKI_NAME="$(cat /etc/machine-id)-$(uname -r).efi" if [ "$ROOT_FS" = "$BASE/$DEFAULT" ]; then echo "sucessfully booted to $BASE/$DEFAULT, preparing lastboot" + # backup the current UKI + echo "copying $UKI_NAME to $LASTBOOT-$DEFAULT.efi" + cp "$EFI_DIR/EFI/Linux/$UKI_NAME" "$EFI_DIR/EFI/Linux/$LASTBOOT-$DEFAULT.efi" + + echo "remove old initramfs images from /boot" + rm -f /boot/initramfs-*.img + + echo "unpack current initramfs to /boot/initramfs-$(uname -r).img" + objcopy -O binary -j.initrd "$EFI_DIR/EFI/Linux/$LASTBOOT-$DEFAULT.efi" "/boot/initramfs-$(uname -r).img" + chmod a-x "/boot/initramfs-$(uname -r).img" + # destroy the old lastboot file system and children zfs destroy -Rv "$BASE/$DEFAULT@$LASTBOOT" @@ -26,17 +37,6 @@ if [ "$ROOT_FS" = "$BASE/$DEFAULT" ]; then done zfs set mountpoint=/ "$BASE/$LASTBOOT-$DEFAULT" - - # backup the current UKI - echo "copying $UKI_NAME to $LASTBOOT-$DEFAULT.efi" - cp "$EFI_DIR/EFI/Linux/$UKI_NAME" "$EFI_DIR/EFI/Linux/$LASTBOOT-$DEFAULT.efi" - - echo "remove old initramfs images from /boot" - rm -f /boot/initramfs-*.img - - echo "unpack current initramfs to /boot/initramfs-$(uname -r).img" - objcopy -O binary -j.initrd "$EFI_DIR/EFI/Linux/$LASTBOOT-$DEFAULT.efi" "/boot/initramfs-$(uname -r).img" - chmod a-x "/boot/initramfs-$(uname -r).img" else echo "not booted to $BASE/$DEFAULT, taking no action" fi |