I had been running Fedora 8 for a long while on my PlayStation 3, but I got sick every time I had to run a yum update: that process was very slow. Furthermore, I prefer Debian as a Linux distribution due to its administration utilities and strong policies, so I thought to give it a second chance on my PS3. Second? Yes, I already installed it a while ago, but given that the Cell SDK is only packaged for Fedora made me switch. Anyway, as I'm not doing as much Cell development as I thought at home, I don't care any more and want to install something I'll enjoy. Eventually that'll be NetBSD...

So I installed Debian 4.0 using the experimental installer. The process went flawlessly, but I chose to do manual partitioning: I created a 1GB partition for swap as /dev/ps3da1 and a 9GB ext3 partition for the root file system as /dev/ps3da2, in that order. Then, after installation, I was greeted by an unbootable system: for some reason, kboot failed to mount /dev/ps3da2 as its root file system and hence it couldn't parse its kboot.conf. Salvaging that situation was easy though: just mount that file system by hand, check the contents of /etc/kboot.conf and manually enter the command on the command line.

But why was that failing? I already found this problem some months ago with the first attempt at installing Debian. And, for what is worth, things worked fine in Fedora 8, and it had the boot loader configuration files in the same place. After Googling a bit I found no answer, so I opted to read kboot's init code. And there was the explanation: when looking for a root file system, it checks if the file system is marked as active and skips it if not.

The solution was to install the pmac-fdisk package under Debian, access the partition table of /dev/ps3d, mark /dev/ps3da2 as active, save the changes and reboot to see the system boot automatically.