Skip to content

ArabPixel/ps4-linux-payloads

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PS4 Linux Payloads for FW 5.05 - 13.02

(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

Supported Firmwares

  • 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(?) ✅

Info

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 .

vram.txt

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_MB variable in the Makefile.

Server Use (Low VRAM Payloads)

  • 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 your vram.txt file to set it manually. Don't use these if you plan on gaming or using heavy desktop graphics!

Note

  • 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

How to Compile

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

Credits

  • 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 ...

Change log

  • 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.txt to 128, 256 or 512 (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.

About

PS4 Linux Payloads for Firmware 5.05 - 13.02

Resources

Stars

Watchers

Forks

Contributors

Languages

  • C 75.5%
  • C++ 23.0%
  • RPC 0.7%
  • Assembly 0.5%
  • Makefile 0.2%
  • Linker Script 0.1%