Run Linux (Arch Linux with KDE Plasma) on a jailbroken PS4 from a USB drive. Tested setup, ready-to-use files.
This file contains the latest Linux update, dated 29/09/2026.
After you send the payload, watch the light on the PS4.
If it turns from white to blue within about 15 seconds, the kernel started and Linux is loading.
If the light stays white for more than 20 seconds, check that the kernel matches the console using the table below.
If it stays white, you can also power off, turn the console back on, and try again.
Only two models are known to work. Everything else in this table is untested.
| Model | Type | Southbridge | Kernel | Status |
|---|---|---|---|---|
| CUH-10xx, CUH-11xx | Fat | Aeolia | bzImage-belize-7.1.7 |
Untested |
| CUH-12xx | Fat | Belize | bzImage-belize-7.1.7 |
Untested |
| CUH-2116A | Slim | Baikal | bzImage-baikal-7.0.8 |
Works (FW 13.52, GoldHEN) |
| Other CUH-2xxx | Slim | Depends on the motherboard | Belize: bzImage-belize-7.1.7. Baikal: bzImage-baikal-7.0.8. |
Untested |
| CUH-70xx | Pro | Belize | bzImage-belize-7.1.7 |
Untested |
| CUH-7116B | Pro | Belize | bzImage-belize-7.1.7 |
Works (FW 13.52, GoldHEN) |
| Other CUH-7xxx | Pro | Depends on the motherboard | Belize: bzImage-belize-7.1.7. Baikal: bzImage-baikal-7.0.8. |
Untested |
Fat CUH-10xx and CUH-11xx are Aeolia, so they should use the Belize kernel. That has not been tested. Some Fat models have Wi-Fi and Bluetooth chips that may not work.
Slim CUH-2xxx and Pro CUH-7xxx can be either Belize or Baikal. CUH-70xx is Belize. For the other Slim and Pro models, it depends on the motherboard, so the model number alone is not enough.
Both tested consoles use the same payload (linux-1024mb.elf), initramfs and USB drive. The loader supports FW 5.05-13.52.
On the console, the kernel must always be named /data/linux/boot/bzImage.
Do not put a file named bzImage on the USB. The loader prefers a USB kernel over /data/linux/boot/, so leave it off and one USB works on every console.
Get everything from Releases. Unzip kernel.zip, payloads.zip, and tools.zip first. Leave psxitarch.tar.xz as its own file.
| File | What it is |
|---|---|
psxitarch.tar.xz |
The compressed Linux file. 2.8 GB (2962027772 bytes). |
kernel.zip |
Kernels and the small boot file. 36.4 MB (38147462 bytes). Unzip it to get kernel/. |
payloads.zip |
The files you send to the PS4. 185 KB (189240 bytes). Unzip it to get payloads/. Use payloads/linux-1024mb.elf. |
tools.zip |
Scripts that build and burn the USB, plus checksums. 5 KB (5089 bytes). Unzip it to get tools/. |
Do not put a file named bzImage on the USB. The PS4 would boot that file instead of the kernel that matches the console. One USB then works for both Belize and Baikal.
- Best: a 32GB USB 3.0 stick. Fast, and there is room left after Linux is installed.
- Minimum: 16GB. It fits, but there is almost no free space until you grow the partition.
- Slower USB 2.0 sticks work, but boot and the desktop feel slow.
Burning erases the whole stick.
Unzip kernel.zip and tools.zip first. On Linux or Windows WSL, with psxitarch.tar.xz in the same folder:
sudo bash tools/build-img.sh psxitarch.tar.xz kernel/initramfs.cpio.gz psxitarch-usb.imgYou get psxitarch-usb.img, about 12GB. That is the file you burn.
Windows
- Open PowerShell as Administrator.
- Run
Get-Diskand note the number of the USB stick. Do not pick your PC disk. - Run:
powershell -ExecutionPolicy Bypass -File .\tools\write-img.ps1 -ImagePath .\psxitarch-usb.img -DiskNumber 1Change 1 to your USB number. If Windows asks to format the stick, click Cancel.
You can also burn psxitarch-usb.img with balenaEtcher, or with Rufus in DD mode.
The kernel stays on the console, not on the USB.
- Jailbreak with GoldHEN.
- FTP to the PS4, port
2121. - Create the folder
/data/linux/boot/. - Upload the kernel for your console and name it
/data/linux/boot/bzImage. - Upload
kernel/initramfs.cpio.gzto/data/linux/boot/initramfs.cpio.gz.
Belize uses kernel/bzImage-belize-7.1.7. Baikal uses kernel/bzImage-baikal-7.0.8. If the light stays white for more than 20 seconds, check the table and use the kernel that matches the console. You can also power off, turn the console back on, and try again.
- Plug the USB into the PS4 before you turn it on.
- Jailbreak.
- Send
payloads/linux-1024mb.elfto the loader:
nc -q 1 <PS4-IP> 9020 < payloads/linux-1024mb.elfIf port 9020 does not answer, try 9090. A black screen for a minute or two is normal. It then logs in to the KDE desktop.
After a reboot you are back on the PS4. Jailbreak and send the payload again. The USB can stay plugged in.
Do this only after Linux is running on the PS4, not from the PC. The image is about 12GB. On a larger stick, the space after that stays unused until you grow the Linux partition.
Grow only the partition whose label is psxitarch. That is partition 2 of the USB stick. Never touch the console's internal disk.
These commands were not run on the console. They are the usual ones. Run lsblk -f and replace sdX with the disk that shows the label psxitarch, not a partition name like sdX1:
lsblk -f
sudo parted /dev/sdX resizepart 2 100%
sudo resize2fs /dev/sdX2If parted asks whether to continue because the partition is in use, answer yes. This only grows that USB partition.
| File | VRAM | Use |
|---|---|---|
linux-32mb.elf to linux-512mb.elf |
32-512MB | No desktop. Server only. |
linux-1024mb.elf |
1GB | Use this for the desktop. Tested on Pro and Slim. |
linux-2048mb.elf |
2GB | More graphics memory. |
linux-3072mb.elf |
3GB | Not tested. |
linux-4096mb.elf |
4GB | Tested on Pro (FW 13.52). Heavy games and emulators. Leaves about 4GB RAM. |
- The controller works on a USB cable. Bluetooth has to be paired again after every boot.
- Ethernet works. Wi-Fi is still being tested. Prefer 2.4GHz.
- Sleep is turned off. Suspending the console breaks this Linux.
- Black screen: Linux does not always start after the jailbreak. This is normal. Do a full power off (hold the power button), wait a few seconds, jailbreak again and retry. The 2nd or 3rd try usually works.
- Best routine: plug the USB in before powering on. Send the ELF right after the jailbreak, without opening games or apps. Wait 1-2 minutes on a black screen before giving up.
- White light: If it turns from white to blue within about 15 seconds, the kernel started and Linux is loading. If it stays white for more than 20 seconds, check that the kernel matches the console using the table. If it stays white, you can also power off, turn the console back on, and try again.
- Rescue shell with
mounting LABEL=psxitarch failed: the USB was not connected or detected. Plug it in and reboot (resume-boot does not help). - Sleep / suspend is not supported: already disabled in the ready-made USB image (suspend, screen dimming and screen off are turned off). If you build your own image, disable it in KDE Power Management, or run:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target- Pasted commands add junk characters: type them by hand.
- fail0verflow (marcan, shuffle2) - original PS4 Linux kernel port and ps4-kexec (the base of the loader)
- rancido and PSXITA Team, eeply, valeryy, tihmstar, mircoho, codedwrench, crashniels - PS4 kernel patches (amdgpu, Pro/Slim video, HDMI audio, Baikal and Belize support) carried into today's kernels
- rmuxnet - Strawberry kernels (7.1.7 Aeolia/Belize, Baikal port to 7.0.8) and the firmware/southbridge agnostic loader rework
- ps4boot - original ps4-linux-payloads loader
- ArabPixel - ps4-linux-loader maintainer, FW 12.5x and 13.00-13.52 support
- PSXITA Team (Rancido) - Psxitarch v3 initramfs and install scripts
- Piotr Karbowski - better-initramfs
- Erkkola (ErkkolaMaitohappo) - Arch Linux KDE v1.1.1 rootfs
- centi07 and DionKill - PS4 patched Mesa and video driver packages
- SiSTR0 - GoldHEN (jailbreak, FTP server, BinLoader)
Kernels, payloads and initramfs are unmodified and belong to their authors.
