OtherOS++
OtherOS++
This guide is roughly copypasted from Gitbrew wiki and Glevand' documentations
Firmwares
With SS Patches
- PS3 Dual Boot GameOS/Linux CFW 3.41 // (mirror:CFW341-OTHEROS++.PUP (167.12 MB)) - 3.41 with SS Patches. 1/2 hdd to OtherOS++
- PS3 Dual Boot GameOS/Linux CFW 3.55 // (mirror:CFW355-OTHEROS++.PUP (170.64 MB)) - 3.55 with SS Patches. 1/2 hdd to OtherOS++
- PS3 Dual Boot GameOS/Linux CFW 3.55 1/8th // (mirror:CFW355-OTHEROS++-EIGHTH-HDD-SIZE.PUP (170.64 MB)) - 1/8th of the drive will be for GameOS, SS patches
- PS3 Dual Boot GameOS/Linux CFW 3.55 SPECIAL // (mirror:CFW355-OTHEROS++-SPECIAL.PUP (170.64 MB)) - QA Flag CFW with SS patches, Can be used to downgrade your ps3 from 3.55 to lower firmwares.
No SS Patches
- PS3 Dual Boot GameOS/Linux CFW 3.55 22GB // (mirror:CFW355-OTHEROS++-22GB.PUP (170.64 MB)) - 3.55: 22GB to OtherOS++, no SS patches (HASHES)
- CFW355-OTHEROS++-HALF-HDD-NO-SS-PATCH.PUP // (mirror:CFW355-OTHEROS++-HALF-HDD-NO-SS-PATCH.PUP (170.65 MB) - 3.55: no SS Patches. 1/2 hdd to OtherOS++
- CFW355-OTHEROS++-EIGHTH-HDD-NO-SS-PATCH.PUP // (mirror:CFW355-OTHEROS++-EIGHTH-HDD-NO-SS-PATCH.PUP (170.65 MB)) - 3.55: 1/8th of the drive will be for GameOS, No SS patches
Documentation
- README // (mirror:README.txt (729 Bytes))
- INSTALL_OTHEROS_ON_HDD // (mirror:INSTALL_OTHEROS_ON_HDD.txt (2.07 KB))
Packages
- boot_gameos.pkg // (mirror:boot_gameos.pkg (60.05 KB))
- boot_otheros.pkg // (mirror:boot_otheros.pkg (69.86 KB))
- dump_flash.pkg // (mirror: dump_flash.pkg (70.23 KB)) (dump NAND flash on USB0001)
- dump_flash_ptab.pkg // (mirror:dump_flash_ptab.pkg (70.23 KB)) (dump NAND flash on USB0001 ; ptab)
- dump_lv1.pkg // (mirror:dump_lv1.pkg (69.61 KB))
- dump_lv2.pkg // (mirror:dump_lv2.pkg (70.11 KB))
- dump_sysrom.pkg // (mirror:dump_sysrom.pkg (69.67 KB)) (dump syscon eeprom on USB0001)
- get_applicable_version.pkg // (mirror:get_applicable_version.pkg (69.3 KB)) (to get the low/high version lock via Debug UDP)
- get_token_seed.pkg // (mirror:get_token_seed.pkg (59.73 KB))
- install_otheros.pkg // (mirror:install_otheros.pkg (61.11 KB))
- install_otheros_bootloader_loader.pkg
- qa_flag.pkg // (mirror:qa_flag.pkg (69.92 KB)) (to enable QA)
- qa_flag_extra.pkg // (mirror:qa_flag_extra.pkg (69.98 KB)) (to enable QA with downgrade)
- reboot.pkg // (mirror:reboot.pkg (59.36 KB))
- reset_qa_flag.pkg // (mirror:reset_qa_flag.pkg (70.05 KB)) (to reset the QA flags back to default)
- setup_flash_for_otheros.pkg // (mirror:setup_flash_for_otheros.pkg (70.11 KB))
Petitboot Images
- dtbImage.ps3.bin // (mirror: dtbImage.ps3.bin (9.32 MB))
- dtbImage.ps3.bin.minimal // (mirror:dtbImage.ps3.bin.minimal (7.6 MB))
Scripts
- clone.sh - clones all repos from git.gitbrew.org/ps3/
- create_hdd_region.sh // (mirror:create_hdd_region.sh (3.77 KB))
- create_hdd_region_ALTERNATIVE.sh // (mirror:create_hdd_region_ALTERNATIVE.sh (3.93 KB)) - alternative ONLY to use when having -8 errors
- dispmgr_access.sh // (mirror:dispmgr_access.sh (2.14 KB))
- enable_wlan_on_fat.sh // (mirror:enable_wlan_on_fat.sh (1.6 KB))
- hdd_access.sh // (mirror:hdd_access.sh (6.22 KB))
- initimg.sh (deprecated : was used to kexec into a special debian img and partition drives for vflash)
- is_vflash_on.sh // (mirror:is_vflash_on.sh (1.09 KB))
- kboot.conf - kboot.conf to go in your linux /etc/
- restore_vflash.sh // (mirror:restore_vflash.sh (1.32 KB))
PS3 Kernels
- PS3 Linux Kernel 060411 // (mirror:ps3linux_kernel_latest.tar.gz (51.17 MB)) - June 4 2011
- ps3-linux-61cc4f2c.tar.gz // (mirror:ps3-linux-61c4f2c.tar.gz (92.35 MB)) - Juli 24 2011
Git
Master Servers
Gitweb Mirrors
Git Mirrors
- git://git.gitbrew.org
- git://storm.gitbrew.org
- git://scottfertig.net
- git://sub.gitbrew.org
- git://foxbrew.org
partial backup
snaphots
- juli 22 2011 snapshot by aKoN-Man:
http://www.multiupload.com/ULBPNLOHJ7 (143.1 MB) http://www.multiupload.com/MDNVQSFL00 (143.1 MB) http://www.multiupload.com/O737BH53N6 (143.1 MB) http://www.multiupload.com/EOG7ABG05F (143.1 MB) http://www.multiupload.com/CSG2IHRESD (143.1 MB) http://www.multiupload.com/AL658V0ZUU (143.1 MB) http://www.multiupload.com/W5BIRAZTUM (143.1 MB) http://www.multiupload.com/BR410045AK (143.1 MB) http://www.multiupload.com/RFPAKBP1BD (27.7 MB)
- sept 15 2011 (.git's for mirror):
ps3.tar.gz (793.32 MB) -or- ps3.part01.rar (95.78 MB) ps3.part02.rar (95.78 MB) ps3.part03.rar (95.78 MB) ps3.part04.rar (95.78 MB) ps3.part05.rar (95.78 MB) ps3.part06.rar (95.78 MB) ps3.part07.rar (95.78 MB) ps3.part08.rar (68.42 MB) note: you need to have git installed, and use it e.g.: git clone E:\ps3\ps3linux\ps3-jupiter.git
- sept 15 2011 (cloned version and site mirror version):
ps3.tar.gz (1.3 GB) (Including wireless slim drivers for linux)
Features
- Into HV integrated OtherOS bootloader loader (compatible with OtherOS bootloader on 3.15)
- OtherOS bootloader is booted directly from HV, no GameOS is involved.
- Process of booting OtherOS bootloader loader is very similar to 3.15 method
- Booting Linux from HDD/USB/BD/Network
- Linux with GameOS rights
- Full access to all HV SS services (Dispatcher Manager) from GameOS or Linux
- Full access to all System Manager services
- Ability to create/modify/remove repository nodes in LPAR 1 (e.g. with ps3dm-utils or ps3hvc-utils).
- This ability gives you much power over the whole system because many layers of PS3 use repository nodes to exchange information.
- Enabled QA mode in Update Manager
- Downgrading without USB dongle or Service Mode
- Ability to deactivate/activate HDD/VFLASH encryption (e.g. with ps3stor-utils)
- Support for ps3-utils. You can flash new OtherOS bootloader from Linux e.g.
QA Flag
Reports state if you flag your ps3 you will lose all psn .act files making any bought psn content unuseable (warning: these are dev tools, remember this.)
SS Patches
Do not use these pups if you play games via backup managers of your legal games. You will get trophy errors. You need this patch to use ps3dm,sm, and other ps3 dev tools. We're currently working on a patch in petitboot so it only runs when you use linux and not mess with GameOS backup managers -> use dispmgr_access.sh
OtherOS++ How-To
Referenced from http://www.gitbrew.org/otheros/
PS3 Models
PS3 Fat (NAND):
- CECHA = 256MB
- CECHB = 256MB
- CECHC = 256MB
- CECHE = 256MB
- CECHG = 256MB
PS3 Fat (NOR):
- CECHH = 16MB
- CECHJ = 16MB
- CECHK = 16MB
- CECHL = 16MB
- CECHM = 16MB
- CECHP = 16MB
- CECHQ = 16MB
PS3 Slim (NOR):
- CECH-20..A = 16MB
- CECH-20..B = 16MB
- CECH-21..A = 16MB
- CECH-21..B = 16MB
- CECH-250.A = 16MB
- CECH-250.B = 16MB
- CECH-251.A = 16MB
- CECH-251.B = 16MB
256MB = NAND, 16 = NOR. Follow Accordingly
Install OtherOS on HDD (for all PS3 models)
All tools are here: http://gitbrew.org/~glevand/ps3/ NOTICE: All my tools should beep. If you don't get beep during one of the steps below then stop doing anything and contact me. I will help. OtherOS++ support: irc.gitbrew.org (ssl) #otheros ALL PS3 MODELS ARE SUPPORTED !!! 1. Install my latest CFW 2. When installation is finished, reboot in Recovery Mode (not the Backup/Restore in XMB) and choose "Restore PS3 System" 3. Now your GameOS should use only the half of your HDD (Currently working on a better approach) 4. Run setup_flash_for_otheros.pkg (for all PS3 models) 5. Reboot (It's important to shut down and turn on your PS3) 6. Store dtbImage.ps3.bin on USB drive, plug it in and run install_otheros.pkg (NAND owners should use dtbImage.ps3.bin.minimal, rename it to dtbImage.ps3.bin). Try different USB ports if you don't get any beeps. 7. Run boot_otheros.pkg 8. Run reboot.pkg (use the package, not manually reboot!) 9. You should be in petitboot now. Exit from CUI to shell or switch to another virtual console. 10. Run script create_hdd_region.sh 11. Reboot and boot petitboot again 12. You should see now new HDD device on petitboot, /dev/ps3dd. That's your OtherOS HDD region. Don't touch any other HDD regions if you don't know what you are doing. Use only ps3dd device for your Linux installation. Use parted to partition it and create GPT partition table on ps3dd. GPT is supported by both, Linux and FreeBSD. Be warned, if you damage your GameOS HDD region, GameOS will reformat HDD and remove your Linux HDD region in the process. You have to do the above steps again. Don't mess with GameOS HDD region and GameOS won't mess with your OtherOS HDD region.
For users who installed OtherOS on VFLASH region 7 previously
You have to restore your VFLASH before doing the above steps. Be warned, this step is NOT for NAND owners. 1. Install my latest petitboot 2. Boot petitboot 3. Run script restore_vflash.sh 4. Reboot. GameOS should reformat your HDD again.
Partition the PS3 Drive
1. parted /dev/ps3dd 2. mklabel gpt 3. mkpart primary 0 2GB 4. print 5. mkpart primary 2GB (the rest of the hard drive here.) 6. quit.
In case you need it: full manual of Parted
You may now continue to Install Linux // (google-cache)
PS3:Linux
Example
Generic Guide to install any PPC64 Linux Distro (vflash only)
umount ps3db umount ps3dc wget http://gitbrew.org/~glevand/ps3/scripts/hdd_access.sh chmod a+x hdd_access.sh ./hdd_access.sh kexec -l vmlinuz --initrd of the distro you want to install
Fedora
Installed with Fedora 9 Full DVD Tested on Slim PS3 (3.55) & Phat PS3 (3.15)
When installing Fedora 9, when you are asked about partitioning, choose "Custom layout" and select ps3da.
3.55 (Custom CFW)
umount ps3db umount ps3dc ./hdd_access print|patch|restore? mkdir /mnt/fedora cp /tmp/petitboot/mnt/sr0/ppc/ppc64/* /mnt/fedora kexec -l vmlinuz --initrd=ramdisk.image.gz
Reboot the PS3 and it will start the installer
NOTE: When installing Fedora 9 (possibly all versions), choose "Custom layout" and select ps3da. The hdd_access.sh script disables ps3da-c and makes it so that ps3dd reads as the "first" hard drive. After the installer finishes, DO NOT HIT REBOOT. You must unplug or hardware reset your console.
3.15 PHAT (Stock OFW)
- Put petitboot on a memory stick
mkdir -p /media/usbstick/PS3/otheros/ wget http://www.kernel.org/pub/linux/kernel/people/geoff/cell/ps3-petitboot/otheros.bld cp ./otheros.bld /media/usbstick/PS3/otheros/otheros.bld
- Boot into GameOS
- XBM>Settings>System Settings>Other OS>
- Settings>System Settings>Default System>Other OS>Yes
- Boot into petitboot and load up a dvd with Fedora Core[1] on it :D
NAND 3.15 Notes before Tweaks
- Your hdd is ps3da. Pay attention to the guide and substitude ps3dd with ps3da
- Know which partitions are which and don't go mkswap'ing your root partition
- Do not use hdd_access to configure your hdds
- You must patch your kernel with glevand's patch / obtain a patched kernel in order to do certain things and compile certain tools.
Tweaks
- umount /dev/ps3dd2
- mkdir /mnt/fedora
- mount /dev/ps3dd2 /mnt/fedora
- nano /mnt/fedora/etc/yaboot.conf
- rename "linux" to "Fedora"
- remove UUID=* from arguments and save
- NAND 3.15 ONLY:change boot from /dev/sdd (or whatever) to ps3da (or whichever drive yours shows up as, not the partition)
- NAND 3.15 ONLY:add root=/dev/ps3da1
- NAND 3.15 ONLY:Example yboot.conf[2]
- nano /mnt/Fedora/etc/sudoers
- append your user under root
- If you cannot write to sudoers file:
- chmod u+w /mnt/Fedora/etc/sudoers
- edit
- chmod 0440 /mnt/Fedora/etc/sudoers.
root ALL=(ALL) ALL snowy ALL=(ALL) ALL
- each time you boot in petitboot, press e on "Fedora" and change ps3da2 to ps3dd2 for both vmlinuz and ramdisk. (temporary)
- Unless you followed the NAND 3.15 ONLY step previously.
- when you boot into fedora for the first time, make the user (same as you did in sudoers) account now.
- when prompted to login hit alt + ctrl + f1
- log in
- sudo su
- nano /etc/udev/rules.d/10-ps3da1swap.rules
KERNEL=="ps3da1", ACTION=="add", RUN+="/sbin/mkswap /dev/ps3da1", RUN+="/sbin/swapon -p 1 /dev/ps3da1"
- nano /etc/udev/rules.d/10-ps3vram.rules
# udev rules to automatically enable swap on /dev/ps3vram # Copy this file to /etc/udev/rules.d/10-ps3vram-swap.rules # Choose only one of the rules below # Initialize and enable swap unconditionally KERNEL=="ps3vram", ACTION=="add", RUN+="/sbin/mkswap /dev/ps3vram", RUN+="/sbin/swapon -p 10 /dev/ps3vram" # Initialize using /etc/fstab and standard init scripts # KERNEL=="ps3vram", ACTION=="add", RUN+="/bin/bash -c '/bin/grep -q ^/dev/ps3vram[[:space:]]*swap /etc/fstab && /sbin/mkswap /dev/ps3vram'"
Fedora is now installed and configured.
Fedora 12, faster way
### Fedora 12 clone installation howto by masterzorag ### This is my console-only base Fedora 12 system, with: Cell SDK 3.1.0.1, OpenCL 0.3, switchable support for 7th spu under opencl or SS; eth0 static ip 192.168.1.203, ssh server running, minimal. assuming here: /dev/ps3dd2 as target root partition, /dev/ps3dd1 as swap prerequisites: petitboot running, accessible ps3dd, anything more 0. grab my image at http://www.megaupload.com/?d=LLUVZLRH 1. boot petitboot 2. make your root filesystem: mkfs.ext4 -m 0 /dev/ps3dd2 3. make your swap filesystem: mkswap /dev/ps3dd1 4. make your temp mountpoint:mkdir /FC12 5. mount target partition: mount /dev/ps3dd2 /FC12 6. untar my image onto: tar xjvf FC12.tar.bz2 -C /FC12 7. boot now Fedora via kexec: kexec -l /FC12/boot/vmlinux-2.6.39-gb9133b3-dirty --initrd=/FC12/boot/initramfs-2.6.39-gb9133b3-dirty --append="root=/dev/ps3dd2" reboot 8. Fedora will boots bringing up console login in a flash: login as root, password root 9. Fit your needs about root login, mountpoints, hostname, ip: passwd nano /etc/fstab nano /etc/sysconfig/network nano /etc/sysconfig/network-scripts/ifcfg-eth0 reboot On petitboot reboots, /dev/ps3dd2 is mounted on /tmp/petitboot/mnt/ps3dd2, boot via kexec (or add a kboot entry for): kexec -l /tmp/petitboot/mnt/ps3dd2/boot/vmlinux-2.6.39-gb9133b3-dirty --initrd=/tmp/petitboot/mnt/ps3dd2/boot/initramfs-2.6.39-gb9133b3-dirty --append="root=/dev/ps3dd2" reboot
Fixes
- Problem: You can't use network devices.
- Reason: There is a fixed MAC address in this release that will work only for devices with that particular MAC.
- Solution: Boot this system and then
- Adjust your persistent net rules.
- nano /etc/udev/rules.d/70-persistent-net.rules
- For PHAT: wlan0 and eth0 are one device, so they have same MAC.
- For SLIM: wlan0 and eth0 are two devices, so they have different MACs [NOT TESTED]
- For both: if you're not using additional network cards, it's okay to remove wlan1 and eth1 entries.
- reboot
Debian
Debootstrap HOWTO by glevand ([email protected]) ------------------------------------------------------- Links: * http://www.debian.org/releases/stable/i386/apds03.html.en * https://help.ubuntu.com/6.10/ubuntu/installation-guide/i386/linux-upgrade.html Installing Debian Squeeze with debootstrap on petitboot -------------------------------------------------------- - Configuring the base system 1. umount /dev/ps3dd2 2. mkdir /mnt/debian 3. mkfs.ext3 /dev/ps3dd2 4. mount /dev/ps3dd2 /mnt/debian 5. rm -rf /mnt/debian/* 6. debootstrap --arch powerpc squeeze /mnt/debian http://ftp.us.debian.org/debian 7. mount -t proc none /mnt/debian/proc 8. mount --rbind /dev /mnt/debian/dev 9. LANG=C chroot /mnt/debian /bin/bash 10. export TERM=xterm-color - Mounting partitions File /etc/fstab ---------------- /dev/ps3dd2 / ext3 defaults 0 1 /dev/ps3vram none swap sw 0 0 /dev/ps3dd1 none swap sw 0 0 /dev/sr0 /mnt/cdrom auto noauto,ro 0 0 proc /proc proc defaults 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 - Setting timezone 1. vi /etc/default/rcS 2. dpkg-reconfigure tzdata - Configuring networking 1. echo "Name of your computer here" > /etc/hostname File /etc/network/interfaces ----------------------------- auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp File /etc/resolv.conf (cat /etc/resolv.conf, if you see nameservers already skip this step) ---------------------- nameserver 192.168.1.1 - Configuring apt File /etc/apt/sources.list --------------------------- deb http://ftp.us.debian.org/debian squeeze main deb-src http://ftp.us.debian.org/debian squeeze main deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main 1. aptitude update - Configuring locales and keyboard 1. aptitude install locales 2. dpkg-reconfigure locales 3. aptitude install console-data 4. dpkg-reconfigure console-data - Finishing touches 1. tasksel install standard 2. aptitude clean 3. passwd 4. aptitude install git build-essential ncurses-dev 5. mkswap /dev/ps3dd1 6. swapon /dev/ps3dd1 - Installing kernel 1. cd /usr/src 2. git clone git://git.gitbrew.org/ps3/ps3linux/linux-2.6.git 3. ln -sf linux-2.6 linux 4. cd linux 5. cp ps3_linux_config .config 6. make menuconfig 7. make 8. make install 9. make modules_install If you compile your kernel on PS3 then make sure you activate swap because compiling kernel needs much RAM. I used /dev/ps3dd1 as swap which you have to create with fdisk first of course or some other program. - Creating kboot.conf 1. ls /boot/ 2. edit kboot.conf and replace what you see for > vmlinux-2.6.* from below (example. vmlinux-2.6.38-gf77c53d) File /etc/kboot.conf --------------------- debian=/boot/vmlinux-2.6.* root=/dev/ps3dd2 debian_Hugepages=/boot/vmlinux-2.6.* root=/dev/ps3dd2 hugepages=1 - Creating /dev/ps3flash device (needed for ps3-utils) File /etc/udev/rules.d/70-persistent-ps3flash.rules ---------------------------------------------------- KERNEL=="ps3vflashf", SYMLINK+="ps3flash"
Ubuntu
Debootstrap HOWTO by glevand ([email protected]) (Redone by snowy) (Updated by thom) ------------------------------------------------------- Installing Ubuntu Lucid (10.04) with debootstrap on petitboot -------------------------------------------------------- For different versions of Ubuntu, just change all occurrences of lucid, to natty or whatever build you would like. You can also edit the config files in whatever text editor you would like. Nano and Vi are the preferred text editors - Configuring the base system 1. umount /dev/ps3dd2 2. mkdir /mnt/ubuntu 3. mkfs.ext3 /dev/ps3dd2 4. mount /dev/ps3dd2 /mnt/ubuntu 5. rm -rf /mnt/ubuntu/* 6. debootstrap --arch powerpc lucid /mnt/ubuntu http://ports.ubuntu.com 7. mount -t proc none /mnt/ubuntu/proc 8. mount --rbind /dev /mnt/ubuntu/dev 9. LANG=C chroot /mnt/ubuntu /bin/bash 10. export TERM=xterm-color - Mounting partitions if you want to use nano editor you will need to type "apt-get install nano" without quotes File /etc/fstab ---------------- /dev/ps3dd2 / ext3 defaults 0 1 /dev/ps3vram none swap sw 0 0 /dev/ps3dd1 none swap sw 0 0 /dev/sr0 /mnt/cdrom auto noauto,ro 0 0 proc /proc proc defaults 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 - Setting timezone 1. dpkg-reconfigure tzdata - Configuring networking 1. echo "Name of your computer here" > /etc/hostname File /etc/network/interfaces ----------------------------- auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp File /etc/resolv.conf (cat /etc/resolv.conf, if you see nameservers already skip this step) ---------------------- nameserver 192.168.1.1 - Configuring apt File /etc/apt/sources.list --------------------------- deb http://ports.ubuntu.com/ubuntu-ports/ lucid-updates main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ lucid-updates restricted deb http://ports.ubuntu.com/ubuntu-ports/ lucid universe deb http://ports.ubuntu.com/ubuntu-ports/ lucid-updates universe deb http://ports.ubuntu.com/ubuntu-ports/ lucid multiverse deb http://ports.ubuntu.com/ubuntu-ports/ lucid-updates multiverse deb http://ports.ubuntu.com/ubuntu-ports/ lucid-security main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ lucid-security main restricted deb http://ports.ubuntu.com/ubuntu-ports/ lucid-security universe deb-src http://ports.ubuntu.com/ubuntu-ports/ lucid-security universe deb http://ports.ubuntu.com/ubuntu-ports/ lucid-security multiverse deb-src http://ports.ubuntu.com/ubuntu-ports/ lucid-security multiverse OR (Use the following if you have trouble with above sources.) deb http://ports.ubuntu.com/ubuntu-ports/ lucid main restricted deb-src http://ftp.usf.edu/pub/ubuntu/ lucid main restricted deb http://ports.ubuntu.com/ubuntu-ports/ lucid-updates main restricted deb-src http://ftp.usf.edu/pub/ubuntu/ lucid-updates main restricted deb http://ports.ubuntu.com/ubuntu-ports/ lucid universe deb-src http://ftp.usf.edu/pub/ubuntu/ lucid universe deb http://ports.ubuntu.com/ubuntu-ports/ lucid-updates universe deb-src http://ftp.usf.edu/pub/ubuntu/ lucid-updates universe deb http://ports.ubuntu.com/ubuntu-ports/ lucid multiverse deb-src http://ftp.usf.edu/pub/ubuntu/ lucid multiverse deb http://ports.ubuntu.com/ubuntu-ports/ lucid-updates multiverse deb-src http://ftp.usf.edu/pub/ubuntu/ lucid-updates multiverse deb http://ports.ubuntu.com/ubuntu-ports/ lucid-backports main restricted universe multiverse deb http://ports.ubuntu.com/ubuntu-ports/ lucid-security main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ lucid-security main restricted deb http://ports.ubuntu.com/ubuntu-ports/ lucid-security universe deb-src http://ports.ubuntu.com/ubuntu-ports/ lucid-security universe deb http://ports.ubuntu.com/ubuntu-ports/ lucid-security multiverse deb-src http://ports.ubuntu.com/ubuntu-ports/ lucid-security multiverse deb http://ports.ubuntu.com/ubuntu-ports/ lucid-proposed restricted main multiverse universe 1. apt-get update - Configuring locales and keyboard 1. apt-get install locales 2. dpkg-reconfigure locales 3. apt-get install console-data 4. dpkg-reconfigure console-data - Finishing touches 1. tasksel install standard 2. apt-get clean 3. passwd 4. apt-get install build-essential ncurses-dev git-core gitosis 5. mkswap /dev/ps3dd1 6. swapon /dev/ps3dd1 - Installing kernel 1. cd /usr/src 2. git clone git://git.gitbrew.org/ps3/ps3linux/linux-2.6.git 3. ln -sf linux-2.6 linux 4. cd linux 5. cp ps3_linux_config .config 6. make menuconfig 7. make 8. make install 9. make modules_install If you compile your kernel on PS3 then make sure you activate swap because compiling kernel needs much RAM. I used /dev/ps3dd1 as swap which you have to create with fdisk first of course or some other program. - Creating kboot.conf 1. ls /boot/ (After running ls /boot/, look for vmlinux... in this directory, and user it's fiel name in the next commmand.) 2. edit kboot.conf and replace what you see for > vmlinux-2.6.* from below (example. vmlinux-2.6.38-gf77c53d) File /etc/kboot.conf --------------------- Ubuntu=/boot/vmlinux-2.6.* root=/dev/ps3dd2 Ubuntu_hugepages=/boot/vmlinux-2.6.* root=/dev/ps3dd2 hugepages=1 - Creating /dev/ps3flash device (needed for ps3-utils) File /etc/udev/rules.d/70-persistent-ps3flash.rules ---------------------------------------------------- KERNEL=="ps3vflashf", SYMLINK+="ps3flash"
Another Way to get Ubuntu on you PS3 ----------------------------------------------- ...is to use an Installer-Disk. 1. Download these ISO [http://cdimage.ubuntu.com/ports/releases/10.04/release/ubuntu-10.04-alternate-powerpc+ps3.iso Ubuntu.10.04.Alternate.PS3.iso] These is the alternate-installation for PS3. Its a rudimentary installer. He is faster than the graphical one of the normal installtaion. 2. Burn to disk it is needed, to burn these image. An installation from usb-pen is with these installation not possible. 3. Installation. Put the CD in the drive and reboot to pettitboot. Choose the first normal installation. Follow the instructions. If you get ask for the partition, my proposal is to use the whole linux-partition. The assistant should choose a port of it for swap. After the installation you cloud chance the swap to ps3vram The installation-process take a quite a while. (3-4h) 4. Post installation it could be that you have to chance the fstab. (which described which /dev ubuntu mount to what you want) From Petitboot go to Terminal. cd /tmp/petitboot/mnt/ps3dd1/etc/ and nano fstab. Ubuntu should run like a weasel (a handicapped)
Post Installation
After you've set up Linux on your PS3... http://wiki.gitbrew.org/index.php/PS3:Tools // (google-cache)
Tools
Information about setting up PS3-specific tools found on git.gitbrew.org can be found at PS3:Tools
Wireless
Setting up wireless requires you to take down networking. You must have a direct connection to your PS3 to continue. More information.
- git and build ps3hvc utils
- Get dependencies PS3:Tools#Dependencies
- git clone git://git.gitbrew.org/ps3/ps3linux/ps3hvc-utils.git
- cd ps3hvc-utils
- sudo cp /usr/src/linux-2.6/arch/powerpc/include/asm/ps3hvc.h /usr/include/asm/
- make && sudo make install
- Download glevand's wlan script for your PS3 type: FAT/NAND[3]
SLIM/VFlash[4]. You want this in the same directory ps3hvc-utils is in. - Take down current driver
- sudo rrmod ps3_gelic
- Run enable_wlan_on_*.sh
- chmod +x enable_wlan_on*.sh
- ./enable_wlan_on*.sh
- Bring up new driver
- sudo modprobe ps3_gelic
- sudo /etc/init.d/networking restart
- Test wireless card (by seeing available networks)
- sudo iwlist scan
Enabling Wireless with the latest Linux kernel
You don't need to use WLAN script with the latest Linux kernel anymore. Add the following boot parameter to your kboot entry:
ps3_gelic.disable_eurus_ctrl_iface=1
Attention: It will work on PS3 PHAT models only.
WiFi with PS3 Slim Models
- PS3 SLIM models have a totally different WiFi, USB based
- You have to compile your own kernel first if you haven't done it previously. Also make sure you enable wireless extensions. In my kernel config from GIT repo it's enabled by default.
- Then clone my ps3-jupiter git repository and compile kernel modules: ps3_jupiter.ko and ps3_jupiter_sta.ko
- Load both modules, first ps3_jupiter.ko and then ps3_jupiter_sta.ko
- Install wireless-tools and wpa_supplicant
- Configure wpa_supplicant
- Run wpa_supplicant
- Currently only STA mode (infrastructure) and WPA/WPA2 are supported
Useful links:
How to load ps3_jupiter.ko and ps3_jupiter_sta.ko automatically at boot time:
- Copy both modules to /lib/modules/`uname -r`/kernel/drivers/net
- Run depmod -a as root
Please report any bugs and problems to me because the driver is still in development and i would like feedback from you if you want me to continue. Thanks.
Enabling Sound
Sound HOWTO by c4pt and durandal
- Check to see that the sound driver is installed
- sudo lsmod | grep snd_ps3
- if your output shows snd, snd_pcm, and snd_ps3, then continue to the next step, otherwise
- sudo modprobe snd_ps3
- if it installs, you're good to go, otherwise, you neen to compile a new kernel
- sudo lsmod | grep snd_ps3
- Connect the ps3 sound device to /dev/sound0
- sudo ln -s /dev/snd/pcmC0D0p /dev/sound0
- Add yourself to the audio group
- sudo usermod -G audio <username>
- Verify that the user was added
- sudo id <username>
- If your username shows audio as a group, move on to the next step
- Install either mpg123 or alsamixer to test the sound, using whatever install tools your distribution has
- RHEL, SLES, OpenSUSE, YDL, fc: sudo yum install mpg123 alsamixer
- Debian, Ubuntu: sudo apt-get install mpg123 alsamixer
- Reboot the console
- sudo reboot
- Play an mp3 to test the sound with either
- mpg123 <some_sound_file.mp3> OR
- alsamixer <some_sound_file.mp3>
Cleaning up Errors
exim4
- Error: IPv6 socket creation failed: No such file or directory
- Solution: Edit "/etc/exim4/update-exim4.conf.conf" so that it has dc_local_interfaces='127.0.0.1' instead of dc_local_interfaces='127.0.0.1 ; ::'
- Error: ALERT: exim paniclog /var/log/exim4/paniclog has non-zero size
- Solution: rm -rf /var/log/exim4/paniclog
Kernel
- Error: Make error 137 while compiling vmlinux.o
- Solution: Activate/make a swap partition
plymouth
- Error: You are receiving this error message as the new udevd in Ubuntu Lucid no longer supports mounting its own /dev mount point.
- Solution:
- Edit your fstab and add:
dev /dev tmpfs rw 0 0
- Add noplymouth nosplash to your kernel options in /etc/kboot.conf. Example:
ubuntu=/boot/vmlinux root=/dev/ps3dd1 video=ps3fb:mode:133 noplymouth nosplash
Enabling 7th SPU with the latest Linux kernel
Add the following boot parameter to your kboot entry:
spu_base.enumerate_shared=1
To disable it at boot time again, set it to 0.
Attention: Enabling 7th SPU on Linux will make most of SS services unusable because they use the 7th SPU !!!
Screenshot of OpenCL running on 7spu
Alternate precompiled Debian kernels
Origin: https://github.com/DirtyJerz/PS3-Debian-Kernels
install: dpkg -i ./*.deb modify kboot.conf as needed that is all.
- https://github.com/DirtyJerz/PS3-Debian-Kernels/blob/1907a41ff3d8898175e4c9f414d12e1d345f01f0/linux-headers-2.6.39-ga81e0a7_2.6.39-ga81e0a7-10.00.Custom_powerpc.deb linux-headers-2.6.39-ga81e0a7_2.6.39-ga81e0a7-10.00.Custom_powerpc.deb]
- https://github.com/DirtyJerz/PS3-Debian-Kernels/blob/1907a41ff3d8898175e4c9f414d12e1d345f01f0/linux-image-2.6.39-ga81e0a7_2.6.39-ga81e0a7-10.00.Custom_powerpc.deb linux-image-2.6.39-ga81e0a7_2.6.39-ga81e0a7-10.00.Custom_powerpc.deb]
FreeBSD OtherOS++
Crossreference gitbrew.org::PS3:FreeBSD
FreeBSD can be run on PS3 Slim models from HDD with OtherOS++.
All the freebsd related files should be available here: http://gitbrew.org/~glevand/ps3/freebsd/
- freebsd
- config
- PS3 // (backup/mirror: PS3 (4.22 KB))
- kernel-1920x1080
- kernel // (backup/mirror: kernel (8.25 MB))
- kernel.symbols // (backup/mirror: kernel.symbols (22.56 MB))
- linker.hints // (backup/mirror: linker.hints (5.38 KB))
- livecd
- ps3_freebsd_livecd.iso // (backup/mirror: ps3_freebsd_livecd.iso (341.51 MB))
- loader
- loader-1920x1080.ps3 // (backup/mirror: loader-1920x1080.ps3 (306.45 KB))
- ps3_world.tar.gz // (backup/mirror: ps3_world.tar.gz (113.92 MB))
- config
Cross-Compiling
You can skip this step and use my precompiled FreeBSD world and kernel: [7] [8] [[9]]
You need a running FreeBSD system to cross-compile your PS3 FreeBSD world and kernel, you don't need a PS3 for that, it may be a different architecture. Once this step is done and you have a running FreeBSD system on your PS3 , you can build FreeBSD world and kernel on PS3 itself.
# git clone git://git.gitbrew.org/ps3/ps3freebsd/freebsd.git # cd freebsd # make buildworld buildkernel installkernel installworld distribution TARGET=powerpc TARGET_ARCH=powerpc64 KERNCONF=PS3 DESTDIR=$HOME/ps3_world
When it's finished then you will have a complete FreeBSD world with kernel in directory $HOME/ps3_world.
editted note: "I removed my git repo because there is no need currently. All my patches are officially in HEAD FreeBSD repository. Just use the official SVN repository or GIT mirrors. Here e.g. http://gitorious.org/freebsd"
Rebuilding Loader
If you want to recompile ONLY FreeBSD loader then after you finished compiling FreeBSD world and kernel, do this:
# cd freebsd # make buildenv TARGET=powerpc TARGET_ARCH=powerpc64 # cd sys/boot # make all install DESTDIR=$HOME/ps3_world
Rebuilding Kernel
If you want to recompile ONLY FreeBSD kernel then after you finished compiling FreeBSD world and kernel, do this:
# cd freebsd # make buildkernel TARGET=powerpc TARGET_ARCH=powerpc64 KERNCONF=PS3 # make installkernel TARGET=powerpc TARGET_ARCH=powerpc64 KERNCONF=PS3 DESTDIR=$HOME/ps3_world
Installation
To install a FreeBSD world on your PS3, you will need a running Linux system first currently. Once i build a LiveCD for PS3 FreeBSD you won't need that anymore. I used Debian to install my FreeBSD on PS3.
First create UFS2 filesystem for your FreeBSD. I assume that there is already a free partition on the HDD of your PS3.
# apt-get install ufsutils # mkfs.ufs /dev/ps3dd3
Then mount it on Debian and copy your PS3 FreeBSD world to this partition, like this:
# mount -t ufs -o ufstype=ufs2 /dev/ps3dd3 /mnt # cd /mnt # tar xvzf /root/ps3_freebsd_world.tar.gz # cp /root/ps3_freebsd_kernel/kernel /mnt/boot/kernel/ # cp /root/ps3_freebsd_kernel/kernel.symbols /mnt/boot/kernel/ # cd # umount /mnt
Booting
FreeBSD on PS3 is booted by the FreeBSD loader which can be executed by petitboot with kexec. The FreeBSD loader is built during cross-compiling of the FreeBSD world and kernel or you can use my precompiled version. It supports booting of FreeBSD from HDD. My precompiled version boots a FreeBSD kernel from ps3dd3. The HDD partition from which it boots a FreeBSD kernel is hardcoded, if you want to use another HDD partition then you have to change it in the loader and recompile it.
Store your FreeBSD loader on a Linux partition, i stored mine in Debian in /boot directory, and added a new kboot.conf entry on Linux, like this:
# cp /root/loader-1080x1920.ps3 /boot # cat /etc/kboot.conf ... ... ... freebsd_loader_hdd=/boot/loader-1080x1920.ps3 ... ... #
Now you can boot your PS3 FreeBSD. Boot petitboot first and choose FreeBSD loader in CUI.
Once, you have a running PS3 FreeBSD system, you can build FreeBSD world and kernel or compile ports on your PS3 itself.
One of the advantages of FreeBSD on PS3 is write access to the GameOS HDD region and the possibility to create valid GameOS HDD partitions.
Ports
Ports allow us to install many useful programs on your FreeBSD.
Extracting ports:
# cd /root # fetch ftp://ftp7.freebsd.org/pub/FreeBSD/ports/ports-stable/ports.tar.gz # cd /usr # tar xvzf /root/ports.tar.gz
Useful programs you will need first:
- wget
- git
- screen
- sudo
- elinks
Live CD
Compiling World
- Change screen resolution in loader and kernel before compiling
- Change frame buffer size in kernel if needed
# cd /usr # git clone git://git.gitbrew.org/ps3/ps3freebsd/freebsd.git src # cd src # make buildworld buildkernel installkernel installworld distribution TARGET=powerpc TARGET_ARCH=powerpc64 \ KERNCONF=PS3 DESTDIR=/root/ps3_world
Compiling Ports
# cd /root/ps3_world/usr # fetch ftp://ftp7.freebsd.org/pub/FreeBSD/ports/ports-stable/ports.tar.gz # tar xvzf ports.tar.gz
# mount -t devfs devfs /root/ps3_world/dev # cp /etc/resolv.conf /root/ps3_world/etc/ # chroot /root/ps3_world /bin/csh # cd /usr/ports # cd shells/bash # make install clean BATCH=yes
Configuring System
/boot/loader.conf
boot_cdrom="YES" autoboot_delay="-1"
/etc/rc.conf
root_rw_mount="NO" hostname="freebsd-livecd" ifconfig_glc0="SYNCDHCP" keyrate="fast" keymap="us.iso" #keymap="fr.iso" #keymap="german.iso" scrnmap="NO" font8x16="iso15-8x16" font8x14="iso15-8x14" font8x8="iso15-8x8" update_motd="NO" syslogd_enable="NO" newsyslog_enable="NO" cron_enable="NO" hostid_enable="NO" sendmail_enable="NONE" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" cleanvar_enable="NO" crashinfo_enable="NO" virecover_enable="NO"
/etc/fstab
/dev/cd0 / cd9660 ro 0 0
Changing Login Shell
# chroot ps3_world # chsh
Creating ISO Image
- Exit chroot
# umount /root/ps3_world/dev # cd ps3_world # rm -f etc/resolv.conf # mkisofs -R -l -ldots -allow-lowercase -allow-multidot \ -V 'PS3 FreeBSD LiveCD' -volset 'PS3 FreeBSD' -hide boot.catalog \ -o ../freebsd_livecd.iso .
Booting Live CD with OtherOS++
Use CUI or
boot FreeBSD loader from petitboot manually:
# First mount CD if it's not mounted already # kexec -l /mnt/cdrom/boot/loader.ps3 (or loader-720x480.ps3 or loader-1280x720.ps3) # reboot
Installing FreeBSD on HDD from Live CD
Links
FreeBSD Handbook: [10]
FreeBSD AvgLiveCD: [11]
FreeBSD LiveCD: [12]
Gitorious - FreeBSD Wiki: [13]
Setting Up A new FreeBSD System: [14]
Installation
To install a FreeBSD world on your PS3, you will need a running Linux system first currently. Once i build a LiveCD for PS3 FreeBSD you won't need that anymore. I used Debian to install my FreeBSD on PS3.
First create UFS2 filesystem for your FreeBSD. I assume that there is already a free partition on the HDD of your PS3.
# apt-get install ufsutils # mkfs.ufs /dev/ps3dd3
Then mount it on Debian and copy your PS3 FreeBSD world to this partition, like this:
# mount -t ufs -o ufstype=ufs2 /dev/ps3dd3 /mnt # cd /mnt # tar xvzf /root/ps3_freebsd_world.tar.gz # cp /root/ps3_freebsd_kernel/kernel /mnt/boot/kernel/ # cp /root/ps3_freebsd_kernel/kernel.symbols /mnt/boot/kernel/ # cd # umount /mnt
Booting
FreeBSD on PS3 is booted by the FreeBSD loader which can be executed by petitboot with kexec. The FreeBSD loader is built during cross-compiling of the FreeBSD world and kernel or you can use my precompiled version. It supports booting of FreeBSD from HDD. My precompiled version boots a FreeBSD kernel from ps3dd3. The HDD partition from which it boots a FreeBSD kernel is hardcoded, if you want to use another HDD partition then you have to change it in the loader and recompile it.
Store your FreeBSD loader on a Linux partition, i stored mine in Debian in /boot directory, and added a new kboot.conf entry on Linux, like this:
# cp /root/loader-1080x1920.ps3 /boot # cat /etc/kboot.conf ... ... ... freebsd_loader_hdd=/boot/loader-1080x1920.ps3 ... ... #
Now you can boot your PS3 FreeBSD. Boot petitboot first and choose FreeBSD loader in CUI.
Once, you have a running PS3 FreeBSD system, you can build FreeBSD world and kernel or compile ports on your PS3 itself.
One of the advantages of FreeBSD on PS3 is write access to the GameOS HDD region and the possibility to create valid GameOS HDD partitions.
Ports
Ports allow us to install many useful programs on your FreeBSD.
Extracting ports:
# cd /root # fetch ftp://ftp7.freebsd.org/pub/FreeBSD/ports/ports-stable/ports.tar.gz # cd /usr # tar xvzf /root/ports.tar.gz
Useful programs you will need first:
- wget
- git
- screen
- sudo
- elinks
Live CD
Compiling World
- Change screen resolution in loader and kernel before compiling
- Change frame buffer size in kernel if needed
# cd /usr # git clone git://git.gitbrew.org/ps3/ps3freebsd/freebsd.git src # cd src # make buildworld buildkernel installkernel installworld distribution TARGET=powerpc TARGET_ARCH=powerpc64 \ KERNCONF=PS3 DESTDIR=/root/ps3_world
Compiling Ports
# cd /root/ps3_world/usr # fetch ftp://ftp7.freebsd.org/pub/FreeBSD/ports/ports-stable/ports.tar.gz # tar xvzf ports.tar.gz
# mount -t devfs devfs /root/ps3_world/dev # cp /etc/resolv.conf /root/ps3_world/etc/ # chroot /root/ps3_world /bin/csh # cd /usr/ports # cd shells/bash # make install clean BATCH=yes
Configuring System
/boot/loader.conf
boot_cdrom="YES" autoboot_delay="-1"
/etc/rc.conf
root_rw_mount="NO" hostname="freebsd-livecd" ifconfig_glc0="SYNCDHCP" keyrate="fast" keymap="us.iso" #keymap="fr.iso" #keymap="german.iso" scrnmap="NO" font8x16="iso15-8x16" font8x14="iso15-8x14" font8x8="iso15-8x8" update_motd="NO" syslogd_enable="NO" newsyslog_enable="NO" cron_enable="NO" hostid_enable="NO" sendmail_enable="NONE" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" cleanvar_enable="NO" crashinfo_enable="NO" virecover_enable="NO"
/etc/fstab
/dev/cd0 / cd9660 ro 0 0
Changing Login Shell
# chroot ps3_world # chsh
Creating ISO Image
- Exit chroot
# umount /root/ps3_world/dev # cd ps3_world # rm -f etc/resolv.conf # mkisofs -R -l -ldots -allow-lowercase -allow-multidot \ -V 'PS3 FreeBSD LiveCD' -volset 'PS3 FreeBSD' -hide boot.catalog \ -o ../freebsd_livecd.iso .
Booting Live CD with OtherOS++
Installing FreeBSD on HDD from Live CD
Links
FreeBSD Handbook: [15]
FreeBSD AvgLiveCD: [16]
FreeBSD LiveCD: [17]
Gitorious - FreeBSD Wiki: [18]
Setting Up A new FreeBSD System: [19]
FreeBSD Development
Crossreference: gitbrew.org::FreeBSD Development
Get in touch with me if you want to help with FreeBSD development because there are only 2 developers currently working on FreeBSD PS3 support :(
Till now 0 applications :( Date: 09/20/2011
TODO List
- VUART support in bootloader
- VUART support in kernel (work in progress)
- System Manager, AV and Dispatcher Manager support in kernel (work in progress)
- UDF support for BD movies
- RSX driver
- Sound driver
- Use CAM framework for HDD driver like in Blu-Ray driver
- FLASH/VFLASH drivers
- WiFi driver (work in progress)
VUART (Bootloader)
- Should be very simple
- Implement common ps3vuart interface which can be used by VUART port drivers
- Implement AV VUART only for now in order to be able to read screen size
VUART (Kernel)
- What existing kernel framework to use or create a new one ??? Maybe UART framework. UART framework is NOT suitable !!!
- Implement ps3vuart_bus.c module which handles VUART interrupts and distributes events to VUART port drivers. ps3vuart_bus should be the child of nexus.
- Each VUART port is a child of ps3vuart_bus module.
- Use siis driver as an example how to implement device children.
- http://fxr.watson.org/fxr/source/dev/siis/siis.c
- VUART port drivers for: System Manager, AV and Dispatcher Manager
- What is the best way to provide access for user space applications ??? Create character devices for each VUART port. But how to synchronize kernel/user space accesses ?
- Provide IOCTL interface for all VUART ports
WLAN
- Kernel module if_jpt.c.
- Use WLAN driver an as an example how to implement WLAN drivers which handle 802.11 protocol internally.
- http://fxr.watson.org/fxr/source/dev/an/if_an.c
- http://fxr.watson.org/fxr/source/net/if_tap.c
RSX
- I decided to implement RSX driver for FreeBSD first and then for Linux (sorry Linux fans), not because i don't like Linux but because FreeBSD has no X11 driver and it will be easier to test.
- FreeBSD DRM framework supports PCI devices only currently :-( Platform devices are NOT supported by FreeBSD's DRM framework.
- No choice as to use kernel module with my own user space interface. Yeah, hate me kernel developers, i know, it's ugly but NVIDIA does it too (/dev/nvidia, /dev/nvidiactl and nvidia.ko).
FLASH/VFLASH
- Use CAM framework to implement flash drivers, it has more advantages over block device drivers
- The drivers are very similar to CDROM driver but they should handle ATA IO commands and SCSI like ps3cdrom driver
- Kernel modules: ps3flash for FLASH/VFLASH and ps3nflash for NOR flash only
Links
- The Design and Implementation of the FreeBSD SCSI Subsystem: [20]
- Writing a CAM SCSI controller driver: [21]
- FreeBSD Kernel Reference: [22]
- UDF 2.6: [23]
- The VFS/VNODE interface in the FreeBSD kernel: [24]
- FreeBSD DRI: [25]
- FreeBSD Device Drivers: [26]
- FreeBSD Kernel Modules: [27] [28]
- NEWBUS Intro: [29]
- Character Driver: [30] [31]
- NVIDIA Kernel Interface: [32]
Cellminer
Auto Installer
Debian: http://git.gitbrew.org/~stackable/script/cellminer-run-ONCE-to-install.sh
Git repository
https://github.com/verement/cellminer
PS3:Tools
General
To ease compilation and finding libraries (which will prevent you from having to edit every Makefile):
- sudo ln -s /usr/src/linux-2.6/include/* /usr/local/include/
Development
Dependencies
Almost all tools require git make libc libc-dev libc6-dev-ppc64
- sudo apt-get install git make libc libc-dev libc6-dev-ppc64
For Debian Squeeze (and possibly other Distros as well?)
- sudo apt-get install git make libc6 libc6-dev libc6-dev-ppc64 libX11-dev
python
- aptitude install python python-pytools
- this installs python and pyopencl
Enable RSX RAM as SWAP
- sudo su -
- swapon -s
- Check current SWAP
- mkswap /dev/ps3vram
- swapon /dev/ps3vram
- vim /etc/udev/rules.d/10-ps3vram-swap.rules
# udev rules to automatically enable swap on /dev/ps3vram # Copy this file to /etc/udev/rules.d/10-ps3vram-swap.rules # Choose only one of the rules below # Initialize and enable swap unconditionally KERNEL=="ps3vram", ACTION=="add", RUN+="/sbin/mkswap /dev/ps3vram", RUN+="/sbin/swapon -p 10 /dev/ps3vram"
- reboot
- sudo swapon -s
- Verify additional SWAP space
Notes
Higher priority means the system will use that SWAP sooner than lower priority SWAP. You want RSX RAM to have highest priority.
OpenSSL for ppc64
Check and make sure you're getting the latest source of OpenSSL[33]
Installation
- wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz
- tar -xvzf openssl*.tar.gz
- cd openssl*
- vim Makefile or see 'General' section
- You need to add this option to the end of the CFLAGS option list: -I/usr/src/linux-2.6/include
- ./Configure linux-ppc64
- make
- make test
- sudo make install
Notes
- Modification of header files is needed for non-current kernels.
ps3dm-utils
Dependencies
Installation
- git clone git://git.gitbrew.org/ps3/ps3linux/ps3dm-utils.git
- cd ps3dm-utils/
- sudo cp /usr/src/linux-2.6/arch/powerpc/include/asm/ps3dmproxy.h /usr/include/asm/
- vim Makefile
- Append -L /usr/local/ssl/include -L /usr/local/ssl/lib -ldl to the end of LDFLAGS
- make
Attention: With the latest version of ps3dm-utils you don't need OpenSSL anymore !!!
Notes
- ps3dm-utils requires DEVICE to get information from. Normally, /dev/ps3dmproxy is used.
- If /dev/ps3dmproxy does not exist: sudo modprobe ps3dmproxy
IBM Cell SDK 3.1
This works only on Debian & Ubuntu on PS3 All Tools need download form ibmsdk31.tar.gz
Installation
wget -r -H -A.tar.gz http://www.multiupload.com/T6IFLL5SGD mv */*/*/ibmsdk31.tar.gz ./ rm *multiupload.com* -rf tar -xvzf ibmsdk31.tar.gz cd deb/ dpkg -i openrpm/*.deb dpkg -i devel/*.deb dpkg -i extra/*.deb
Some of these packages have a newer version, You may want to hold (keep back) these packages:
echo ppu-gcc hold | sudo dpkg --set-selections echo spu-gcc hold | sudo dpkg --set-selections
Java 6 IBM
Download from: http://goo.gl/ngV0b
mkdir /opt/ibm/java-ppc64-60/ cd /opt/ibm/java-ppc64-60/
Put ibm-java-sdk-6.0-5.0-linux-ppc64.tgz in /opt/ibm/java-ppc64-60/
tar -zxvf ibm-java-sdk-6.0-5.0-linux-ppc64.tgz chcon -R -t texrel_shlib_t /opt/ibm/java-ppc64-60/jre chcon -R -t texrel_shlib_t /opt/ibm/java-ppc64-60/bin chcon -R -t texrel_shlib_t /opt/ibm/java-ppc64-60/lib
ps3mfw
Dependencies
- TCL 8.5
- wget http://prdownloads.sourceforge.net/tcl/tcl8.5.9-src.tar.gz
- tar -xvzf tcl*
- cd tcl*
- cd unix
- vim Makefile or see 'General' section
- You need to add this option to the end of the CFLAGS option list: -I/usr/src/linux-2.6/include
- ./configure && make && sudo make install
- TK 8.5
- wget http://prdownloads.sourceforge.net/tcl/tk8.5.9-src.tar.gz
- tar -xvzf tk8.5*
- cd tk8.5
- cd unix
- ./configure && make && sudo make install
Installation
Read up on any notes on any experimental options/tasks you shouldn't be using. Ask in #otheros if you are unsure.
- git clone git://git.gitbrew.org/ps3/ps3mfw/ps3mfw.git
- cd ps3mfw/
- rm -rf tasks
- git clone git://git.gitbrew.org/ps3/ps3mfw/tasks.git
You should be able to run the program with ./ps3mfw --gui "false"