# Format case "$FS,," in fat32) log "Formatting FAT32..." mkfs.vfat -F32 -n "$LABEL:-UFIXII" "$PART" ;; exfat) log "Formatting exFAT..." mkfs.exfat -n "$LABEL:-UFIXII" "$PART" ;; ntfs) log "Formatting NTFS..." mkfs.ntfs -f -L "$LABEL:-UFIXII" "$PART" ;; ext4) log "Formatting ext4..." mkfs.ext4 -L "$LABEL:-UFIXII" "$PART" ;; *) echo "Unsupported fs: $FS"; exit 1;; esac
# Helpers list_usb() grep -E "usb
log "Target device: $DEVICE" lsblk "$DEVICE" if ! confirm "Proceed formatting $DEVICE? This will erase all data."; then log "Aborted."; exit 0; fi usb flash driver format tool ufixii repack hot
# Mount, optional copy or image write MNT="$(mktemp -d)" if [ -n "$IMAGE" ]; then log "Writing image $IMAGE to $DEVICE (not partition) — this will overwrite partition table." if ! confirm "Confirm writing image to whole device?"; then log "Aborted."; exit 1; fi dd if="$IMAGE" of="$DEVICE" bs=4M status=progress conv=fsync log "Image written." exit 0 fi # Format case "$FS,," in fat32) log "Formatting FAT32
confirm() read -rp "$1 [y/N]: " ans [[ "$ans" =~ ^[Yy]$ ]] confirm "Confirm writing image to whole device
# Partition: single primary spanning whole device log "Creating single partition..." parted -s "$DEVICE" mklabel msdos parted -s "$DEVICE" mkpart primary 1MiB 100% partprobe "$DEVICE" sleep 1