Running GNU / Linux on PS3

    As you already know, Sony removed the ability to run OtherOS on the Sony Playstation 3. For some geeks, it was the launch of GNU / Linux on the PS3 that was the reason for the purchase. But thanks to the work of third-party developers, this has again become possible. On firmware with version 3.55 without any additional devices (USB jailbreak device, USB JIG).

    A short video to attract attention:



    UPDATE : now everything has become much simpler - you can run Debian GNU / Linux directly from a USB flash drive without installing TFTP and NFS servers. See instructions .

    Used means



    The AsbestOS bootloader and the lv2patcher program for changing the memory will be used to start the Linux kernel. For lv2patcher to work, it is necessary that the system files be preliminarily changed (the peek and poke system calls work, as well as the lv1_undocumented_function_114 function was modified: 0x2D5A47: 00 -> 01). These changes have already been made in most modified firmware (CFW).

    CFW



    The following firmware are compatible with lv2patcher:
    • Waninkoko V2;
    • kmeaw's CFW;
    • Wutangrza's CFW;
    • PS3MFW by KaKaRoTo (with related options included during assembly).


    Install any of them.

    lv2patcher



    To run AsbestOS, the latest version of lv2patcher is required - v9. It made it possible to modify the contents of the hypervisor (lv1), as well as perform a reboot (lv1_panic).

    AsbestOS



    In order for lv2patcher to start AsbestOS, the bootloader must first be written to the console’s flash memory. This cannot be done just like that - the / dev_flash section is write-protected. But for this there is a special program - AsbestOS installer ( version for ps3 fat ). Just run it and wait for the installation process to complete.

    Now all preparations on the PS3 are complete. Since AsbestOS uses the network to boot the kernel, it is necessary to configure a computer connected to the local network so that it can be used as a boot server. Suppose Ubuntu is installed on this computer. To raise the server, we need the dhcp3-server , tftpd-hpa and nfs-kernel-server packages.

    DHCP server



    The loader needs a DHCP server to get the IP address and address of the TFTP server. Here is an example of a working configuration for ISC DHCP server: Correct this file according to the address space of your network.
    option domain-name "example.org";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    default-lease-time 600;
    max-lease-time 7200;
    ddns-update-style none;
    authoritative;
    log-facility local7;
    subnet 192.168.2.0 netmask 255.255.255.0 {
    range 192.168.2.128 192.168.2.250;
    }
    next-server 192.168.2.1;
    filename "kboot.conf";
    option routers 192.168.2.1;




    TFTP server



    Immediately after receiving the address, AsbestOS tries to download the configuration file from the TFTP server. In the example above, the kboot.conf file was specified. The minimal configuration is enough for us, and therefore this file will consist of only one line:

    linux='vmlinux video=ps3fb:mode:2 root=/dev/nfs rw ip=dhcp nfsroot=192.168.2.1:/mnt/ps3 panic=5'

    As you can see from it, we also need to put the kernel image in the tftp server directory and name it vmlinux. A link to the finished kernel will be listed in the next section.

    Nfs server



    Since the console’s hard drive will not be used for GNU / Linux storage, and the root file system is needed for work, we will take advantage of Linux’s ability to use nfs as the root. Add a line to / etc / exports:

    /mnt/ps3 192.168.0.0/16(rw,async,no_root_squash,no_subtree_check,anonuid=0,anongid=0)

    By the way, the file system can be taken here , and the kernel and modules to it can be found here .

    All is ready. Launch lv2 patcher, select the new “Linux” menu item and press “X”. After a few seconds, the kernel will initialize the framebuffer and display two rows of penguins.

    And how would you use the old (new?) PS3 feature?

    Also popular now: