mirror of
https://github.com/SirHumza/orbisRPC.git
synced 2026-10-17 16:02:24 +02:00
chore: drop stale build_setup.txt (wrong loader port, docs cover it)
This commit is contained in:
1 parent
2b60e1fda2
commit
9afe569216
1 file changed
-118
-118
@@ -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.
|
||||
Reference in new issue
Block a user