As most of you will probably already know, I’ve been working on a project recently which aims to run Linux on the PS3 (
including the PS3 Slim) using the PSJailbreak exploit, effectively replacing GameOS on the fly. I think it’s gotten to the point where it’s useful enough for other people to be interested, so here’s something resembling an official announcement.
Obligatory demo video:
AsbestOS (a
mineral, and meaning “inextinguishable” in Greek) is a bootloader to run PS3 Linux without OtherOS. It runs using the USB GameOS exploit (on PS3 version 3.41) from any compatible device, and any reprogrammable devices currently running the PS3 exploit can be used as long as they have enough free internal or external storage (40kB or so) to hold the loader. It is general enough that it should be useful to boot Linux given any other GameOS exploit in the future. It has been tested to work on the PS3 Slim too.
Currently, it only supports netbooting a kernel and no initrd (mostly due to bootmem limitations). This is enough to run a Linux system booting from an NFS share or from USB storage media. Almost everything that works under OtherOS is working. As additional perks of running as GameOS, you also get access to a seventh SPE (needs a
kernel patch to enable) and there is clearly full access to the RSX including 3D support, although we still need to learn a few details about how that works to be able to use it.
AsbestOS is a fully independent open source payload and does not contain any code from the original PSJailbreak payload or derivatives. It is licensed under the GPLv2. Compiling it does not require any SDK tools, and it includes a script to build a fully vanilla GNU toolchain for the PS3.
If you’re interested, check out the
git repository. The
README file contains information on how to run AsbestOS and how to set up kernels. Currently, ports exist for software USB AVRs (Arduino etc.), iPods, and the reference implementation for devices with a TI OMAP3, but anything currently running PSGroove or similar can be adapted with only a few lines of new code.
For the impatient or lazy folks, here’s a
kernel that you can use
Update: and a
stage1 binary and a
stage2 binary. You’ll probably want to change the kernel commandline options to set up your NFS root partition. This will eventually be handled by AsbestOS, but for now, open it up in a hex editor, search for HEXEDIT_THIS, and change the commandline to suit your needs (without changing the total length, of course). Do note that this kernel does not have built-in USB support, so it can only be used for NFS booting (the USB stuff is built as a module).
You can use
this filesystem as a starting point. It’s a Gentoo stage3 updated to date and with PS3-specific tools installed. Keep in mind that there’s no Portage tree included, so be sure to either emerge --sync or NFS mount your server’s Portage tree (which is what I do). At the very minimum, you’ll want to edit the following files to configure your NFS and networking settings (or to specify USB device partitions, if you want to go that route – but you need to compile your own kernel then): /etc/fstab, /etc/hosts, /etc/resolv.conf, and quite likely a few others. This filesystem includes kernel modules for the above kernel. The root password is ‘ps3′.