PS4 Linux v1.0 by X-F1REBALL-X
Arch Linux with KDE Plasma, booted from a USB stick, with kernels for Belize and Baikal consoles
Install on your PS4
Payload (.elf): start an ELF loader on the PS4 first, such as elfldr, which listens on port 9021. Then from a computer on the same network, send it the file: nc <PS4 address> 9021 < linux-1024mb.elf, or the link, and elfldr downloads it: echo https://store.brewology.com/dl/6491/linux-1024mb.elf | nc <PS4 address> 9021.
Files
| File | Size | SHA-256 | |
|---|---|---|---|
| linux-1024mb.elf | 313 KB | 623c3b68…c98f | Download |
| linux-128mb.elf | 313 KB | ba415598…41ea | Download |
| linux-2048mb.elf | 313 KB | efb9bb02…3a8a | Download |
| linux-256mb.elf | 313 KB | bef32f64…a4f6 | Download |
| linux-3072mb.elf | 313 KB | e759edf9…01ea | Download |
Screenshots
About PS4 Linux
The kernel lives on the console. Over FTP, upload the one for your console as /data/linux/boot/bzImage and put initramfs.cpio.gz in the same folder. Belize and Aeolia consoles take bzImage-belize-7.1.7, Baikal ones bzImage-baikal-7.0.8. Don't put a file called bzImage on the stick, or the console boots that one instead. Plug the stick in before turning the console on, start GoldHEN and send linux-1024mb.elf, which is the payload for the desktop. The 512MB and smaller payloads are for running without a desktop.
The developer has it working on a PS4 Pro CUH-7116B and a PS4 Slim CUH-2116A, both on firmware 13.52 with GoldHEN. Every other model is untried. A black screen for a minute or two is normal, and it can take two or three goes. If the console's light stays white for more than 20 seconds, check that the kernel matches the console.
Ethernet works and Wi-Fi is still being worked on. A controller on a USB cable works, Bluetooth has to be paired again after every boot, and sleep is turned off.
Release notes
v1.0 · PS4-Linux v1.0 · Sep 28, 2026
Maintained by X-F1REBALL-X
Linux (Arch KDE) on a jailbroken PS4 - first release.
Tested consoles
| Model | Type | Southbridge | Kernel | FW | Status |
|---|---|---|---|---|---|
| CUH-7116B | Pro | Belize | bzImage-belize-7.1.7 | 13.52 (GoldHEN) | Works |
| CUH-2116A | Slim | Baikal | bzImage-baikal-7.0.8 | 13.52 (GoldHEN) | Works |
Which kernel
- Belize:
bzImage-belize-7.1.7 - Aeolia (Fat) - untested:
bzImage-belize-7.1.7. Some Fat models have Wi-Fi/Bluetooth chips that may not work. - Baikal:
bzImage-baikal-7.0.8 - Rename it to
bzImageand put it in/data/linux/boot/together withinitramfs.cpio.gz. - Not sure? If the Belize kernel gets a white light every time, use the Baikal kernel.
Payload
linux-1024mb.elf is recommended (tested on Pro and Slim). 512MB and below are for headless use only.
Assets
- Kernels:
bzImage-belize-7.1.7,bzImage-baikal-7.0.8, pluskernel-7.1.7-Strawberry-General.config initramfs.cpio.gz(shared)- Payloads:
linux-32mb.elftolinux-4096mb.elf - USB image:
psxitarch-usb.img.xz.part1,psxitarch-usb.img.xz.part2- ready-made Arch Linux KDE USB image (customized), xz-compressed, split in 2 parts - Tools:
build-img.sh,write-img.ps1(now also writes.xzimages) SHA256SUMS
Write the USB image
- Needs a USB drive of 16GB or more (8.9GB uncompressed). USB 3.0 is recommended for speed. Writing erases the drive.
- Join the parts:
cmd /c copy /b psxitarch-usb.img.xz.part1 + psxitarch-usb.img.xz.part2 psxitarch-usb.img.xz(Linux:cat psxitarch-usb.img.xz.part1 psxitarch-usb.img.xz.part2 > psxitarch-usb.img.xz). - Write it in PowerShell as Administrator:
.\write-img.ps1 -ImagePath .\psxitarch-usb.img.xz -DiskNumber <N>(needs 7-Zip). Or extract the.imgwith 7-Zip and use a raw image writer such as balenaEtcher or Rufus (DD mode). - It logs in straight to the KDE desktop.
- After writing, the Linux partition is only about 8GB. To use the whole drive, expand partition 2 (see "Expand the root partition" in the README, or use GParted).
Full guide in the README.
SHA-256
072113898347932c34888cfdc7556953ee27233c0727cc45f419a57119242480 bzImage-belize-7.1.7 46c835f762e7b0b5400ea762b8daa1bcec638a1b769c7ec0905137bc565b1ba8 bzImage-baikal-7.0.8 3f373bd6c469e490eaf4e5cf4d2e8ed77cf7bb91449b6a18da6a6529d479169b initramfs.cpio.gz 623c3b68592437b612ede22a4fc1a6f1eef6b17c4b16a1270100ece04cb3c98f linux-1024mb.elf 4063f3386c8fe4687c8768f0439ddb868b3bd3f01d4e5176558a277b219bf588 psxitarch-usb.img.xz.part1 e62aa04d0fff12979f3095d5371b8711af6ee04c600d7599913fdc460462df2d psxitarch-usb.img.xz.part2 153cec02127d7fcf2132e74b7eb1fe2342e66c97450ccf1c674964630b5f89b3 psxitarch-usb.img.xz (joined)
All other checksums are in SHA256SUMS.
Credits (original creators): fail0verflow (original PS4 Linux port, ps4-kexec), rancido and PSXITA Team, eeply, valeryy, tihmstar, mircoho, codedwrench, crashniels (PS4 kernel patches), rmuxnet (Strawberry kernels, loader rework), ps4boot (original loader), ArabPixel (ps4-linux-loader, FW 13.xx support), PSXITA Team (Psxitarch v3 initramfs), Piotr Karbowski (better-initramfs), Erkkola (Arch KDE rootfs), centi07 and DionKill (PS4 Mesa packages), SiSTR0 (GoldHEN).
