gentoo linux installation procedure

(day two - victory!) 

when i went to bed yesterday, i left the system compiling.  now it is time to resume getting gentoo running:

  • using the ps3 linux kernel source from the source addon cd (following the directions included in the docs), make the kernel
  • ps3pf_storage driver cannot be built-in to the kernel (only allowed as a module for some reason), so an initial ramdisk is needed, therefore you need to add the required modules to an initramfs (you must also use genkernel)
  • you must edit /usr/share/genkernel/ppc64/modules_load and set MODULES_USB="scsi_mod ps3pf_storage sd_mod ehci-hcd uhci-hcd usbhid" so you can see the disk and have access to the keyboard before the kernel loads
  • use genkernel initrd 
  • create /etc/kboot.conf so that kboot (the ps3-designated bootloader) can start your new gentoo system:

    default=linux
    timeout=30
    root=/dev/ram0

    linux='/boot/vmlinux real_root=/dev/sda2 initrd=/boot/initramfs-genkernel-ppc64-2.6.16 '
     
  • label the root filesystem (e2label for ext3 root filesystem) e.g. e2label /dev/sda2 /
  • continue with a normal gentoo install post-kernel-building (e.g. setup cron, system logger, etc - i'm sure if you are putting gentoo on the ps3 you have installed it before on something else)
  • don't forget to set your root password and good luck - rebooting now should yield your gentoo install!!! 

you can bypass the long kboot timeout period by hitting <ENTER> at the prompt (just like lilo, grub, etc).  you can add the useful ps3 utilities at any time (ps3pf-utils), they are on the source cd.  almost all of this is rpm so you need the rpm2targz ebuild installed to convert them into tarballs.  these utilities are useful because they allow you to change the video mode and set the os boot flag in the ps3 flash so you can get into game mode again.  you need to copy the file /usr/src/linux/include/asm-powerpc/ps3av.h to the working directory of your ps3pf-utils when you build them so they can be make and make install-ed.

now that i have gentoo installed and i can boot into it at will, i will be working on getting x installed.

gentoo linux installation procedure

(day one) 

there are several things you need to download before you begin:

at this point, you have everything you need.  get a usb mass storage device (formatted as fat32) and make a directory called PS3 and inside PS3 make a directory called otheros.  put the kboot.bld and the otheros.self files in otheros.  it will also be convenient to burn that live cd, and toss the portage tree and stage 3 on the usb mass storage device.  you may also want to burn the cell addon disc (and source version too) if you can't mount it to get stuff off later.  moving on (some of these are just shorthand abbreviations because i am too lazy to type the real command or multiples of the same thing - i hope to make a script to automate getting you from kboot -> the gentoo live cd so that this early part is easier):

  • follow the sony instructions and setup the other-os stuff.  once you are done, you will be dropped at kboot prompt (assuming all went well)
  • partition / setup swap (need to mkswap in gentoo chroot) 
  • mount /dev/cdrom /mnt/tmp
  • mount /mnt/tmp/img.squashfs /mnt/livecd
  • mount -t tmpfs none rwlivecd
  • cp -a /mnt/livecd/etc /mnt/livecd/var /mnt/livecd/dev /rwlivced
  • make /home /root /mnt /tmp /proc /sys in /rwlivecd
  • mount -o bind bin lib sbin usr  to the rwlivecd match
    chroot into the livecd
  • mount sysfs and proc
  • decompress stage 3 and portage tree
  • emerge sync and update stuff

this is where i left for the evening to sleep so i can get up and wait for wii.  more to come after gcc spends forever compiling.  also, dont forget to check your profile to make sure you are going to be using gcc 4.x, not 3.x.  its also helpful to make sure to start ssh once you are chroot-ed into the live cd, set a root password, and also start screen so you can log in remotely w/o problems.

general compatability notes

to date, i have tested a large number of the machine's non-linux-related features and found some interesting stuff:

  • supports bit-perfect cd-audio if audio settings are adjusted to output 44.1 kHz instead of 48 kHz (why would you ever resample by default?)
  • does not support dvd-audio discs
  • super audio cds are decoded into linear pcm in software, then sent over hdmi/optical (no dsd bitstream is output)
  • setting the brd/dvd audio setttings to use bitstream instead of linear pcm resulted in a better a/v sync when using compressed streams like ac-3
  • ps1 games can be played back in 480p with the proper aspect ratio
  • ps2 games do not keep the proper aspect ratio and also playback at 480p.  additionally, games which use the ac-3 digital output (e.g. metal gear solid 2: substance) will not send the bitstream over hdmi, only optical.  additionally, the controller must be re-synced after every sesssion
  • ntfs-formatted mass storage devices are not supported - only fat32
  • mpeg-2 transport streams do not play back audio streams (at least not ac-3)
  • mpeg-4 / h.264 w/ ac-3 is apparently unsupported
  • youtube-style flash video players seem to work great in the browser - other embedded video does not seem to work in the browswer
  • burned games (ps2/1) show up as data discs, and non-US-region games and dvds do not play because of region restrictions (note: blu-ray regions are different than dvd regions)

i wanted to test using an HDMI-DVI cable to hook up w/ a non-HDCP-compliant PC LCD monitor, but i never got around to it.  i also never tested the ATRAC, MP3, or wave playback audio features.

check out the pictures:

ps3 day one