Petitboot: Difference between revisions
mNo edit summary |
(provide alternative links to the Foxbrew dead repos) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[Category: | [[Category:OtherOS]] | ||
Crossreference: [http://portal.gitbrew.org/wikibrew/Petitboot gitbrew.org::Petitboot] <br /> | Crossreference: [http://portal.gitbrew.org/wikibrew/Petitboot gitbrew.org::Petitboot] <br /> | ||
Line 11: | Line 11: | ||
<li>Install Dependencies: | <li>Install Dependencies: | ||
{{keyboard|content=$ sudo apt-get install quilt build-essential subversion libncurses5-dev zlib1g-dev gawk flex}}</li> | {{keyboard|content=<syntaxhighlight lang="bash">$ sudo apt-get install quilt build-essential subversion libncurses5-dev zlib1g-dev gawk flex</syntaxhighlight>}}</li> | ||
<li>Clone Gits: | <li>Clone Gits: | ||
{{keyboard|content=$ mkdir petitboot | {{keyboard|content=<syntaxhighlight lang="bash"> | ||
$ mkdir petitboot | |||
$ cd petitboot | $ cd petitboot | ||
$ git clone git://foxbrew.org/ps3linux/petitboot/openwrt.git | $ git clone git://foxbrew.org/ps3linux/petitboot/openwrt.git | ||
$ git clone git://foxbrew.org/ps3linux/petitboot/openwrt_packages.git}}</li> | $ git clone git://foxbrew.org/ps3linux/petitboot/openwrt_packages.git | ||
</syntaxhighlight>}}</li> | |||
Foxbrew openwrt links are dead. Mirrors at https://github.com/jumoog/openwrt https://github.com/jumoog/openwrt_packages. Just replace the links with the GitHub ones. | |||
<li>Link packages: | <li>Link packages: | ||
{{keyboard|content=packages to link are in the file ps3_petitboot_howto}}</li> | {{keyboard|content=<syntaxhighlight lang="bash">packages to link are in the file ps3_petitboot_howto</syntaxhighlight>}}</li> | ||
<li>Copy the configuration: | <li>Copy the configuration: | ||
{{keyboard|content=$ cp ps3_petitboot_config .config}}</li> | {{keyboard|content=<syntaxhighlight lang="bash">$ cp ps3_petitboot_config .config</syntaxhighlight>}}</li> | ||
<li>Build: <br /> | <li>Build: <br /> | ||
The first time you build, a cross-compiling toolchain will be downloaded and built. This takes a very long time. Subsequent builds are much quicker (~10 minutes). | The first time you build, a cross-compiling toolchain will be downloaded and built. This takes a very long time. Subsequent builds are much quicker (~10 minutes). | ||
{{keyboard|content=$ make V=99}}</li> | {{keyboard|content=<syntaxhighlight lang="bash">$ make V=99</syntaxhighlight>}}</li> | ||
</ol> | </ol> | ||
Line 45: | Line 48: | ||
(If you choose (M) it will be compiled but not included in the dtbImage. Useful for debugging a module that hangs the kernel :D) | (If you choose (M) it will be compiled but not included in the dtbImage. Useful for debugging a module that hangs the kernel :D) | ||
{{keyboard|content=$ cd package | {{keyboard|content=<syntaxhighlight lang="bash"> | ||
$ cd package | |||
$ git clone git://github.com/DirtyJerz/ps3-jupiter.git | $ git clone git://github.com/DirtyJerz/ps3-jupiter.git | ||
$ cd .. | $ cd .. | ||
Line 51: | Line 55: | ||
$ make kernel_menuconfig | $ make kernel_menuconfig | ||
$ cd target/linux/ps3/petitboot/base-files/etc/init.d | $ cd target/linux/ps3/petitboot/base-files/etc/init.d | ||
$ nano kexec --modify MODULES="ps3_jupiter_sta ps3_jupiter.."}} | $ nano kexec --modify MODULES="ps3_jupiter_sta ps3_jupiter.." | ||
</syntaxhighlight>}} | |||
===WPA=== | ===WPA=== | ||
Line 62: | Line 67: | ||
put those files in package/base-files and apply the patches with | put those files in package/base-files and apply the patches with | ||
{{keyboard|content=$ patch < Makefile.patch | {{keyboard|content=<syntaxhighlight lang="bash"> | ||
$ patch < image-config.in.patch}} | $ patch < Makefile.patch | ||
$ patch < image-config.in.patch | |||
</syntaxhighlight>}} | |||
you can now enter your SSID and wpa2 PSK in menuconfig and wpa_supplicant.conf will be added to /etc in petitboot. | you can now enter your SSID and wpa2 PSK in menuconfig and wpa_supplicant.conf will be added to /etc in petitboot. | ||
Line 81: | Line 88: | ||
At this moment, the official GIT server is down : | At this moment, the official GIT server is down : | ||
{{keyboard|content=$ git clone git://foxbrew.org/ps3linux/petitboot/openwrt.git | {{keyboard|content=<syntaxhighlight lang="bash"> | ||
$ git clone git://foxbrew.org/ps3linux/petitboot/openwrt.git | |||
git clone git://foxbrew.org/ps3linux/petitboot/openwrt_packages.git | |||
</syntaxhighlight>}} | |||
{{keyboard|content=$ cd openwrt/package | {{keyboard|content=<syntaxhighlight lang="bash"> | ||
$ cd openwrt/package | |||
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 | |||
</syntaxhighlight>}} | |||
<nowiki>#</nowiki> link here more packages if you want to | <nowiki>#</nowiki> link here more packages if you want to | ||
{{keyboard|content=$ ln -sf ../../openwrt_packages/utils/bc bc | {{keyboard|content=<syntaxhighlight lang="bash"> | ||
$ ln -sf ../../openwrt_packages/utils/bc bc | |||
ln -sf ../../openwrt_packages/utils/sg3-utils sg3-utils | |||
ln -sf ../../openwrt_packages/utils/cifsmount cifsmount | |||
ln -sf ../../openwrt_packages/net/nmap nmap | |||
ln -sf ../../openwrt_packages/net/ncftp ncftp | |||
ln -sf ../../openwrt_packages/mail/mutt mutt | |||
ln -sf ../../openwrt_packages/devel/make make | |||
ln -sf ../../openwrt_packages/devel/patch patch | |||
ln -sf ../../openwrt_packages/libs/db47 db47 | |||
ln -sf ../../openwrt_packages/libs/gdbm gdbm | |||
ln -sf ../../openwrt_packages/libs/libxml2 libxml2 | |||
</syntaxhighlight>}} | |||
{{keyboard|content=$ cd .. | {{keyboard|content=<syntaxhighlight lang="bash"> | ||
$ cd .. | |||
cp ps3_petitboot_config_minimal .config | |||
make menuconfig # optional | |||
make kernel_menuconfig # optional | |||
make V=99 | |||
</syntaxhighlight>}} | |||
''' Old Source: graf_chokolo @ http://ps3wiki.lan.st/index.php/Petitboot ''' | ''' Old Source: graf_chokolo @ http://ps3wiki.lan.st/index.php/Petitboot ''' | ||
{{Linux}}<noinclude>[[Category:Main]]</noinclude> |
Latest revision as of 19:38, 22 October 2023
Crossreference: gitbrew.org::Petitboot
Petitboot[edit | edit source]
Setup Buildroot[edit | edit source]
First thing we need to do is setup our buildroot. Most of this is ripped from how-to's around the nets.
- Install Dependencies:
$ sudo apt-get install quilt build-essential subversion libncurses5-dev zlib1g-dev gawk flex
- Clone Gits:
$ mkdir petitboot $ cd petitboot $ git clone git://foxbrew.org/ps3linux/petitboot/openwrt.git $ git clone git://foxbrew.org/ps3linux/petitboot/openwrt_packages.git
- Link packages:
packages to link are in the file ps3_petitboot_howto
- Copy the configuration:
$ cp ps3_petitboot_config .config
- Build:
The first time you build, a cross-compiling toolchain will be downloaded and built. This takes a very long time. Subsequent builds are much quicker (~10 minutes).$ make V=99
Foxbrew openwrt links are dead. Mirrors at https://github.com/jumoog/openwrt https://github.com/jumoog/openwrt_packages. Just replace the links with the GitHub ones.
EXTRAS[edit | edit source]
WIFI(SLIMS)[edit | edit source]
you can use / to search in menuconfig (thanks jevin)
- cd into package folder
- clone my ps3-jupiter fork on github
- enable base system -> wireless-tools, kernel modules-> wireless drivers -> kmod-ps3-jupiter, and Network -> wpa-supplicant(if needed see WPA below) as builtin (*) in menuconfig
- enable networking support->wireless -> wireless-extensions as builtin (*) in kernel_menuconfig (you should highlight wireless to make all the other options appear)
- modify kexec to unmount the new modules also (ps3_jupiter_sta ps3_jupiter)
(If you choose (M) it will be compiled but not included in the dtbImage. Useful for debugging a module that hangs the kernel :D)
$ cd package $ git clone git://github.com/DirtyJerz/ps3-jupiter.git $ cd .. $ make menuconfig $ make kernel_menuconfig $ cd target/linux/ps3/petitboot/base-files/etc/init.d $ nano kexec --modify MODULES="ps3_jupiter_sta ps3_jupiter.."
WPA[edit | edit source]
If you use WPA2 as I do, you can apply these patchs to package/base-files to enable a the generation of a wpa_supplicant.conf file. It will also add 2 lines to rc.local to automatically connect to your router on boot.
Makefile.patch - http://pastie.org/2624949 image-config.in.patch - http://pastie.org/2624956
put those files in package/base-files and apply the patches with
$ patch < Makefile.patch $ patch < image-config.in.patch
you can now enter your SSID and wpa2 PSK in menuconfig and wpa_supplicant.conf will be added to /etc in petitboot.
Compiling petitboot (graf's method)[edit | edit source]
- I use petitboot to install and boot Linux from internal HDD of my PS3.
- 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 ( actually, it take a long time during the very first compilation, because it compile the powerpc64 toolchain too, but after that, is you re-launch another compilation, it's "fast" )
- 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
At this moment, the official GIT server is down :
$ git clone git://foxbrew.org/ps3linux/petitboot/openwrt.git git clone git://foxbrew.org/ps3linux/petitboot/openwrt_packages.git
$ cd openwrt/package 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
# link here more packages if you want to
$ ln -sf ../../openwrt_packages/utils/bc bc ln -sf ../../openwrt_packages/utils/sg3-utils sg3-utils ln -sf ../../openwrt_packages/utils/cifsmount cifsmount ln -sf ../../openwrt_packages/net/nmap nmap ln -sf ../../openwrt_packages/net/ncftp ncftp ln -sf ../../openwrt_packages/mail/mutt mutt ln -sf ../../openwrt_packages/devel/make make ln -sf ../../openwrt_packages/devel/patch patch ln -sf ../../openwrt_packages/libs/db47 db47 ln -sf ../../openwrt_packages/libs/gdbm gdbm ln -sf ../../openwrt_packages/libs/libxml2 libxml2
$ cd .. cp ps3_petitboot_config_minimal .config make menuconfig # optional make kernel_menuconfig # optional make V=99
Old Source: graf_chokolo @ http://ps3wiki.lan.st/index.php/Petitboot