Linux 3 on PS3: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
mNo edit summary
 
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Linux]]
[[Category:OtherOS]]
=Introduction=
=Introduction=


=Linux 3 Kernel Patches=
* Linux 2.6 series is nearing EOL.  Only LTS kernels continue to receive security updates, but no new features.  New drivers are available only on Linux 3.
* Linux 3 is stable and works on PS3 Slim without problems.


TODO: upload my Linux3 kernel patches for PS3
=Compilation dependencies=
 
Glevand provides Linux 3 kernel patches at: http://gitorious.ps3dev.net/ps3linux<br />
Sample .config file: plan to post at pastebin


=Cross-Compiling=
=Cross-Compiling=


<pre>
<pre>
linux-3.4.9
linux-3.4.12
------------
-------------


http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.4.9.tar.bz2
http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.4.12.tar.bz2


tar xvjf linux-3.4.9.tar.bz2
tar xvjf linux-3.4.12.tar.bz2
cd linux-3.4.9
cd linux-3.4.12
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- ps3_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- ps3_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- menuconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- menuconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux-
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux-
mkdir -p $HOME/linux-3.4.9-build/boot
mkdir -p $HOME/linux-3.4.12-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- install INSTALL_PATH=$HOME/linux-3.4.9-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- install INSTALL_PATH=$HOME/linux-3.4.12-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- modules_install INSTALL_MOD_PATH=$HOME/linux-3.4.9-build
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- modules_install INSTALL_MOD_PATH=$HOME/linux-3.4.12-build
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- headers_install INSTALL_HDR_PATH=$HOME/linux-3.4.9-build/usr
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- headers_install INSTALL_HDR_PATH=$HOME/linux-3.4.12-build/usr


linux-3.5.2
linux-3.5.7
------------
------------


http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.5.2.tar.bz2
http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.5.7.tar.bz2


tar xvjf linux-3.5.2.tar.bz2
tar xvjf linux-3.5.7.tar.bz2
cd linux-3.5.2
cd linux-3.5.7
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- ps3_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- ps3_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- menuconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- menuconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- LOCALVERSION="-test"
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- LOCALVERSION="-test"
mkdir -p $HOME/linux-3.5.2-build/boot
mkdir -p $HOME/linux-3.5.7-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- install INSTALL_PATH=$HOME/linux-3.5.2-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- install INSTALL_PATH=$HOME/linux-3.5.7-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- modules_install INSTALL_MOD_PATH=$HOME/linux-3.5.2-build
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- modules_install INSTALL_MOD_PATH=$HOME/linux-3.5.7-build
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- headers_install INSTALL_HDR_PATH=$HOME/linux-3.5.2-build/usr
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- headers_install INSTALL_HDR_PATH=$HOME/linux-3.5.7-build/usr
 
linux-3.6.2
------------
 
http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.2.tar.bz2
 
tar xvjf linux-3.6.2.tar.bz2
cd linux-3.6.2
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- ps3_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- menuconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux-
mkdir -p $HOME/linux-3.6.2-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- install INSTALL_PATH=$HOME/linux-3.6.2-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- modules_install INSTALL_MOD_PATH=$HOME/linux-3.6.2-build
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- headers_install INSTALL_HDR_PATH=$HOME/linux-3.6.2-build/usr


Install new kernel on target machine
Install new kernel on target machine
-------------------------------------
-------------------------------------


cp linux-3.4.9-build/boot/vmlinux /boot/vmlinux-3.4.9
cp linux-3.6.2-build/boot/vmlinux-3.6.2 /boot/
cp linux-3.4.9-build/boot/System.map /boot/System.map-3.4.9
cp linux-3.6.2-build/boot/System.map-3.6.2 /boot/
rm -rf /lib/modules/3.4.9
rm -rf /lib/modules/3.6.2
cp -r linux-3.4.9-build/lib/modules/3.4.9 /lib/modules/
cp -r linux-3.6.2-build/lib/modules/3.6.2 /lib/modules/
depmod -a 3.4.9
depmod -a 3.6.2
</pre>
</pre>


=Precompiled Linux 3 Kernels=
=Precompiled Linux 3 Kernels=


* Tested by me on PS3 Slim with OtherOS++.
* spuisofs and spuldrfs included as modules.
* spuisofs and spuldrfs included as modules.
* linux-3.4.9-build.tar.xz: http://www.multiupload.nl/Y23SCCE8YN
* linux-2.6.39.4-build.tar.xz: http://www.multiupload.nl/DVMOI1FW1E (MD5 1a35d9daf01e22e64da27817d7236536)
* linux-3.5.2-build.tar.xz: http://www.multiupload.nl/W25QMPUHE2
* linux-3.2.29-libusb-build.tar.xz: http://www.multiupload.nl/UTGFQHCI7W (MD5 11c9c3f45b5aa76709107917f8574dc5)
* linux-3.4.10-build.tar.xz: http://www.multiupload.nl/9SG19DPP85 (MD5 dd464d568f9761cec75b4e1c492c890c)
* linux-3.5.6-build.tar.xz: http://www.multiupload.nl/21QWUAPAYZ (MD5 2d4b779483fb8090e6e178700131a7d4)
* linux-3.6.2-build.tar.xz: http://www.multiupload.nl/YNN584AKNU (MD5 9f3cef8d71f862aa163fcedcecbeaa19)
* linux-3.6.4-build.tar.xz (no iptables support): http://www.multiupload.nl/T705N39WZU (MD5 871ae38017313683ca12def903204445)
 
 
 
{{Linux}}<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 02:57, 3 February 2014

Introduction[edit | edit source]

  • Linux 2.6 series is nearing EOL. Only LTS kernels continue to receive security updates, but no new features. New drivers are available only on Linux 3.
  • Linux 3 is stable and works on PS3 Slim without problems.

Compilation dependencies[edit | edit source]

Glevand provides Linux 3 kernel patches at: http://gitorious.ps3dev.net/ps3linux
Sample .config file: plan to post at pastebin

Cross-Compiling[edit | edit source]

linux-3.4.12
-------------

http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.4.12.tar.bz2

tar xvjf linux-3.4.12.tar.bz2
cd linux-3.4.12
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- ps3_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- menuconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux-
mkdir -p $HOME/linux-3.4.12-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- install INSTALL_PATH=$HOME/linux-3.4.12-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- modules_install INSTALL_MOD_PATH=$HOME/linux-3.4.12-build
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- headers_install INSTALL_HDR_PATH=$HOME/linux-3.4.12-build/usr

linux-3.5.7
------------

http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.5.7.tar.bz2

tar xvjf linux-3.5.7.tar.bz2
cd linux-3.5.7
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- ps3_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- menuconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- LOCALVERSION="-test"
mkdir -p $HOME/linux-3.5.7-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- install INSTALL_PATH=$HOME/linux-3.5.7-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- modules_install INSTALL_MOD_PATH=$HOME/linux-3.5.7-build
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- headers_install INSTALL_HDR_PATH=$HOME/linux-3.5.7-build/usr

linux-3.6.2
------------

http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.2.tar.bz2

tar xvjf linux-3.6.2.tar.bz2
cd linux-3.6.2
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- ps3_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- menuconfig
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux-
mkdir -p $HOME/linux-3.6.2-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- install INSTALL_PATH=$HOME/linux-3.6.2-build/boot
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- modules_install INSTALL_MOD_PATH=$HOME/linux-3.6.2-build
make ARCH=powerpc CROSS_COMPILE=powerpc64-linux- headers_install INSTALL_HDR_PATH=$HOME/linux-3.6.2-build/usr

Install new kernel on target machine
-------------------------------------

cp linux-3.6.2-build/boot/vmlinux-3.6.2 /boot/
cp linux-3.6.2-build/boot/System.map-3.6.2 /boot/
rm -rf /lib/modules/3.6.2
cp -r linux-3.6.2-build/lib/modules/3.6.2 /lib/modules/
depmod -a 3.6.2

Precompiled Linux 3 Kernels[edit | edit source]