summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--prepare-lastboot22
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