15 Apr 2007 dwmw2   » (Master)

Completed the first install of Fedora rawhide on PlayStation 3 today, from the tree at rsync://bombadil.infradead.org/ps3-rawhide-20070415/

The rawhide kernel works on PS3; all I needed to change was a few things in the installer and related packages. There are updated rhpl, booty, kudzu and anaconda packages, for which the source is in the SRPMS/ directory. All the patches have been filed in bugzilla, findable from the PS3 tracker bug.

There's a bootloader image in PS3/otheros/otheros.bld where the PlayStation will find it if it's burned to DVD. I created it manually with the old 2.6.16 kernel because kexec isn't yet working in the 2.6.21 kernel, but it uses the initrd automatically generated from anaconda with petitboot, which is in Extras.

The biggest issue I have at the moment is that the graphical installer uses a fixed resolution of 800x600 -- which doesn't work too well on a 480i screen, and we default to 480i on PS3. For now, I just added a few options for different video modes into the bootloader configuration in he install tree, and added 'text' to the arguments for the 480i option.

Installing Fedora rawhide on PlayStation 3:

  1. Fetch the install tree:
    mkdir rawhide-ps3
    cd rawhide-ps3
    rsync -avz rsync://bombadil.infradead.org/rawhide-ps3-20070415/ .
    (If you have an existing copy of PPC rawhide lying around already, use that to seed the rsync by copying it into your rawhide-ps3 directory first.)

  2. Burn the tree to DVD. From the rawhide-ps3-20070415 directory:
    growisofs -Z /dev/dvd -R -J .
    If you don't have a DVD writer, you can use the CD image in images/boot.iso to boot and then do a network installation instead. Just export the tree you've downloaded by NFS or HTTP or FTP, and then boot the CD and point it at your export
  3. Boot into Game OS and use the self-update procedure to make sure you're running the latest firmware (1.60 at time of writing). Also use the Format Tool to ensure your disk is partitioned such that the "Other OS" is permitted some space. Then install the boot loader and run it as described in the "Performing the Installation" and "Starting the Bootloader" stages of the Sony instructions.
    You might want to note what it says at the bottom about how to get back to Game OS.
  4. You should find yourself in the petitboot graphical bootloader. Insert the CD/DVD and within a few seconds, you should see it turn up the screen, with options for different video modes. Select the one you want, or wait 5 seconds and the default (720p) will start.
  5. Now you're in the Fedora installer. It should all Just Work™. As is normal on anything but servers where you actually expect to change disks around, make sure you don't use the silly Fedora default partitioning scheme which uses LVM -- choose the option 'Custom' and just make normal partitions on the drive instead. Petitboot isn't yet tested with LVM.
  6. When it finishes, it should reboot and petitboot should let you boot from the hard drive. Rebooting doesn't always work yet in the current kernel, so you may need to power cycle when it wants to reboot.
  7. When it comes up, run 'yum install smolt' and then 'smoltSendProfile' to let us know that you're running Fedora on PS3.
Note that I've removed all the pointless 64-bit userspace packages which the installer usually installs by default (bug #233427). If for some strange reason you actually want some 64-bit userspace, you'll need to install it yourself later.

All of this is fairly trivial and should land in Fedora rawhide fairly soon, with the possible exception of the otheros.bld bootloader. That currently needs a kernel with working kexec, and a patch to anaconda which doesn't seem to have been received favourably. And even then it may end up producing an image which is too large to fit -- it's possible that we'll need to build a special minimal kernel for use in the bootloader image.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!