User Tools

Site Tools


Sidebar

hardwarerelated:playstation4

PS4 Linux kernels

  • https://github.com/ps4boot/ps4-linux.git - I can build that kernel, and it runs. It has ca. 1mb patches ontop of the vanilla 5.3.18 kernel.
  • upstream 5.3.18 - I can build it, but it does not boot (I have no UART to see more)
  • upstream 5.4.182 - I can build it, but it does not boot

Compile kernel on itmania Fedora 32

preparations

sudo dnf -y install git-core flex bison elfutils-libelf-devel

working for my PS4 pro model

This is a 5.3.18-gcf76ce01e, works for me.

git clone https://github.com/ps4boot/ps4-linux.git
cd ps4-linux
cp config .config
make -j 12 bzImage

# then copy arch/x86/boot/bzImage to partition /dev/sda1

nonworking tree

git clone https://github.com/ps4gentoo/ps4-linux-5.3.7
cd ps4-linux-5.3.7
make clean
make oldconfig
make -j 12 bzImage
[..]
  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  DESCEND  objtool
  CHK     include/generated/compile.h
  AS      drivers/base/firmware_loader/builtin/mrvl/sd8897_uapsta.bin.gen.o
  AS      drivers/base/firmware_loader/builtin/mrvl/sd8797_uapsta.bin.gen.o
make[4]: *** No rule to make target '/lib/firmware/amdgpu/gladius_ce.bin', needed by 'drivers/base/firmware_loader/builtin/amdgpu/gladius_ce.bin.gen.o'.  Stop.
make[3]: *** [scripts/Makefile.build:497: drivers/base/firmware_loader/builtin] Error 2
make[2]: *** [scripts/Makefile.build:497: drivers/base/firmware_loader] Error 2
make[1]: *** [scripts/Makefile.build:497: drivers/base] Error 2
make: *** [Makefile:1085: drivers] Error 2
[ITmania@ps4 ps4-linux-5.3.7]$ 

Hm.. the firmware seems nowhere around. 2 ideas:

  • What if it's just distributed in Sonys update packages? Can not open these.
  • Or on the PS4 disk.
  • Or they should be part of the kernels already compiled by others. How to extract from compiled kernels? extract-vmlinux can extract vmlinux from bzImage files, but how to get the single firmware pieces..

Early console

Without anything further, the kernel only outputs to screen, if that fails you can not debug. The PS4 offers UART contacts on the board, you can solder cables, and use a UART/USB module to read. By default, the output is scrambled or encrypted, you need a jailbreak and the right payload to get clear text output from the UART.

Other idea: console over USB.

hardwarerelated/playstation4.txt ยท Last modified: 2022/03/11 09:49 by chris