I’ve been seeing a lot of PS3s come up on craigslist with broken optical drives, usually around 100$. Figuring this was a great way to free up my quadcore from mundane cross-compiling duty, I set about purchasing one and setting up the Z2 cross compiling environment. It took a bit of doing, but it works. Here’s a step by step guide for setting yours up.
I picked up an old 40gb ps3 with a broken optical drive for 100$. Everything else I had laying around. Here’s how I got the Z2 environment cross compiling.
- I am using YDL 6.2. You can grab the newest 6.2 release from here
- You’ll need a usb thumb drive formatted fat32 128mb or above to install the ng bootloader you can download here
- Youll need a usb thumb drive formatted ext3 4gb or above, or a 1gb thumb drive formatted ext3 with a way to share the iso over the network
- On the fat32 thumb drive, create a directory structure /PS3/otheros/
- Copy the ng bootloader.bld to /PS3/otheros/otheros.bld
- Boot the PS3, go to settings->system settings, format system and split the drive up for your linux install
- In the PS3 menu, go to settings->system settings, install other os and insert your fat32 thumb drive, this will install the ng bootloader
- In the PS3 menu, go to settings->system settings, default os and select ‘other os’, then shutdown
- Extract the contents of the ISO (but not the YellowDogLinux folder) to the ext3 thumbdrive
- At this point you can either copy the iso to the root of the thumb drive, or make it available over a network share
- Insert the ext3 thumbdrive into the ps3 and reboot with a usb keyboard attached, selecting the thumb drive as the bootable device
- At this point you are in the YDL text installer, select the ISO or the network file share, and continue to graphical installation
- During the graphical install, you’ll be given the mac address, I like to use this to setup static IP and tunneling while the system is installing
- Continue through graphical installation, making sure to set a root password and install any dev libraries you may want (saves you some downloading later)
- Watch a movie. Or two. Maybe the LOTR Trilogy. Seriously this will take a while
- While the install is running, if you setup static IP for the PS3 mac you can setup your Z2’s package manager, on the z2. just
vim /etc/ipkg/*and replace all instances of “Your IP HERE” with the static IP you setup for your PS3.
- Once the graphical install finishes and you’ve set up your user, it’s time to start installing software as listed on the beagleboard port page
yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip python-psyco ccache perl
yum install texinfo texi2html diffstat openjade docbook-style-dsssl docbook-style-xsl docbook-dtds
yum install docbook-utils sed bison bc glibc-devel glibc-static gcc binutils pcre pcre-devel git
yum install quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ help2man perl-ExtUtils-MakeMaker python-sqlite2
- now compile the bitbake env. (this will dl the git objects ~150 megs as well)
cd ~/oe && source ./oe_zipit2.sh
- At this point, I log out of E17 and into a shell (ctrl-alt-f1). With only 200megs ram we want to conserve ram
- Likewise, I like to decrease the number of bitbake threads in oe/zipit2/conf/local.conf from 8 to 1 and disable make threads
- re-source oe_zipit2.sh and bitbake something small to get the skeleton directory made (this will take a long time)
- If you told apache to install during graphical installer, run it now with
/etc/init.d/httpd start. Otherwise install first.
- Make a symbolic link from /var/www/zipit to your zipit deploy target, this allows the Z2 to see the packages you compiled
ln -s /var/www/zipit /home/zipituser/oe/zipit2-tmp/deploy/glibc/ipk
- on the ps3 (you will need to do this after every set of packages you compile)
- on the z2 (you will need to do this after every set of packages you compile)
- That’s that! Install and test your package on the Z2 with
ipkg install tree && tree
- Repeat for each package you wish to install, It’ll be SLOW, but you can stash the ps3 in a closet somewhere and be content it won’t red ring like certain consoles… even if it does thrash with 200megs ram.. happy bitbaking!