[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