Petitboot is a graphical bootloader for the PlayStation 3. It's based on the existing kboot project, plus the twin windowing system for the GUI.

At present, petitboot is very much a work-in-progress, but works on our test PS3.

Petitboot is licensed under the GPL v2.

screenshots

screenshot 1 screenshot 2
Devices can provide their own icons Loading the Ubuntu PS3 CD

download

Petitboot, version 0.2:

The installing section below has instructions on installing petitboot.

I have another image, same as the above, but with a telnet server, a ssh server and a http server enabled. However, this isn't secure; there is no password set, and anyone with network access to the machine can get root access. Only run this image if your ps3 is on a trusted network:

You will need to rename this to otheros.bld after you download it.

installing

  1. Put your otheros.bld file on to a USB disk, in a file called /PS3/otheros/otheros.bld. Assuming your USB disk is mounted at /media/usbdisk:
    [jk@pokey ~]$ mkdir -p /media/usbdisk/PS3/otheros
    [jk@pokey ~]$ cp otheros.bld /media/usbdisk/PS3/otheros/
    
    If you don't have a USB disk, you can use any sort of media that the PS3 can read - CDROM, DVD, compact flash, etc. Just make sure that the file is called /PS3/otheros/otheros.bld.
  2. Plug the USB disk into your PS3, and navigate to System → System Settings → Install Other OS. The PS3 should find the new file on the USB disk, and install it.
  3. To boot with petitboot, just set your default operating system to "Other OS" (System → System Settings → Set Default OS), and reboot.

using petitboot

When petitboot starts, it will try to find existing Linux installations, by looking for /etc/kboot.conf, /etc/yaboot.conf or /boot/petitboot.conf files on any storage device connected to the system. Each discovered device will appear on the left-hand pane of the screen, and bootable options appear on the right.

You can navigate the boot options with the arrow keys (if you have a USB keyboard connected), or the D-Pad on the PS3 controller. If you're using a PS3 controller, you will need to have it connected via the cable; wireless controllers aren't supported (yet!).

If you only have a blank screen with no device icons, then petitboot has not found any bootable options. You can flip to a text console (using Alt+F1) to investigate.

The keys available are:

Keyboard PS3 Controller Function
Up, Down, Left, Right Navigate between boot options
Enter Circle Select boot option
Delete / Backspace Square Boot to GameOS
1 Switch to 720p mode
2 Switch to 1080i mode
3 Switch to 1080p mode
Alt+F1 Switch to text console (Alt+F2 to switch back)

console

If you're using the petitboot console (either by hitting Alt+F1, or logging-in over the network), you have a fairly standard Linux system available. Some notes:

  • Discovered storage devices are mounted under /var/tmp/mnt, named by their device. For example, /dev/ps3da1 is mounted at /var/tmp/mnt/ps3da1.
  • To boot a kernel, use kexec: kexec -f --append="root=/dev/ps3da1" /var/tmp/mnt/ps3da1/boot/vmlinux .

petitboot is a work-in-progress: if you have any problems, email me at jk@ozlabs.org.

reverting to the standard ps3 software

If you'd like to revert to the standard PS3 behaviour (ie, the PS3 boots directly to gameos), then you can just do a reset of the PS3:

  1. Turn the ps3 off
  2. Hold down the power button until you get a second set of beeps

The ps3 boot sequence will now be back at the factory default.

frequently asked questions

Can petitboot boot an option by default?

Unfortunately, the version of petitboot on this site does not have support to autoboot a particular option. Geoff Levand has added this feature to his petitboot update, which is on his site. However, Geoff's updates do not include a GUI at the moment.

There are no bootable options, how do I fix this?

When petitboot starts, it looks for installations of Linux on any drives connected to your PS3. It then tries to find a kboot.conf file, which describes the bootable options that are on this drive. The kboot.conf files look something like this:

linux=/boot/vmlinux initrd=/boot/initrd.gz quiet splash

The first part (before the =) is the label to show, the second part is the kernel and boot options. You will probably need to adjust these paths to suit your setup.

sources

Petitboot sources, version 0.2. You only need these if you want to make changes to petitboot.

You'll also need the 'twin' windowing system, version 0.0.3

building

The above images are built using the OpenWRT infrastructure. However, we need to apply some patches (which are in the process of submission). Grab the patches here.

This OpenWRT config file was used for the otheros images above.

authors

Petitboot was brought to you by Benjamin Herrenschmidt <benh@kernel.crashing.org> and Jeremy Kerr <jk@ozlabs.org>.

acknowledgements

Petitboot wouldn't be possible without:

  • Keith Packard for the initial twin library
  • The OpenWRT team for the build infrastructure
  • Artwork from the kde team