Booting Linux 2.6 kernel on running PS3 Linux with kexec: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(Compiling petitboot)
 
mNo edit summary
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:PS3]]
[[Category:OtherOS]]
''' Source: graf_chokolo @ http://ps3wiki.lan.st/index.php/Petitboot '''
''' Source: graf_chokolo @ http://ps3wiki.lan.st/index.php/Booting_Linux_2.6_kernel_on_running_PS3_Linux_with_kexec '''
----
----
= Compiling petitboot =
= Compiling kexec for PS3 Linux =


* I use petitboot to install and boot Linux from internal HDD of my PS3.
* To compile the latest kexec-tools on '''Debian Squeeze''', you have to install '''autoconf''' and '''libc6-dev-ppc64''' packages
* With petitboot, you will be able to install/boot a Linux kernel from USB, HDD, BD or network.
* Compiling petitboot takes a very long time
* On my Arch Linux x86 it doesn't build without patches
* I created a new openwrt git repository which contains my patches and PS3 NOR and VFLASH block device drivers


<pre>
<pre>
$ git clone git://dukio.com/openwrt
$ git clone git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
$ git clone git://nbd.name/packages.git openwrt_packages
$ cd kexec-tools
$ ./bootstrap
$ ./configure
$ make
</pre>


$ cd openwrt/package
= Booting Linux 2.6 kernel with kexec on running PS3 Linux =
$ ln -s ../../openwrt_packages/libs/jpeg jpeg
$ ln -s ../../openwrt_packages/libs/libpng libpng
$ ln -s ../../openwrt_packages/libs/libtwin libtwin
$ ln -s ../../openwrt_packages/utils/ps3-utils ps3-utils
$ ln -s ../../openwrt_packages/utils/petitboot petitboot
$ ln -s ../../openwrt_packages/utils/bzip2 bzip2
$ ln -s ../../openwrt_packages/utils/sed sed
$ ln -s ../../openwrt_packages/utils/tar tar
$ ln -s ../../openwrt_packages/utils/less less
$ ln -s ../../openwrt_packages/net/dhcpcd dhcpcd
$ ln -s ../../openwrt_packages/net/wget wget
$ ln -s ../../openwrt_packages/utils/coreutils coreutils


$ cd ..
* kexec-tools is very useful if you want to test a new Linux 2.6 kernel on PS3 without a long boot procedure with petitboot
$ make menuconfig
 
$ make kernel_menuconfig
<pre>
$ make V=99
# ./build/sbin/kexec -l /boot/vmlinux-2.6.38-rc4-00155-gb0fd285 --append="root=/dev/ps3dd1 video=720p"
# swapoff -a
# sync
# ./build/sbin/kexec -e
</pre>
</pre>
= Booting Linux 3.5 kernel with kexec on running PS3 Linux =
* Boot your new kernel on petitboot or on your running kernel.
<pre>
# ./build/sbin/kexec -l /boot/vmlinux-3.5.4 --command-line="root=/dev/ps3da2 video=ps3fb:mode:0"
# ./build/sbin/kexec -u
# ./build/sbin/kexec -l /boot/vmlinux-3.5.4 --command-line="root=/dev/ps3da2 video=ps3fb:mode:0"
# sync
# reboot
</pre>
{{Linux}}<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 02:53, 3 February 2014

Source: graf_chokolo @ http://ps3wiki.lan.st/index.php/Booting_Linux_2.6_kernel_on_running_PS3_Linux_with_kexec


Compiling kexec for PS3 Linux[edit | edit source]

  • To compile the latest kexec-tools on Debian Squeeze, you have to install autoconf and libc6-dev-ppc64 packages
$ git clone git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
$ cd kexec-tools
$ ./bootstrap
$ ./configure
$ make

Booting Linux 2.6 kernel with kexec on running PS3 Linux[edit | edit source]

  • kexec-tools is very useful if you want to test a new Linux 2.6 kernel on PS3 without a long boot procedure with petitboot
# ./build/sbin/kexec -l /boot/vmlinux-2.6.38-rc4-00155-gb0fd285 --append="root=/dev/ps3dd1 video=720p"
# swapoff -a
# sync
# ./build/sbin/kexec -e

Booting Linux 3.5 kernel with kexec on running PS3 Linux[edit | edit source]

  • Boot your new kernel on petitboot or on your running kernel.
# ./build/sbin/kexec -l /boot/vmlinux-3.5.4 --command-line="root=/dev/ps3da2 video=ps3fb:mode:0"
# ./build/sbin/kexec -u
# ./build/sbin/kexec -l /boot/vmlinux-3.5.4 --command-line="root=/dev/ps3da2 video=ps3fb:mode:0"
# sync
# reboot