fs version improvments
This commit is contained in:
+25
-9
@@ -55,6 +55,7 @@ done
|
||||
|
||||
main() {
|
||||
root_check
|
||||
check_dependencies
|
||||
|
||||
udevadm trigger
|
||||
|
||||
@@ -73,12 +74,9 @@ main() {
|
||||
make_filesystem
|
||||
fi
|
||||
|
||||
write_img
|
||||
|
||||
mount_chroot
|
||||
|
||||
write_img
|
||||
gen_fstab
|
||||
|
||||
install_grub
|
||||
|
||||
echo -e "${GREEN}Restore and resize complete!${RESET}"
|
||||
@@ -92,6 +90,27 @@ root_check() {
|
||||
fi
|
||||
}
|
||||
|
||||
check_dependencies() {
|
||||
local missing=()
|
||||
local required_tools=("sgdisk" "pv" "pvcreate" "vgcreate" "lvcreate" "vgchange" "mkfs.vfat" "mkfs.ext4" "mkswap" "tar" "zstd" "lsblk" "partprobe" "chroot")
|
||||
|
||||
for tool in "${required_tools[@]}"; do
|
||||
if ! command -v "$tool" &>/dev/null; then
|
||||
missing+=("$tool")
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${#missing[@]} -gt 0 ]]; then
|
||||
echo -e "${RED}Missing required tools: ${missing[*]}${RESET}"
|
||||
echo
|
||||
echo "Install with:"
|
||||
echo " apt install gdisk pv lvm2 zstd dosfstools e2fsprogs parted util-linux coreutils"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}All dependencies found${RESET}"
|
||||
}
|
||||
|
||||
dialogue() {
|
||||
lsblk
|
||||
|
||||
@@ -142,6 +161,7 @@ lvm_init() {
|
||||
make_filesystem() {
|
||||
mkfs.vfat -F 32 $EFI_PART
|
||||
mkfs.ext4 $BOOT_PART
|
||||
mkfs.ext4 "${VG_PATH}${ROOT_LV}"
|
||||
mkswap "${VG_PATH}${SWAP_LV}"
|
||||
echo -e "${GREEN}Make filesystems finished.${RESET}"
|
||||
}
|
||||
@@ -167,7 +187,7 @@ write_img() {
|
||||
|
||||
lz4 -dc ${img_file_dir} | partclone.ext4 -r -o "${VG_PATH}${ROOT_LV}"
|
||||
|
||||
partprobe || true
|
||||
tar -I zstd -xvf "${img_file_dir}" -C "${MOUNT_PATH}"
|
||||
|
||||
echo -e "${GREEN}Finished writing image to disk${RESET}"
|
||||
}
|
||||
@@ -229,13 +249,9 @@ gen_fstab() {
|
||||
install_grub() {
|
||||
echo "Entering chroot to reinstall GRUB..."
|
||||
|
||||
CHROOT_LINUX_INSTALL="apt install --reinstall -y linux-image-6.1.0-44-amd64"
|
||||
CHROOT_INITRAMFS="update-initramfs -u -k all"
|
||||
CHROOT_GRUB_INSTALL="grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian"
|
||||
CHROOT_GRUB_UPDATE="update-grub"
|
||||
|
||||
chroot_cmd "$CHROOT_LINUX_INSTALL"
|
||||
chroot_cmd "$CHROOT_INITRAMFS"
|
||||
chroot_cmd "$CHROOT_GRUB_INSTALL"
|
||||
chroot_cmd "$CHROOT_GRUB_UPDATE"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user