#!/bin/bash
# Update repositories and update system (-y Assume Yes to all queries and do not prompt)
# install rpm program
sudo apt-get -y update && sudo apt-get -y upgrade
sudo apt-get install rpm
# Go to homefolder
# create directory kernelupdate20080609
# move to created directory
# download CELL-Linux-CL_20080609-ADDON.iso
# go back to home folder with cd
cd
mkdir ~/kernelupdate20080609
cd ~/kernelupdate20080609
wget -c
http://www.kernel.org/pub/linux/kern...0609-ADDON.iso
cd
# Unmount /media/cdrom0 if something happens to be mounted there (should give error)
# and mount .iso file as "virtual cd" to folder /media/cdrom0
sudo umount /media/cdrom0
sudo mount -o loop -t iso9660 ~/kernelupdate20080609/CELL-Linux-CL_20080609-ADDON.iso /media/cdrom0
# Create extracted_files folder
# Change folder to extracted_files
# Copy .rpm file to extracted_files directory and extract rpm file.
# Then copy files (config-2.6.25.4 System.map-2.6.25.4 vmlinux-2.6.25.4) to directory /boot
# Copy initrd.img-2.6.25.4 from "virtual cd" folder to boot directory
# Copy extracted modules directory to proper place
# Go to extracted modules directory
# Copy 2.6.25.4 directory to /lib/modules/ directory
mkdir ~/kernelupdate20080609/extracted_files/
cd ~/kernelupdate20080609/extracted_files/
cp /media/cdrom0/target/kernel-2.6.25.4-20080609.ppc64.rpm ~/kernelupdate20080609/extracted_files/
rpm2cpio kernel-2.6.25.4-20080609.ppc64.rpm | cpio -idmv
sudo cp ~/kernelupdate20080609/extracted_files/boot/* /boot/
sudo cp /media/cdrom0/target/initrd.img-2.6.25.4 /boot/
cd ~/kernelupdate20080609/extracted_files/lib/modules
sudo cp -pr 2.6.25.4/ /lib/modules/
# Make backup of old kboot.conf to file name kboot.conf_newbackup
# Move /etc/ folder
sudo cp /etc/kboot.conf /etc/kboot.conf_newbackup
cd /etc/
# Edit line linux= vmlinux to vmlinux-2.6.25.4
# Edit line linux= initrd.img to initrd.img-2.6.25.4
# Remove quiet parameter from linux= line
# Remove splash parameter from linux= line
sudo sed -i '/^linux=/s/vmlinux/vmlinux-2.6.25.4/' /etc/kboot.conf
sudo sed -i '/^linux=/s/initrd.img/initrd.img-2.6.25.4/' /etc/kboot.conf
sudo sed -i '/^linux=/s/ quiet//' /etc/kboot.conf
sudo sed -i '/^linux=/s/ splash//' /etc/kboot.conf
# Update initramfs
# depmod - handle dependency descriptions for loadable kernel modules
sudo update-initramfs -k 2.6.25.4 -u
sudo depmod -a
# Create PS3 to homefolder
# Create subdirectory otheros under PS3 directory
# Copy new otheros.bld file from "virtual cd" to your home folder PS3/otheros
# Unmount downloaded .iso file "virtual cd"
mkdir ~/PS3/
mkdir ~/PS3/otheros/
sudo cp /media/cdrom0/PS3/otheros/otheros.bld ~/PS3/otheros/
sudo umount /media/cdrom0
echo " IMPORTANT NOTES. SED COMMANDS HAVE FAILED UNLESS THIS SCRIPT HAS BEEN DONE ON CLEAN INSTALL. CHECK THAT LINES ARE OK IN YOUR SYSTEM AFTER SCRIPT. HERE IS EXAMPLE HOW YOUR /ETC/KBOOT.CONF LINUX= LINE SHOULD LOOK, BUT DO NOT COPY UUID OF THIS EXAMPLE TO YOUR KBOOT.CONF OR YOUR SYSTEM WILL FAIL TO BOOT "
echo " linux='/boot/vmlinux-2.6.25.4 initrd=/boot/initrd.img-2.6.25.4 root=UUID=0151c3d3-6f40-49a1-8f24-897e22a45ecb' "
echo "New otheros.bld file can be found from your home folder under PS3 folder. Copy it to USB stick or burn it to CD, reboot to XMB and install it. Script has ended."
Social Networking Bookmarks