Multi-boot PS4 Linux Distros from a single USB drive – Detailed Tutorial

Install multiple PS4 Linux distros on a single USB drive & multi-boot from the drive without reinstalling using this detailed tutorial.

At this point, the PS4 Linux community is almost at its peak. We have more than 20 Linux distros to try on the PS4, with more on the way. So, it is time to address the question – “how to multi-boot PS4 Linux distros?” As said, the multitude of Linux distros available for PS4 makes it difficult to choose one. Now, why settle for one, when you can boot multiple PS4 Linux distros off a single USB drive.

This is a simple tutorial that will help you set up your USB drive, install multiple distros onto it, and then, boot your desired distro from the same drive. Following this, you can use the same drive for multiple distros without having to clear the single drive each and every time. That said, there are ways to multi-boot from the internal hard drive and even from an external USB drive. But, they can be tiresome to setup and boot from each time.

What I present to overcome that trouble is a modified initramfs file with multi-boot capabilities. Using this, you can have multiple distros installed on the USB drive quickly and you just need to press a button on your keyboard to boot the desired distro. I won’t bore you anymore. Let us just get into the tutorial, beginning with the requirements.

Before that, if you are interested, check out the distro download section for the vast variety of PS4 Linux distros available today.

Requirements

Linux Machine

For this, I recommend doing this on an Ubuntu-based distro, like Lubuntu or even Pop OS. You can try this on Fedora or Arch based distros, but, some PS4 distros might fail to boot if this process is done on an Arch or Fedora-based distro.

USB drive

I recommend having atleast 100GB of storage if you plan on gaming. Since, we are going to be installing multiple distros, it is good to have more than 200GB of space, if possible. Moreover, keeping the speed factor in mind, I recommend having an SSD (external or internal with an adaptor). You may check my equipment page for the best SSDs and equipment for running PS4 Linux.

Note: Please be warned that the installation process will wipe the USB drive. So, backup important information beforehand.

Files

  1. Distro of your choice in tar.xz format (Check Downloads section)
  2. bzImage (Download according to your model)
  3. Multi-boot initramfs.cpio.gz (MediaFire | Mega)
  4. Gparted
    • On Ubuntu and Ubuntu-based distros, open terminal and type sudo apt-get install gparted and press Enter.
    • On Fedora and Fedora-based distros, open terminal and type sudo dnf install gparted and press Enter.
    • On Arch and Arch-based distros, open terminal and type sudo pacman -S gparted and press Enter.

These requirements might remind you of the alternate installation method. This is because we will be making use of that method for installation, but, with a few modifications.

Those are the basic requirements on top of a jailbreakable PS4 and other accessories like a USB hub, keyboard, mouse, etc. But, before we begin the installation, here is a question that needs answering.

How many PS4 distros can I boot with multi-boot method?

Due to the limitation of the MBR partition, that PS4 Linux makes use of, in the current state, we are limited to 3 distros, at the time. This is because, MBR can only contain 4 primary partitions in total, 3 of them being occupied the distros, and one FAT32 reserved for the kernel and initramfs. In the future, if anyone figures out a way to go GPT, I will modify the initramfs to support more distros.

But, towards the end of the tutorial, I will also show you how you could replace a distro with another.

How to multi-boot PS4 Linux distros?

Step 1. Basic preparation of USB drive for PS4 Linux multi-boot

  1. Connect USB drive to your Linux PC or the virtual machine.
  2. Open terminal and type sudo gparted and press Enter.
  3. On gparted, choose your drive properly by going to the dropdown menu on top right. The storage capacity of the drive is given.
  4. Right click on each partition on the drive, for example, /dev/sda1 and /dev/sda2 and click Unmount.
  5. On the top pane, click on Device and click on Create Partition Table. Make sure that msdos is selected and then click on Apply.

This prepares you for the partitioning step.

Step 2. Partition USB drive for PS4 Linux multi-boot

Before beginning, we have to decide how many distros we plan to install on the USB drive. In this tutorial, I will be installing 3 different distros, and, as I have said earlier, 3 is the maximum number right now.

Here, you will also have to decide how much space is allotted to each distro. For example, I have a 180GB SSD, and I would like to give each distro roughly 60GB. But, if you want one distro to have 100GB and the other two to have around 40GB each, then, set the size accordingly.

  1. On Gparted, making sure you have properly selected the device, click on Unallocated and create a new partition by clicking on the new folder icon on top left.
  2. Change the File system to fat32 and the New size to 50. Click on Add.
  3. Click on Unallocated again and create a new partition by clicking on the new folder icon on top left. Change the File system to ext4, if not already that and for the label, type ps4linux1. As for the New size, I will be inserting 60,000, which is close to 60GB. When done, click on Add. That creates the partition for the first distro.
  4. To create the partition for the second distro, click on Unallocated and create a new partition by clicking on the new folder icon on top left. Change the File system to ext4, and this time, for the label, type ps4linux2. As for the New size, I will be inserting 60,000, which is close to 60GB. When done, click on Add.
  5. Similarly, for the third distro, click on Unallocated and create a new partition. Make sure the File system is set to ext4. But, this time, the label should be ps4linux3. As for the New size, I will be inserting 60,000, which is close to 60GB. When done, click on Add.
  6. Then, click on the green tick on the top pane and click on Apply.
  7. Close gparted.

With that, we are ready to install the distros one by one to the USB drive. Anyways, remember that, if you plan on dual-booting, just create two partitions – ps4linux1 and ps4linux2. I hope you get the idea.

Step 3. Install multiple PS4 Linux distros to the prepared USB drive

Before beginning, now, we have to decide which distro goes into which partition. In the example here, I will install Nobara 36 to ps4linux1, Pop OS to ps4linux2 and WinesapOS to ps4linux3. Feel free to change the order and the distros. Anyways, assuming the above is what you want to do, follow the instructions.

  1. Go to the File Manager and mount the partition named ps4linux1 by just clicking on it, if it isn’t already mounted.
  2. Open a terminal and type sudo tar -xvJpf /home/noob404/Desktop/nobara_36_ps4linux.tar.xz -C /media/noob404/ps4linux1 and press Enter.
  3. Now, mount the partition ps4linux2 and on the terminal, type sudo tar -xvJpf /home/noob404/Desktop/popos_22_04_ps4linux.tar.xz -C /media/noob404/ps4linux2 and press Enter.
  4. Finally, mount ps4linux3. On the terminal, type sudo tar -xvJpf /home/noob404/Desktop/winesapos_ps4linux.tar.xz -C /media/noob404/ps4linux3 and press Enter.

Please note that you might have to change the path of the tar.xz archive and the destination drive depending on your setup and distro. Anyways, that completes the installation part of the multi-boot setup.

Step 4. Copy kernel and initramfs to USB drive

  1. Go to File Manager and mount the smaller FAT32 drive. This will show up as 52MB Volume on most distros.
  2. Copy bzImage and the custom multi-boot initramfs.cpio.gz to the FAT32 partition.

Do not rename these files. Copy them as is, to the FAT32 partition. With that, the USB drive is completely ready to be booted from.

Step 5. Multi-boot PS4 Linux distros from the external USB drive

  1. Connect the USB drive to the PS4 and load the Linux payload. It can be any Linux payload, meaning it doesn’t have to be the 1GB VRAM payload. You may even use the 5GB VRAM payload, even for the first boot.
  2. When on the boot menu, enter the distro’s partition number and press Enter. For example, if you want to boot Pop OS, we have it on ps4linux2. So, just type 2 and press Enter. This will boot Pop OS. Similarly, if you want to boot Winesap OS, you would have to type 3 and press Enter.

And that’s how you multi-boot, my friends! Anyways, before I conclude, I will also tell you how you could replace a distro on the drive.

Replace PS4 Linux distro on multi-boot USB drive

Here, let us assume, a newer version of WinesapOS is available and you wish to replace the older WinesapOS on ps4linux3. To do that, follow these instructions.

  1. Connect USB drive to your Linux PC or the virtual machine.
  2. Open terminal and type sudo gparted and press Enter.
  3. On gparted, choose your drive properly by going to the dropdown menu on top right. The storage capacity of the drive is given.
  4. Right click on ps4linux3 and then click on Unmount. Right click on ps4linux3 again and then click on Format to. In the drop down menu, choose ext4.
  5. Click on the green tick on the top pane and click on Apply.
  6. Right click on the newly created ext4 partition and click on Label File System. Enter ps4linux3 and click OK.
  7. Click on the green tick on the top pane and click on Apply. Once done, close Gparted.
  8. Open a terminal, and install the new distro to ps4linux3 using the command, for example, sudo tar -xvJpf /home/noob404/Desktop/winesaposv2_ps4linux.tar.xz -C /media/noob404/ps4linux3.

That’s it, guys!

Conclusion

I hope you guys liked this tutorial. Many people have had issues changing distros from time to time. This is primarily because it is difficult to upgrade a distro, for example, Nobara 35 to Nobara 36 on the PS4. With this multi-boot tutorial, you can easily bypass that issue. In the next few weeks and months, expect more of such stuff. And, if you wish to support my endeavour, donate here.

15 Comments

  1. Hi, i finally bought PS4 Slim with 5.05 firmware and Belize southbridge. It works better than Baikal but what u would suggest – to stay on 5.05 or i should update on 9.00?

      • I have the same setup and have been trying to boot Nobara all night with every kernel and boot image, I have psxitarch running from a flash drive I installed a few years ago but that’s buggy of course, would system firmware have anything to do with running newer distros at all? I would figure it wouldn’t and I have no plans to update, so if I can’t get Nobara (or anything newer) to work I guess I’ll go back to messing with psxitarch but for now I’m gonna try to get PopOS to boot lol 🙂

  2. Hi, Bro! I am confused about getting Linux Kernel Modules work. I cant find any info about how to fix that as always i boot linux it shows Failed on modules. I saw on PS4 fat working this without any issues. Any ideas how to fix this?

  3. hi, Anyone get this multi-boot working on a PS4 Slim?
    Belize Southbridge,
    I can run all fedora versions no issue, but not any POPOS or Ubuntu versions, even if i change to the initramfs for ubuntu?

  4. I think your initramfs.cpio.gz might be broken. I tried this on a PS4 Fat with the Belize 5.4.210, and the rescue shell locks up with no option to type anything. As you use it as a reference for naming the Batocera partition as well as fast-forwarding past the payload site you’re using, I think you’re confusing the commenting Youtubers who hope to get that running under ps4linux1.

    • This is an unrelated issue. This initram works fine for me on a Baikal, but, I have had some members complain about the initram on a few other models. Will have to look into it later.

  5. I get a black screen right after batocera boots up. I get the first screen where it shows batocera then just goes black. I’ve even tried ctrl+alt+f1 then ctrl+alt+f2, then tried ctrl+alt+f11 then ctrl+alt+f12

Leave a Reply

Your email address will not be published.


*