FreeHDBoot on Sony PlayStation 2

“FreeHDB” is a collection of homebrew software that can be written to any PATA hard disk that’s compatible with a fat PS2, and when the machine is powered up it will sieze control over the boot process and provide a menu for launching homebrew applications and, of course, backups.

Most of the instructions surrounding installing FreeHDBoot involve using Windows tools downloaded from forums - I’m too paranoid to do that, so I gave it a go with dd (I’d learn later that this is a supported method on the forums). These instructions assume any Unix-like OS running on a machine with a PATA hard disk connector. YMMV using SATA hard disks, I’ve not tested one. I used a 160GB Maxtor DiamondMax 16 (RAMB1TU0).

If you want Windows instructions, they can be found elsewhere.

Step 1: Connect hard disk to PC, boot FreeBSD (or Linux)

I use FreeBSD because its dd command supports SIGINFO, so it will dump out progress information when you send it a ^T signal.

Download and unzip the 8GB FreeHDBoot image, then simply write it out over the disk (ensure you have the correct device):

dd if=FHDB.img of=/dev/ada1 bs=1M

I didn’t worry about counting the blocks or anything like that, it’s fine. The process will take some time. In my case, FreeBSD didn’t like the DMA without an 80-pin cable, and didn’t automatically fall back so I had to disable DMA with echo hw.ata.ata_dma="0" >> /boot/loader.conf && shutdown -r now - so performance was even slower.

Step 2: Install into the console and confirm it works

Attach the hard disk to the network adapter, slide it into the console, and attach with screws. Turn the console on, the normal PS2 splash will come up, then a black screen for some seconds, and the FreeMCBoot logo. Congratulations, you’re running homebrew!

Step 3: Installing games

This is where it gets messy. My network adapter wasn’t working on my LAN, so I couldn’t copy games over without putting the drive back in my FreeBSD box. This part’s under construction. hld_dump also seems very dodgy under FreeBSD.