Your SlideShare is downloading. ×
0
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Ps3 linux
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Ps3 linux

2,478

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,478
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • http://www.kernel.org/pub/linux/kernel/people/geoff/cell/ps3-kboot/ http://ozlabs.org/~jk/projects/petitboot/ yum install -y kexec-tools.i386 mkelfimage.i386 petitboot.i386 system-config-kdump.noarch
  • Transcript

    • 1. Hacking A PS3, Linux style
      • Keith Wright
    • 2. Why Linux on PS3?
      • Additional computer
      • PPC Architecture
      • HDMI output
      • Full featured browser
      • Cell Broadband Engine
      • Bluetooth devices
      • Sixaxis Controllers
      • Blueray
    • 3. Prepare Hard Drive
      • Backup Data
        • Delete data you don't want
        • Insert USB drive
        • Settings -> System Settings -> Backup
      • Format Hard Drive
        • Settings -> System Settings -> Format Hard Drive -> Custom -> Allocate 10G to Other -> Quick Format
      • Restore Data
        • Settings -> System Settings -> Restore
    • 4. Installing a Bootloader
      • Choose a Bootloader
        • Kboot
        • Petitboot
        • Copy to Media /PS3/otheros/otheros.bld
      • Settings -> System Settings ->Install Other OS
      • Settings -> System Settings ->Select Default OS -> Other OS
      • Returning to GameOS
        • Use the ps3-utils: ps3-boot-gameos
        • Force shutdown by holding front power button, Force GameOS when powering on PS3 by holding the button until PS3 beeps twice
    • 5. Petitboot
      • Features a graphical interface and a text console
      • Works with keyboard, mouse, and game controller
      • Extends all the capabilities of kboot
      • Dynamically detects new boot devices
      • Allows setting of graphical modes
      • Allows rebooting to the Game Os
    • 6. Petitboot
      • Discovered storage devices are mounted under /var/tmp/mnt, named by their device. For example, /dev/ps3da1 is mounted at /var/tmp/mnt/ps3da1.
      • To boot a kernel, use kexec: kexec -f --append="root=/dev/ps3da1" -l /tmp/tmp/mnt/ps3da1/boot/vmlinux –initrd=/tmp/tmp/mnt/ps3da1/boot/initrd.img
      • petitboot is a work-in-progress: if you have any problems, send email to jk@ozlabs.org.
      Keyboard Controller Mouse Function ▲▼◄► D-pad Point Navigate 0 1 2 3 Video Mode Alt+F1 Shell Console Alt+F2 GUI Console Del Bksp Square Boot GameOS
    • 7. Using Kboot
      • Not just access to local files, but also NFS, HTTP, FTP, and TFTP.
      • Kboot is based on kexec
      • Using kexec-tools
        • Kexec calls allow a new kernel to be loaded without going through firmware or yaboot again
        • Can be used for speeding up kernel test builds
        • kexec -l <kernel> --append=&quot;<options>&quot; --initrd=<initrd>
        • reboot
        • Installing package provides man page
      • Sources
        • http://www.kernel.org/pub/linux/kernel/people/geoff/cell/ps3-kboot/
        • http://kboot.sourceforge.net/
    • 8. Kexec
      • Using Fedora 10 kexec-tools
        • # kexec -l /boot/vmlinuz-$kver
        • --initrd=/boot/initrd-$kver.img
        • --command-line=&quot;`cat /proc/cmdline`&quot;
        • Tab key auto-completion
    • 9. BusyBox
      • Kboot and Petitboot use Busybox
      • Busybox is a project to go from booting a linux kernel to a shell
      • Minimizes the size of the kernel
      • Provides a minimal set of command such as fdisk, lvm, mount, umount, and vi
      • Start the shell by typing ash at the kboot: prompt
    • 10. yaboot.conf
      • boot=/dev/ps3da
      • init-message=Welcome to Fedora! Hit <TAB> for boot options
      • partition=1
      • install=/usr/lib/yaboot/yaboot
      • delay=5
      • enablecdboot
      • enableofboot
      • enablenetboot
      • nonvram
      • mntpoint=/boot/yaboot
      • usemount root=LABEL=/&quot;
      • image=/vmlinux-2.6.23-9.ydl6.1
      • label=ydl6_1080p
      • read-only
      • initrd=/initrd-2.6.23-9.ydl6.1.img
      • append=&quot;video=ps3fb:mode:133 rhgb quiet”
    • 11. kboot.conf
      • /etc/kboot.conf
      • message=/etc/kboot.msg
      • default=linux
      • timeout=100
      • linux='/boot/vmlinux initrd=/boot/initrd.img root=UUID=2e7efb11-0646-42f5-8d6f-9e055473b1b8 quiet'
      • old='/boot/vmlinux.old initrd=/boot/initrd.img.old root=UUID=2e7efb11-0646-42f5-8d6f-9e055473b1b8 quiet'
      • kboot.msg is a simple text file that kboot displays
    • 12. Choose Linux Distro
      • Needs to be PowerPC
      • Yellowdog
        • CellSDK part of install
        • Kernel modules are built for ps3
      • Fedora
        • CellSDK Available
        • Free, easy and current
        • Optimal to build kernel
      • Other
        • Redhat, Ubuntu, OpenSuse, Gentoo
    • 13. Installing Fedora
      • Successfully did GUI normal install of Fedora 10 PPC DVD (Versions as early as 5 reported)
      • Disable Unnecessary Services
      • Optimize /etc/fstab
      • Configure Wireless or Wired
      • Update Packages
    • 14. Installing Yellowdog
      • Successfully installed YDL 6.1
      • RHEL/Centos Based
      • Not as updated as Fedora
      • Cell SDK pre-installed
      • PS3-utils pre-installed
      • Sold pre-installed!
    • 15. Installing Ubuntu
      • Ubuntu 6.1 last version commercially supported
      • Luckily, the Intrepid Ibex has a PS3 install iso: http://cdimage.ubuntu.com/ports/releases/8.10/release/
      • Select and install software is longest part
      • Be patient... it stayed at 6% for a long time!
      • sudo apt-get install ubuntu-restricted-extras
    • 16. Optimizing fstab
      • /dev/ps3da1 / ext3 defaults,noatime,nodiratime 1 1
      • spufs /spu spufs defaults 0 0
      • tmpfs /dev/shm tmpfs defaults 0 0
      • devpts /dev/pts devpts gid=5,mode=620 0 0
      • sysfs /sys sysfs defaults 0 0
      • proc /proc proc defaults 0 0
      • /dev/ps3da2 swap swap defaults 0 0
      • # nodiratime and noatime save writing to disk access times
      • # Memory from ps3vram module managed in rc.local
    • 17. Configuring Sound
      • Download Configuration File
        • http://kernel.org/pub/linux/kernel/people/geoff/cell/PS3.conf.alsa
        • Install it as PS3.conf
          • /etc/alsa/cards/PS3.conf
          • /usr/share/alsa/cards/PS3.conf
        • Using a custom kernel build, I had to chmod o+rw /dev/snd/* for it to work
    • 18. PS3-utils for Linux
      • If not pre-installed, then build them from:
      • http://kernel.org/pub/linux/kernel/people/geoff/cell/ps3-utils/
      • ps3-boot-game-os
      • ps3-dump-bootloader
      • ps3-flash-util
      • ps3-video-mode?
    • 19. Preparing the Kernel Source
      • git clone git://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git ps3-linux
        • Create/Backup .config file in ps3-linux directory
          • make help
          • make ps3_defconfig
          • make menuconfig
      USB HID Boot Protocol drivers
    • 20. Configure Kernel
        • General Setup
          • Auto append version
        • Advanced Platform
          • Ps3
          • Cell (SPU)
        • Device Drivers
          • USB Support
            • EHCI
            • UHCI
            • Special HID drivers
              • Logitech
              • Sony
    • 21. Using ps3vram
      • If you use ps3vram, then you can add over 240Mb of GPU RAM to use as swap
      • Need kernel support
        • Yellowdog has it pre-built
        • Fedora/Ubuntu don't have the module
        • Configure a custom kernel from git
      • Device Drivers -> MTD Block Support
        • Memory Technology Device (MTD) support
        • Self-contained MTD device drivers
        • PS3 video ram
    • 22. Building the Kernel
          • Edit Makefile version
          • make help
          • make && make modules_install && make install
          • Update the /etc/yaboot.conf with the new kernel information
          • Reboot
          • Test
    • 23. Booting the Kernel
      • Kboot
          • Use the TAB key to cycle through what is available
          • Type the label that was configured in the /etc/yaboot.conf file
          • http://kernel.org/pub/linux/kernel/people/geoff/cell/ps3-howto/ps3-boot-recovery-howto.txt
      • Petitboot
          • Selecting the kernel with mouse and keyboard
          • Use Alt+F1 to access text console of system
          • Use Alt+F2 to return to the GUI
          • ?Use ssh, http, and other features
    • 24. Pulseaudio
      • Distribution kernels work fine
      • Custom rolled kernel
          • Have /etc/rc.local chmod o+rw /dev/snd/*
    • 25. Sharing Files
      • USB
      • NFS
      • Samba
      • FTP
      • HTTP
    • 26. Flash
      • Adobe flash-plugin? Nope, not for PPC!
      • Gnash? gnash-plugin. Audio only....
      • Xine? xine-plugin. Not at all...
      • Mplayer? gecko-mediaplayer(Fedora) or mplayer-plugin(Ubuntu)
        • Yes! With a Greasemonkey script!
        • Install Greasemonkey Addon for Firefox
        • http://userscripts.org/scripts/show/24999
    • 27. Bluetooth
      • PS3 Linux
        • Cell phone?
        • Sixaxis
      • PC Linux
        • Sixaxis
    • 28. Media Devices
      • Blueray DVD?
        • At least some data appears visible
    • 29. Mediaserver
      • http://code.google.com/p/ps3mediaserver/
      • Allows any Java-enabled system to server media to PS3
    • 30. Cell Broadband Engine
      • IBM CellSDK
      • MIT
      • GeorgiaTech
    • 31. Python game
    • 32. Mpeg decoder
    • 33. Blueray
      • Is it possible to playback BD video?
      • Can you access BD games data?
      • How much does a BD burner cost?
      • What kind of quality is the BD playback
        • Game OS
        • Linux
    • 34. Acknowledgements
      • The author acknowledges Georgia Institute of Technology, its Sony Toshiba-IBM Center of Competence, and the National Science Foundation, for the use of Cell Broadband Engine resources that have contributed to this research.
      • The author acknowledges Geoff Levand for his help in getting started with Linux on the Sony Playstation 3 and for maintaining http://kernel.org/pub/linux/kernel/people/geoff/cell/

    ×