Install to an M.2 SSD
Requires firmware 4.00 or later. The M.2 drive is used for Linux only: you cannot store PS5 games on it at the same time.
Before you buy a drive, read M.2 drives: only NVMe drives work, and Gen3 drives need an unlock.
Bazzite mounts the boot partition somewhere else and uses different labels. Follow its own M.2 steps instead.
1. Install the drive
Install the M.2 drive following Sony's official guide. If it was previously used for games, format it first: Settings → Storage → M.2 SSD Storage.
2. Initialise the drive from Linux
Boot Linux from USB as usual, then run:
cd ps5-linux-tools
sudo ./m2_init
sudo reboot
If the PS5 asks you to format the M.2 drive again after the reboot, report it on Discord with the drive's model and size.
3. Install the Linux image onto the drive
cd ps5-linux-tools
chmod +x ./m2_install.sh
sudo ./m2_install.sh --install /path/to/ps5-ubuntu2604.img
4. Boot from the drive
cd ps5-linux-tools
chmod +x ./m2_exec.sh
sudo ./m2_exec.sh
To boot from M.2 every time, edit /boot/efi/cmdline.txt and change root=LABEL=ubuntu2604 to root=LABEL=ubuntu2604-m2.
You still need the USB drive plugged in: the loader reads its FAT32 partition at boot.
Updating the kernel on an M.2 install can cause a black screen. Stay on kernel 7.0.10 for now, see Known issues.
Switching distros
You don't need to reformat from the PS5 OS. Formatting the M.2 drive from the PS5 settings only does a "soft" format: it overwrites the blocks the PS5 itself needs and leaves your Linux partition alone. To switch distros, reformat the partition directly from Linux (for example sudo mkfs.ext4 /dev/nvme1, or your preferred filesystem) and reinstall.
No 64 GB USB drive?
If your USB drive is too small for the full image, use the community rsync-based script instead of m2_install.sh: github.com/g4caos/ps5-linux-script. It copies your running Linux session straight onto the M.2 drive, so you don't need a pre-built image file.