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
Devices can provide their own icons | Loading the Ubuntu PS3 CD |
download
Petitboot, version 0.2:
- otheros.bld (PS3 flash image, 3.4M)
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:
- otheros-petitboot+network.bld (PS3 flash image, 3.5M)
You will need to rename this to otheros.bld
after you
download it.
installing
- 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
. - 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.
- 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:
- Turn the ps3 off
- 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.
- petitboot-0.2.tar.gz (.tar.gz, 81kB)
You'll also need the 'twin' windowing system, version 0.0.3
- libtwin-0.0.3.tar.gz (.tar.gz, 400kB)
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