Add ISO extraction script

This commit is contained in:
Thomas Stallinger 2026-07-06 14:30:26 +02:00
parent b009d3abb6
commit bdba09b3e1

45
scripts/extract.sh Executable file
View File

@ -0,0 +1,45 @@
#!/usr/bin/env bash
set -euo pipefail
if [[ $# -ne 1 ]]; then
echo "Usage: $0 /path/to/source.iso"
exit 1
fi
SOURCE_ISO="$1"
if [[ ! -f "$SOURCE_ISO" ]]; then
echo "Error: ISO not found: $SOURCE_ISO"
exit 1
fi
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
BASE_DIR="$(cd "$REPO_DIR/.." && pwd)"
BUILD_DIR="$BASE_DIR/build"
WORK_DIR="$BUILD_DIR/work"
MOUNT_DIR="/mnt/fedora-iso"
echo "Source ISO: $SOURCE_ISO"
echo "Work dir: $WORK_DIR"
sudo mkdir -p "$MOUNT_DIR"
rm -rf "$WORK_DIR"
mkdir -p "$WORK_DIR"
echo "Mounting ISO..."
sudo mount -o loop "$SOURCE_ISO" "$MOUNT_DIR"
cleanup() {
echo "Unmounting ISO..."
sudo umount "$MOUNT_DIR" || true
}
trap cleanup EXIT
echo "Copying ISO contents..."
sudo rsync -a "$MOUNT_DIR"/ "$WORK_DIR"/
echo "Fixing ownership..."
sudo chown -R "$(id -u):$(id -g)" "$WORK_DIR"
echo "Done."