(Southbridge: Aeolia & Belize(2) & Baikal)
Linux-Payloads kexec for PlayStation 4.
The host with precompiled Linux payloads works well with GoldHEN's PayLoader. Just open the web browser and cache the host—it will also work offline too. PSFree-Enhanced
There's also a great Linux setup guide by DionKill
- FW 5.05 ✅
- FW 6.72 ✅
- FW 7.00 / 7.01 / 7.02 ✅
- FW 7.50 / 7.51 / 7.55 ✅
- FW 8.00 / 8.01 / 8.03 ✅
- FW 8.50 ✅
- FW 9.00 ✅
- FW 9.03 / 9.04 ✅
- FW 9.50 / 9.51 / 9.60 ✅
- FW 10.00 / 10.01 ✅
- FW 10.50 / 10.70 / 10.71 ✅
- FW 11.00 ✅
- FW 11.02 ✅
- FW 11.50 / 11.52 ✅
- FW 12.00 / 12.02 ✅
- FW 12.50 / 12.52 ✅
- FW 13.00 ✅
- FW 13.02(?) ✅
The internal path by default is at: /data/linux/boot, however it'll also check for /user/system/boot/ in case it was not found.
the rest is coming from the initramfs.cpio.gz init configuration
so you can go into the rescue shell without a usb stick just upload the bzImage and initramfs.cpio.gz over ftp to your PS4 Drive:
/data/linux/boot/[bzimage,initramfs.cpio.gz]
or
/user/system/boot/[bzimage,initramfs.cpio.gz]
and of course it will work too with a USB / HDD Drive. USB have highest priority. If a USB is connected, it will use the bzImage and initramfs.cpio.gz from there .
Control VRAM size via a plain text file containing a number in MB (not GB).
| vram.txt value | VRAM allocated | Payload suffix |
|---|---|---|
32 |
32 MB | -32mb |
64 |
64 MB | -64mb |
128 |
128 MB | -128mb |
256 |
256 MB | -256mb |
512 |
512 MB | -512mb |
1024 |
1 GB | -1gb |
2048 |
2 GB | -2gb |
3072 |
3 GB | -3gb |
4096 |
4 GB | -4gb |
Default is 1024 MB (1 GB) if vram.txt is missing or invalid. Minimum is 32 MB.
Note: 32 MB and 64 MB VRAM payloads work (tested on Aeolia/Belize). These are not included in the default precompiled releases, but you can compile them yourself by editing the
SIZES_MBvariable in the Makefile.
-
Why 32MB, 64MB, 128MB, 256MB, 512MB? The idea behind these low VRAM payloads is for users who are repurposing the PS4 as a server for RAM and CPU intensive tasks. If you're just running server stuff headless, you don't need 1GB+ of memory wasted on the GPU. Using these payloads frees up that shared unified memory to be used as regular system RAM instead.
-
How to use:
- Option 1: Just run the payload with the desired VRAM size (e.g.
-32mb,-64mb, etc.). - Option 2: Add the value (e.g.
32,64,128, etc.) into yourvram.txtfile to set it manually. Don't use these if you plan on gaming or using heavy desktop graphics!
- Option 1: Just run the payload with the desired VRAM size (e.g.
- Use .elf`s files instead of .bin whenever possible as they provide a better success rate.
- Don't use a Baikal payload on a non Baikal console.
- if you need UART just add this to the cmdline i have disabled .... just for now on newer Kernel it doesnt work.
Aeolia/Belize: console=uart8250,mmio32,0xd0340000
Baikal: console=uart8250,mmio32,0xC890E000
git clone https://github.com/ArabPixel/ps4-linux-payloads
cd ps4-linux-payloads/linux
# Edit the Makefile SIZES_MB variable to add 32 or 64 if you want those payloads
make
- marcan, shuffle2, eeply, rancido, valeryy, ethylamine, Joonie86 (Linux)
- sleirsgoevy (for the script and better exploit FW 672)
- AlAzif / KiwiDog / Specter / Celesteblue / ChendoChap / zecoxao / SocraticBliss / ctn123 (Exploit and Fun Stuff for the Console)
- bestpig / EchoStretch / EinTim23 / tihmstar / ArabPixel (Offsets)
- Contributors
- others ...
-
Complete support for PS4 7.xx and 8.xx. v23
-
Sub-1GB VRAM payloads – Added 128mb, 256mb and 512mb payload sizes for PS4 used as a headless server where GPU memory is largely unused. Set
vram.txtto128,256or512(MB) to use them. v22 -
128MB VRAM payloads are now supported (compile yourself by editing Makefile).
-
PS4 12.5x, 13.0x Support. v21.5
-
Automatic boot files placement – The kernel (bzImage) and initramfs.cpio.gz are now automatically copied to /data/linux/boot on the internal drive from the external fat32 partition. Why? No external drive is needed to boot into the rescue shell, only first time.
-
RTC time passed to initramfs – The current time from OrbisOS is added to the kernel command line (time=CURRENTTIME), ensuring the correct time is set at boot instead of defaulting to 1970, even if the RTC hardware cannot be read directly. Why? why not. but you need a prepared initramfs that reads the Time from the cmdline and set the time.
bootargs.txt you can also add a textfile for changing the cmdline.