[ydl-gen] Booting a PS3 w/YDL6 from an external USB drive

Rob Sanders rarob at comcast.net
Tue Aug 26 10:26:59 MDT 2008


Hello all,
   I spent the morning getting my PS3 to boot from an external USB  
drive with YDL6 installed on it.  Below are the
basic instructions I used.  Note that I typed these up manually on a  
separate machine while the PS3 was
busy compiling/running/thinking, so their maybe some typos.  I also  
hope that there is a better way to
do this.  I already had YDL6 installed to both the internal and  
external drives of the PS3, but counting
some abortive kernel compiles this took several hours.  Hope this  
helps someone else out there...

   I'm going to look at the initrd images to see what exactly are the  
differences, but here is the hard way
to get a bootable external hard drive....
Rob

=========

Here are the steps I did to create a bootable external USB drive for  
my PS3.
There is probably a better way, but this works even though it took  
several
hours.  Note that I started with YDL6 installed on the internal and  
external
drives already.  I also went ahead with the kernel building as though  
I was
building a new kernel for the internal drive.  The last couple of steps
transferred everything to the external USB drive.

I cobbled these directions up from what I did after reading some web  
notes
about USB booting with RH/Fedora, and some comments from Bill Mueller  
at TSS.

Again, there is probably a better (faster/easier) way.


- install YDL6 to internal drive (installed all development tools)
- configure YDL6 to taste
   I normally boot to run level 3, to avoid X overhead
- install YDL6 to external drive (assuming stock partioning)
- remove YDL6 install DVD
- reboot to internal drive
- log in as root
- insert YDL6 install DVD
- mount DVD
   mkdir /mnt/dvd
   mount /dev/sr0 /mnt/dvd
- install kernel source RPM and tweak source name
   rpm -ivh /mnt/dvd/Yellowdog/kernel-source-2.6.23.9.ydl6.1.ppc64.rpm
   mv /usr/src/linux-2.6.23.9.ydl6.1 linux-2.6.23.9.ydl6.1customusb
- configure and build new kernel
   cp /boot/config-2.6.23.9.ydl1.6 .config
   edit  .config and make the following changes
     set 'CONFIG_LOCALVERSION to "usb"
     set CONFIG_USB_STORAGE to m
     set CONFIG_SCSI_AIC79XX to n
   // I kept getting internal compiler errors until I turned off  
AIC79XX support
   make menuconfig
   // exit and let menuconfig write out the correct .config file

   make
   make modules
   make modules_install

   cp vmlinux /boot/vmlinux-2.6.23.9.ydl6.1customusb
   cp .config /boot/config-2.6.23.9.ydl6.1customusb
   cp System.map /boot/System.map-2.6.23.9.ydl6.1customusb
   mkinitrd --preload sbin/mkinitrd --preload=ehci-hcd --preload=usb- 
storage \
            --preload=scsi_mod --preload=sd_mod \
            /boot/initrd-2.6.23.9.ydl6.1customusb.imb \
            2.6.23.9.ydl6.1customusb

- copy all required files from the internal drive to the external drive,
   in my case the external drive showed us as /dev/sda on my PS3(20GB  
version).
   A different PS3 (60GB version) at work claimed the drive as /dev/ 
sdd.  Change
   drive locations as required
   mkdir /mnt/ext_boot /mnt/ext_root
   mount /dev/sda1 /mnt/ext_boot
   mount /dev/sda2 /mnt/ext_root
   cp -a /boot/*custom* /mnt/ext_boot
   cp -a /lib/modules/*custom* /mnt/ext_root/lib/modules
- edit /mnt/ext_boot/etc/yaboot.conf
   change '2.6.23-9.ydl6.1' to '2.6.23-9.ydl6.1customusb'
- all done, reboot



More information about the yellowdog-general mailing list