From 91266ac08aaedacfe238974ae4aab79c111a82c8 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 26 Aug 2025 15:29:12 -0400 Subject: [PATCH] Fix errors in install to disk too. --- usr/local/bin/install_to_disk.sh | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/usr/local/bin/install_to_disk.sh b/usr/local/bin/install_to_disk.sh index 1a429e6..23450b4 100755 --- a/usr/local/bin/install_to_disk.sh +++ b/usr/local/bin/install_to_disk.sh @@ -70,10 +70,10 @@ regenerate_partition_identifiers() { # Get all partitions on the target device local partitions=() while IFS= read -r partition; do - if [[ "$partition" != "$target_device" ]]; then + if [[ "$partition" != "$target_device" && "$partition" =~ ^${target_device}.+ ]]; then partitions+=("$partition") fi - done < <(lsblk -lpno NAME "$target_device" 2>/dev/null | grep "^${target_device}") + done < <(lsblk -lpno NAME "$target_device" 2>/dev/null) # Process each partition for partition in "${partitions[@]}"; do @@ -346,12 +346,15 @@ done # Regenerate partition UUIDs and labels to prevent boot conflicts with USB echo "Regenerating partition identifiers..." mapfile -t uuid_mappings < <(regenerate_partition_identifiers "$TARGET_DEVICE") +echo "Found ${#uuid_mappings[@]} UUID mappings to update" # Mount and make final adjustments TEMP_MOUNT="/mnt/stormux_target" sudo mkdir -p "$TEMP_MOUNT" +echo "Mounting $TARGET_ROOT_PART for final adjustments..." if sudo mount "$TARGET_ROOT_PART" "$TEMP_MOUNT" 2>/dev/null; then + echo "Successfully mounted target partition" # Remove any USB-specific markers sudo rm -f "$TEMP_MOUNT/home/stormux/.firstboot" 2>/dev/null || true @@ -364,22 +367,38 @@ if sudo mount "$TARGET_ROOT_PART" "$TEMP_MOUNT" 2>/dev/null; then # Update /etc/fstab with new UUIDs if [[ ${#uuid_mappings[@]} -gt 0 ]]; then - update_fstab_uuids "$TEMP_MOUNT" "${uuid_mappings[@]}" + echo "Updating fstab with new UUIDs..." + if update_fstab_uuids "$TEMP_MOUNT" "${uuid_mappings[@]}"; then + echo "fstab updated successfully" + else + echo "Warning: fstab update failed" + fi + else + echo "No UUID mappings found - fstab will not be updated" fi + echo "Unmounting target partition..." sudo umount "$TEMP_MOUNT" +else + echo "ERROR: Failed to mount target partition $TARGET_ROOT_PART" + echo "Installation may have failed - please check the target disk" + echo "However, the disk cloning operation completed." fi sudo rmdir "$TEMP_MOUNT" # Re-enable speech before success message +echo "Restoring speech output..." echo "command toggletempdisablespeech" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock 2>/dev/null || true +sleep 1 # Success message echo +echo "=========================================" echo "Installation completed successfully!" echo "The USB system has been cloned to $TARGET_DEVICE" echo "You can now reboot and remove the USB drive." echo "The system will boot from the internal disk." +echo "=========================================" echo echo "Press Enter to continue..." read -r