chore: drop stale build_setup.txt (wrong loader port, docs cover it)

This commit is contained in:
SirHumza committed 2026-10-06 20:18:09 +02:00
1 parent 2b60e1fda2
commit 9afe569216
1 file changed
-118
-118
View File
@@ -1,118 +0,0 @@
orbisRPC - BUILD SETUP
=====================
Working build command (copy/paste):
cd path to project
PS4_SDK_SRC=$HOME/ps4-payload-sdk-src \
PS4_PAYLOAD_SDK=$HOME/ps4-payload-sdk \
./scripts/build_sdk.sh
Output: build-sdk/orbisrpc_sdk.elf (~2,237,856 bytes)
Both env vars matter. PS4_PAYLOAD_SDK says where the compiler is;
PS4_SDK_SRC enables the 13.52 firmware gate described below.
ONE-TIME SDK SETUP
------------------
The ps4-payload-dev SDK must be built from git, NOT from the release ZIP.
Run this once per machine:
cd path to project
./scripts/build_sdk_from_source.sh
That clones to ~/ps4-payload-sdk-src, pins commit 573b4a0, and installs to
~/ps4-payload-sdk.
WHY NOT THE RELEASE ZIP:
The SDK's crt/patch.c holds a per-firmware table and __patch_init()
returns an error for any firmware not in it. crt/crt.c propagates that
out of _start(), which calls payload_terminate() and never reaches
main(). Silent death - no log line, nothing to diagnose.
Release v0.9 (2026-05-12) lists 13.50 but not 13.52. The 13.52 offsets
landed on master in 959e4ed (2026-06-25) and have never shipped in a
release. A payload linked against the ZIP cannot boot on 13.52.
If the SDK is missing:
./scripts/build_sdk.sh -> "FAIL: .../orbis-clang not found"
Both scripts verify the SDK source supports 13.52 before building, so a
too-old SDK fails at build time with a clear message instead of producing a
payload that dies on the console.
To move to a newer SDK commit later:
PS4_SDK_REF=<commit> ./scripts/build_sdk_from_source.sh
REQUIREMENTS
------------
WSL2 (all commands below run in WSL, not PowerShell)
git
clang-18 + lld-18 (llvm-config-18 or llvm-config must be on PATH)
Ubuntu packages:
sudo apt install git clang-18 lld llvm-18
The SDK also expects an llvm shim on PATH. build_sdk.sh adds $HOME/llvmshim
itself; if your setup differs, that line in scripts/build_sdk.sh is where to
look.
Repo location matters: scripts assume you run from the repo root, because
they reference relative paths like orbisrpc/ and third_party/.
VERIFYING THE BUILD
-------------------
ls -la build-sdk/orbisrpc_sdk.elf
A good build prints no FAIL lines and ends with the elf listing. Two lines
are normal and not errors:
"note: PS4_SDK_SRC not set, skipping the 13.52 SDK firmware gate."
(only appears if you omitted PS4_SDK_SRC - always pass it)
To rebuild from scratch:
rm -rf build-sdk && ./scripts/build_sdk.sh
HOST TESTS (optional, fast - no console needed)
make -C tests all
./tests/test_utils
Known pre-existing failure, NOT a regression:
test_appdb: Assertion `rc == SQLITE_OK' failed
The system sqlite3 library on the host differs from the bundled amalgamation
(rc=14). Tests registered before test_appdb in main() do run and pass.
SENDING IT TO THE CONSOLE
-------------------------
GoldHEN BinLoader on port 9020. Arm it in the exploit host menu, then send
the payload in ONE connection. Never probe the port first - any empty connect
burns the arm and the real payload then arrives at a dead listener:
use netcat e.g nc console_ip 9090 < payload.elf
Then confirm it ran - within ~20 seconds:
curl -s ftp://<console-ip>:2121/data/orbisRPC/log.txt
Expected first line: "orbisRPC payload boot"
No log file at all means the payload never executed. Do not debug the daemon
until you see that line. See docs/injecting.md for elfldr (port 9021) and
other methods.