Kernel für PS3 bauen
Wie man einen neuen Kernel für seine PS3 baut, der dann leider nicht funktioniert:
git installieren.
Aktuelle Kernel-Sourcen holen:
Der Kernel soll in 64-Bit gebaut werden. Der gcc von YDL unterstützt dies bereits, der aus dem Gentoo-Satge4-Archiv nicht. Aber das Archiv bringt einen power64-compiler mit, den wir als Cross-Compiler eintragen können. Wir suchen in der Makefile also die Zeile CROSS_COMPILE= und fügen ein powerpc64-unknown-linux-gnu- hinzu.
Grundkonfiguration:
Device Tree Complier installieren:
Den Kernel bauen und installieren:
kboot.conf anpassen:
(Achtung: der Video-Mode sollte natürlich richtig gesetzt werden. 6 bedeutet zB normales PAL 576i)
Und dann bekommen wir beim Booten eine Kernel Panic: Attempted to kill init! Schade, irgendwie... Ich poste das hier trotzdem mal, vielleicht haben ander Leute ja mehr Glück!
git installieren.
- Gentoo: emerge -v git
- YDL: Keine Ahnung!

Aktuelle Kernel-Sourcen holen:
- cd /usr/src
- git clone git://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git ps3-linux
- ln -s ps3-linux linux
- cd linux
Der Kernel soll in 64-Bit gebaut werden. Der gcc von YDL unterstützt dies bereits, der aus dem Gentoo-Satge4-Archiv nicht. Aber das Archiv bringt einen power64-compiler mit, den wir als Cross-Compiler eintragen können. Wir suchen in der Makefile also die Zeile CROSS_COMPILE= und fügen ein powerpc64-unknown-linux-gnu- hinzu.
- joe Makefile
Grundkonfiguration:
- make ps3_defconfig
- make menuconfig (oder xconfig oder was-auch-immer-config)
Device Tree Complier installieren:
- cd ..
- git clone git://www.jdl.com/software/dtc.git dtc
- cd dtc
- make
- cp dtc /usr/local/bin
Den Kernel bauen und installieren:
- cd ../linux
- make && make modules_install
- cp vmlinux /boot/vmlinux-ps3
- cd /boot
- strip vmlinux-ps3
kboot.conf anpassen:
- joe /etc/kboot.conf
eine funktionierende Konfiguration kopieren, umbenennen und anpassen; ungefähr so:
git="/dev/sda1:/vmlinux-ps3 root=/dev/sda2 init=/sbin/init video=ps3fb:mode:6 rhgb"
(Achtung: der Video-Mode sollte natürlich richtig gesetzt werden. 6 bedeutet zB normales PAL 576i)
Und dann bekommen wir beim Booten eine Kernel Panic: Attempted to kill init! Schade, irgendwie... Ich poste das hier trotzdem mal, vielleicht haben ander Leute ja mehr Glück!

Wie testen? Das Universalnetzteil gibt mir schöne 5V und mehr als die geforderten 1A Strom, aber dummer Weise ist die Firma Iomega wohl der Meinung, daß man Buchsen verbauen muß, für die es keine Stecker gibt - der Mittelpol, also +, ist sooo *zeig* riesig, dafür gibt es keinen Adapterstecker. Zumindest nicht bei meinem Universalnetzteil.
Nur leider, es geht nicht. Die ganze Bastellei um sonst? Bei genauerer Betrachtung stellen wir fest, daß der rechte Anschluß, 25 polig, weiblich, mit den üblichen SCSI- und Parallelport-Symbolen markiert ist, der linke, ebenfalls 25 polig, männlich, mit "AutoDetect™" - wie bitte ist es eigentlich möglich, sich das Wort "autodetect" als Warenzeichen eintragen zu lassen, nur weil man das A und das D groß geschrieben hat? *seufz* Anderes Thema, das.
Mounten geht. mkfs.ext3 -ccjv /dev/sda4 und einige Zeit später habe ich sogar ein Medium, auf das ich einigermaßen guten Gewissens etwas ablegen kann, ohne Angst haben zu müssen, daß ich an eine Stelle schreibe, an der das große schwarze Loch ist...