#!/bin/bash # Create the data partition image with ROM directory structure. set -e script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" image="$1" if [ -z "$image" ]; then echo "Usage: $0 IMAGE" exit 1 fi # Build guestfish commands to create exFAT filesystem with ROM dirs script=( "run" "mkfs vfat /dev/sda label:ROMS" "mount /dev/sda /" ) # Create ROM directories while IFS= read -r dir; do [ -z "$dir" ] && continue [[ "$dir" =~ ^# ]] && continue script+=("mkdir \"/roms/$dir\"") done < "$script_dir/rom-dirs.txt" # Create support directories script+=("mkdir \"/roms/bios\"") script+=("mkdir \"/roms/saves\"") script+=("mkdir \"/roms/screenshots\"") for cmd in "${script[@]}"; do echo "$cmd" done | guestfish --format=raw -a "$image" echo "Data partition image created at $image"