feat: add data partition creation with ROM directory structure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
cloudwithax 2026-02-17 17:47:09 -05:00
parent 14e9fa0f91
commit 88c7b17237
2 changed files with 125 additions and 0 deletions

37
scripts/mkdata.sh Executable file
View File

@ -0,0 +1,37 @@
#!/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"

88
scripts/rom-dirs.txt Normal file
View File

@ -0,0 +1,88 @@
3do
amiga
amigacd32
amstradcpc
amstradgx4000
arcade
astrocde
atari2600
atari5200
atari7800
atari800
atarijaguar
atarilynx
atarist
atarixegs
atomiswave
c128
c16
c64
channelf
coleco
daphne
doom
dos
dreamcast
easyrpg
famicom
fbneo
fds
gamegear
gb
gba
gbc
genesis
intellivision
lowresnx
mame
mastersystem
megadrive
megaduck
msx
msx2
n64
naomi
nds
neogeo
neogeocd
nes
ngp
ngpc
odyssey2
openbor
pc
pc98
pcengine
pcenginecd
pcfx
pico8
pokemini
ports
psp
psx
satellaview
saturn
scummvm
sega32x
segacd
sfc
sg1000
snes
sufami
supergrafx
supervision
tg16
tg16cd
tic80
uzebox
vectrex
vic20
videopac
virtualboy
wonderswan
wonderswancolor
wolf3d
x1
x68000
zx81
zxspectrum