Files

49 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Payload Manager - Automated Build & Deploy Script
if [ -z "$1" ]; then
echo "Usage: ./deploy.sh [PS5_IP]"
exit 1
fi
PS5_IP="$1"
MENU_PORT="8084"
LOADER_PORT="9021"
ELF="pldmgr.elf"
echo "--- Deploying Payload Manager to $PS5_IP ---"
# 1. Build the React Frontend
echo "[1/3] Building React Frontend..."
make frontend-build > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo " !!! Frontend build FAILED!"
exit 1
fi
echo " Frontend build successful."
# 2. Build the native ELF via Docker
echo "[2/3] Building native ELF via Docker..."
docker run --rm -v "$(pwd)":/src -w /src ps5-payload-sdk-pldmgr make clean all > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo " !!! ELF build FAILED! Check Makefile or source errors."
exit 1
fi
echo " ELF build successful."
# 3. Send to PS5
if [ -f "$ELF" ]; then
echo "[3/3] Sending $ELF to $PS5_IP:$LOADER_PORT via socat..."
socat -u - TCP:$PS5_IP:$LOADER_PORT < "$ELF"
if [ $? -eq 0 ]; then
echo "--- Deployment Complete! ---"
else
echo " !!! Failed to send ELF. Is the loader running on PS5?"
exit 1
fi
else
echo " !!! $ELF not found!"
exit 1
fi