Running Linux on PS4 is a fun process. And, the possibilities Linux opens up on a PS4 are virtually limitless. So, if you have a PS4 that can run Linux payloads, aka an exploitable PS4, you would love to get your favourite distro up and running on it, right? This lengthy article covers everything about the process from the required files to even making your own Linux distro for PS4 in brief. While this page would give you a general idea about these processes, these will also be linked to detailed tutorials (both textual and video).
Requirements for running Linux on PS4
USB drive
For most distros, a USB device with 12GB capacity is enough. But, you might soon run out of available RAM if you plan on emulation and gaming. Thus, keeping in mind the heavy games and thus necessary swap space (more on it later in the article), I would recommend having atleast 100GB+ storage space on the USB drive.
Distro
Currently, there are multiple options available. You have various ports of Ubuntu, Debian, Fedora and Arch, provided by multiple developers. You can check the Distro download section for links to download these. If you want my Distros, you can check the Distro release section for my latest releases.
Kernel
There are many kernel versions which are currently available publicly. They are 4.14.93, 5.3.18 and 5.15.15. You have variations of these kernels provided by multiple developers. Check the Kernel download section for these options and download the suitable kernel for your PS4 model. Read more about it later in this article.
initramfs.cpio.gz
This file helps load the distro through the rescueshell. As you would know, we install and boot the Linux distro on a PS4 through this rescueshell and not the conventional GRUB menu. Again, here, we have a few variations of this file. You can check our download section for these files.
FAT32 Format
If you are using a large USB storage device, you will soon find that Windows is unable to format it to FAT32. To overcome this, we will use this small piece of software – FAT32 Format, which will format any large drive to FAT32 and convert it to MBR, which is required to run Linux on the PS4. Download it here.
USB Hub, USB Keyboard and Mouse
This is necessary as the Rescueshell which is used to install doesn’t recognise the DualShock 4. But, after the installation, you can configure the distro to detect your DualShock 4 controller and even other controllers, both wired and wireless. This will be covered in another article. As for the hub itself, I recommend using a USB 3.0 or 3.1 hub atleast. But, remember that most USB hubs might not detect a large USB drive on the PS4. So, in order to move large files over to the PS4, FTP might be the best option.
Linux Payload
There are multiple exploit hosts available on the web that you can use for this. Check our exploit host section for links to some trustworthy exploit hosts. You can also self host these payloads.
Exploitable PS4
How do you find if your PS4 exploitable? That’s what we will see right now.
Is my PS4 exploitable?
Exploitable PS4 firmware version
11.00 (as of 28 May, 2024).
So, if you have a PS4 that is running firmware 11.00 or lower, you can exploit your PS4 and thus, run Linux on it. Check out our latest tutorials/articles on PS4 jailbreaking and also the tutorial for running Linux on PS4 11.0.
How to check PS4 firmware version?
- On your PS4, go to Settings.
- Scroll down to System and select System Information. You will find the firmware version currently running on your PS4.
PS4 Linux Kernel FAQ
Which Kernel should I use? What is the difference between Aeolia, Belize or Baikal?
First, let us talk about the version – 4.14.93, 5.3.18 or 5.15.15? This depends on your preferences. While the older 4.14.93 is considered more stable, 5.3.18 and 5.15.15 offer more features, notably Vulkan implementation, which is a must for gaming. I’d recommend going for a 5.3.18 kernel and if that’s giving you hiccups, you can always switch back to 4.14.93. We will cover that next in the article.
As for the difference between Aeolia, Belize and Baikal, these are codenames for the different iterations of PS4. These are identified based on the motherboard the specific PS4 model is equipped with. If you do not want to get into the rocket science behind this naming convention, just understand that Aeolia and Belize are the older models, while Baikal is generally for the newer models.
How to find out if my PS4 is Aeolia, Belize or Baikal?
Before running Linux, as you might have already gathered, we would need a compatible kernel. For those already running Linux, if you are curious of your motherboard model, all you have to do is open a terminal and run lspci
. Among the output, you will see either Belize, Baikal or Aeolia.
But, if you want to find out your motherboard or southbridge model, there is a neat little payload called whosthatsouthbridge. Thanks to Reo Au In from the Discord server for introducing me to this payload. On a jailbroken PS4, all you have to do is run this payload, and it will tell you what motherboard model your PS4 uses.
How to use whosthatsouthbridge to find if my PS4 is Aeolia, Belize or Baikal?
If you want to run the payload manually, you can check the developer’s GitHub for the .bin file. If not, some hosts do have the payload by default. Here is a list with the location of the payload:-
- https://jb.ps4linux.com – Linux > WhosThatSouthbridge
- http://karo218.ir – Any 9.00 Option > Linux Group > Whos_That_Southbridge
- http://kmeps4.site – Full Auto/Lite Auto/Full Manual > Linux Vram Payloads > Whos That South-Bridge
- https://nightkinghost.com – 9.00 FW Auto Exploit Menu > Whos That Southbridge
Before this payload, an option was to look at the PS4 Developer Wiki. But, many Discord members including Darkstorm brought to my notice that the list was inaccurate. So, I have removed the link to it. Anyways, after knowing the motherboard model, download your choice of kernel from the Kernel Download section. And, if one doesn’t work for you, try another version. If you still face issues, leave a comment below.
If you use an incorrect version of Kernel, you will mostly have a black screen after injecting the Linux Payload. You can easily fix that by replacing the kernel. Let us see how it is done.
How to replace Kernel file on PS4 Linux?
These steps assume you have already installed your distro following the instructions (here or elsewhere).
- Download your choice of kernel from here. You will get a bzImage file.
- Connect the USB Drive containing Linux to your PC.
- Open the smaller 50MB partition, which has the files – bzImage and initramfs.cpio.gz.
Note – On Windows, only the said partition can be accessed. - Replace bzImage on the USB drive with the bzImage that you downloaded.
- Connect to PS4, load Linux payload and Eureka!
PS4 Linux Initram FAQ
How to find EXT4 label name using initramfs.cpio.gz?
If you are using the alternate installation method, or maybe installing Batocera for PS4, you might have to manually setup the PS4 Linux USB drive. In this case, the EXT4 partition has to be labelled according to the initram image (initramfs.cpio.gz) that you are using. Follow the instructions below to figure out the label name from initram image on a Windows machine:-
- Download and install 7-Zip.
- Copy initramfs.cpio.gz to a folder elsewhere.
- Right click on initramfs.cpio.gz, choose 7-Zip and click on Extract Here. This will generate the file initramfs.cpio.
- Right click on initramfs.cpio, choose 7-Zip and click on Extract Here. This will extract a few files and folders.
- Open the file named init in a text editor like Notepad++.
- Find the line beginning with
mount LABEL=
. Soon after theLABEL=
, you will find the label name for your EXT4 partition, for example, psxitarch.
PS4 Linux Exploit Hosts
Below is a list of websites that host PS4 exploits. The user can simply browse to these links and run the payloads.
- https://jb.ps4linux.com by Noob404
- http://ps4xploit.zd.lu by Nazky
- http://165.227.83.145 by Al-Azif (Opens properly on PS4 Web Browser)
- http://192.241.221.79 by Al-Azif (Opens properly on PS4 Web Browser)
- https://sleirsgoevy.github.io/900-host by sleirsgoevy (For Firmware 9.00)
- http://karo218.ir by Karo Sharifi
- http://kmeps4.site by Kameleon
- https://nightkinghost.com by Salt
Install Linux distro on PS4
The steps for installing any Linux distro on a PS4 is more or less the same. Depending on the initramfs file you choose, there could be slight variations. Check them out here. Apart from that, the steps are generic and here they are.
Step 1. Preparing USB Drive
- Format the USB drive using FAT32 Format. Start the program, select your drive letter carefully if you have multiple USB devices connected and click Start.
- Rename your distro file (example.tar.xz) to psxitarch.tar.xz.
- Copy bzImage, intramfs.cpio.gz and psxitarch.tar.xz to the root of the USB drive that you just formatted.
Step 2. Load Linux Payload for PS4
- Connect the USB Hub with the Keyboard and Mouse. Connect the USB drive. Make sure the USB drive is connected directly to the PS4 and not through the hub.
- On your PS4, open your exploit menu.
- If you are on 9.00-11.00, check out this tutorial.
- If you are on 9.00
- Load GoldHEN.
- Once GoldHen is loaded, load the Linux Payload (1GB VRAM). This is important as the installation process requires more RAM than VRAM. So, refrain from choosing the 3GB VRAM or 5GB VRAM payloads during the first run or installation.
- If you are on older firmware versions (<5.05),
- Load the Linux Payload (1GB VRAM). This is important as the installation process requires more RAM than VRAM. So, refrain from choosing the 3GB VRAM or 5GB VRAM payloads during the first run or installation.
- This will drop you into Rescushell (terminal) after the PS4 reboots.
Step 3. Installing Linux on PS4 with Rescueshell
- Type
exec install-psxitarch.sh
and press Enter. The program will install the distro on your USB device. This will take time depending on the drive’s speed. On SSDs, the process is comparatively faster. - Once the process has completed, you will be greeted with the distro’s welcome screen or login screen. If it doesn’t load automatically, type
exec start-psxitarch.sh
orresume-boot
and press Enter.
Note: If you are using a different initramfs file like that of Nazky’s, follow the instructions given here.
Install Linux distro on PS4: Alternate Method (Faster and better)
Now, some distros cannot be easily installed using the above mentioned method. So, here is a faster and in my opinion, much better method to install PS4 Linux distros using your PC. Please note that this is a brief version of this method. If you need detailed instructions with a video tutorial, please check this article.
Step 1. Prepare USB Drive using gparted
- Make an msdos partition table.
- Setup first partition as FAT32 with 50MB size.
- Setup second partition as EXT4 with the label – psxitarch or whatever the initramfs demands.
Step 2. Copy kernel and initramfs
- Mount the FAT32 partition.
- Copy bzImage and initramfs.cpio.gz to the FAT32 partition.
Step 3. Extract or install PS4 distro to USB drive
- Mount the EXT4 partition with the label name as set in Step 1.
- Extract the distro’s tar.xz archive to this partition. For example, like this –
sudo tar -xvJpf /home/noob404/Desktop/ps4linux.tar.xz -C /media/noob404/psxitarch
.
How to set up swap space on PS4 Linux?
As I have already explained, setting up a proper swap space reduces the chance of crashes during gaming and other heavy tasks. This process is also similar in every Linux distro. So, all you have to do is follow these simple steps and you will be up and running in no time.
- Open a terminal.
- Type
cd /
and press Enter. - Then, type
sudo touch /swapfile
. Enter the root password (changes from distro to distro) when prompted and press Enter. - Decide how much swap space you require. I suggest having 4GB to 8GB. But, this will depend on how much free space your USB drive has. Assuming, you want to have 8GB of swap, type
sudo fallocate -l 8GB /swapfile
and press Enter. - Type
sudo chmod 600 /swapfile
and press Enter. - Type
sudo mkswap /swapfile
and press Enter. - Finally, type
sudo swapon /swapfile
and press Enter.
Some of you have faced an issue with this method on some distros. If you aren’t able to setup swap space using the method above, just follow these instructions (thanks to tastebin). Here are the steps as provided by him. But, if you want to automate this process, tastebin has provided an automatic swap script that creates the swap and makes it permanent. You can get it here. If you are comfortable doing it manually, here are the steps:-
- Open a terminal.
- Type
cd /
and press Enter. - Then, type
sudo touch /swapfile
. Enter the root password (changes from distro to distro) when prompted and press Enter. - Decide the swap size (in GB) and multiply that number by 1048576. So, if you want to setup 4GB of swap, the corresponding number would be 4 x 1048576 = 4194.304. Next, on the terminal, type
sudo dd if=/dev/zero of=/swapfile bs=1024 count=4194304
and press Enter. Remember to replace the count value according to your size requirements. - Type
sudo chmod 600 /swapfile
and press Enter. - Type
sudo mkswap /swapfile
and press Enter. - Finally, type
sudo swapon /swapfile
and press Enter.
Using the above two methods, the swap space will stick for the current session. But, once you reboot, you will have to run these commands again. If you are satisfied with the swap space and its performance, you can make the swap permanent.
How to change size of swap space on PS4 Linux?
Let us say you set up an 8GB swap space, as in the example above. But, now you want to reduce it to 2GB, then the better option is to disable and delete the current swap. Then, create a new swap file. This will work for both increasing or reducing swap size. Follow these steps.
- Open a terminal.
- Type
sudo swapoff -v /swapfile
and press Enter. This will disable the swap. - Type
sudo rm /swapfile
and press Enter. This will delete the swap. - Now, follow the instructions above again. But, this time, change the GB value, according to your needs.
How to make swap space permanent on PS4 Linux?
- Open a terminal.
- Type
sudo nano /etc/fstab
. Enter the root password (changes from distro to distro) if prompted and press Enter. - Use the down arrow to go to the last empty line and type
/swapfile none swap sw 0 0
and press Ctrl+X followed by Enter. - Press Y when prompted with “Save modified buffer” and Enter.
- Check the file name to write is /etc/fstab and press Enter.
That’s it. From now on, the swap will load automatically as soon you boot into the Distro.
This should have Linux up and running on your PS4. One of the first things you would love to do is update the distro, right? So, let us see how that is done.
How to update Linux on PS4?
Updating the Linux distro directly on your PS4 is a mixed bag. So much can go wrong. So, it is better to backup the system. You can find the instructions for backing up Linux system here. Moreover, the steps are quite different for different distros. Here, you have the generic steps to do that. It is better to check the documentation (if any) the developer of the distro has provided before proceeding.
Please note that the following steps might not necessarily upgrade your system to a new release version. In other words, the following steps will mostly just update the packages and drivers, and will not upgrade your system from, say Fedora 34 to Fedora 35.
How to update Fedora on PS4?
- Open terminal.
- Type
sudo dnf update -x kernel*,libdrm*,mesa*,xorg-x11-drv-a*
and press Enter. - The process will take some time to complete.
How to update Ubuntu and Ubuntu-based distros on PS4?
Coming soon…..
Make your own Linux distro for PS4
Many of you after having fiddled with the currently available distros would love to make your own distro for the PS4, right? Here, I will list the process very briefly. This is assuming you already know what you are doing and just need some guidance. But, if you are a total beginner, and would love to have detailed instructions, check out our detailed guide here (also includes video tutorials).
Requirements for making PS4 Linux distro
- ISO of Distro (Check ISO download section)
- Virtual Machine software (VirtualBox, VMware, QEMU – Check Download section)
- USB drive (for installing – Check installation instructions)
Step 1. Install Linux Distro to a Virtual Machine
- Set up your Virtual Machine with the Distro ISO.
- Start the Virtual Machine.
- Choose install and complete the initial setup.
- When you reach the partitioning stage, choose Manual partitioning.
- Make a single ext4 partition mounted at root, i.e.,
/
. This will make it easier to backup and install on the PS4 later. - Install the distro to that partition.
- Reboot.
Step 2. Install necessary packages and drivers
- Install all the applications you require, like Steam, Wine, etc. You can check out our detailed article for instructions on installing many common applications.
- Remove unnecessary packages, if any.
- Install drivers for PS4. PS4 drivers for many distros are already available publicly. And, depending on the distro, the method for installing drivers is different. We will cover that later in a different article.
Step 3. Backup the Distro for installation on PS4
- Open a terminal.
- Type
cd /
and press Enter. - Assuming you want to name the distro file ps4linux, type
sudo tar -cvJpf ps4linux.tar.xz --exclude=ps4linux.tar.xz --exclude=var/cache /
. - After the process is complete, in the root folder, you will have a file – ps4linux.tar.xz.
To install this Distro on your PS4, check the installation instructions above.
Troubleshooting PS4 Linux
Here are a few common issues with PS4 Linux distros and their solutions.
Black screen on PS4 Linux
Black screen before login
If the boot freezes on a black screen, here are a few things you could try:-
- Press any key.
- If that doesn’t work, press Ctrl+Alt+F2. When the terminal appears, press Ctrl+Alt+F1 to get to the login screen.
- If that too didn’t work, unplug the monitor. You may remove the cable from the monitor end rather than from the PS4. Reconnect the monitor.
- Press Ctrl+Alt+F2. On the terminal screen, press Ctrl+Alt+F1 to get to the login screen.
- If that too didn’t help, hold Ctrl and Alt. Then, try pressing F1 to F12 till you see the terminal (TTY) screen. Then, press Ctrl+Alt+F1 to get to the login screen.
Black screen with an underscore (dash) on top left
Many of you have complained of this too. This indicates an issue with the extraction of the distro. To fix this, follow this tutorial, but make sure that you are using Lubuntu for the installation.
Conclusion
I have covered most topics related to Linux on PS4 in this article. But, keep in mind that this article will be updated from time to time with the updates happening in the sphere. So, I would suggest you to book mark this page as I will be updating this regularly.
Hi, Noob404! Now i am trying to make my own distro.. So, i found pretty nice distro – ZorinOS 16 Core which is based on Ubuntu 20.04 version. And i have an issue – when i try to install PS4 video drivers from download section – i downloaded ITmanias release – it gives lot of errors till it just gave me white screen with – Oh. no! Something went wrong. Question is – do i need to install any more drivers from download section or i can just add/remove some progs and just backup linux for ps4 use? Or, where to get more fresh drivers, cause i assume that these drivers doesn’t match with this distro.. Thanks
I myself have tried Zorin, but, driver building for the earlier Ubuntu has been an issue. Will release a later version of Zorin though, or atleast their drivers, as Nazky was also interested in Zorin.
I accidentally updated xorg-x11-drv-a, basically I typed in the update command and typed xll instead of x11…oops! I am not seeing much information on this, is it a controller driver? The update completely went through. I restarted and it went to rescue shell once and now after restarting a second time it appears to be working fine, writing this off the ps4. Am I screwed?
Its related to graphics. Just reinstall it with the drivers from the download section.
Hi noob !
Is it possible to test your bzimage 5.15.15 for baikal on my ps4pro please ?
I tried to test the link in an old post but it doesn t work 🙁
Unfortunately, no one has started the work on 5.15 for Baikal. The latest for Baikal is 5.4.213 by whitehax0r.
When I format it fat32 the ps4 doesnt recognize it
Use FAT32 Format tool from here.
Type sudo dnf update -x kernel*,libdrm*,mesa*,xorg-x11-drv-a* and press Enter.
THIS COMMAND BREAK MESA FUNCTION!!!!! DO NOT UPDATE MESA
What distro were you using? And, what was the outcome? Can you explain?
hi noob404 i got ps4 fat aeolia and i tried all the 15.5 kernal but the console turn of after playing the linux payload currently im using the 5.3.1.8 kernal and its working with fedora 38 im trying to get flatpak apps work but it gives me error realted to linux kernal sorry if i talked to much kinda new to linux
Kernel will require flatpak enabled. Find a kernel that already supports it, or get the source for the kernel that works for you and add flatpak support yourself.
Hi noob404 after install linux ,can we remove the usb ?
If you mean the Jailbreak USB, you can remove it. If you mean the PS4 Linux USB, no, you can’t.
I have a Slim Belize B0, can’t get any of the kernels to work. My system loses signal than powers down after 10-15 seconds.
I guess this is one of those weird consoles. Can you UART it and get logs?
I keep getting no valid usb can’t be found error when trying to exec install-arch.sh. I used rufus to format my usb to fat32. Also my files are fedora 38 and Kernel baikal 5.4.99.
hi noob!
bro please help me out i am stuck on no such file of directory error!!
i just cant get pass that .. my USB is fat32 formatted MBR … i tried almost everything out and i am not a technical person so could you please help me out with some easy explanation please!!!
i downloaded fedora32 and the aoelia file u mentioned above and the other intiramfs as well.
my ps4 is aeolia southbridge
and i use windows operating system to do all this
please please help me out bro …!!!
Check the AIO documentation and see if you have done everything right.