GNU/Linux Distributionen in der SONY Playstation 3
Aus Fedorawiki.de
Einleitung
Hinweis: Der Artikel ist noch nicht vollendet, aber nutzbar. Die externen Verweise unter dem Punkt Quellen helfen sehr weiter. Bitte, den Artikel einschließlich des Punktes Tipps sorgfältig durchlesen und nicht gleich los machen, damit kann man sich als Anfänger eine Menge Zeit und Ärger ersparen.
Linux Distributionen
Offiziell unterstütze Distributionen
Yellow Dog Linux 6
http://us.fixstars.com/support/downloads/
Fedora 9/10
http://fedoraproject.org/
Gentoo LiveCD(Beta)
http://www.gentoo.org/proj/en/base/ppc64/ps3/
Ubuntu 7.10
https://help.ubuntu.com/community/PlayStation_3
Weitere Distributionen
OpenSUSE
PS3-Spins
Aktuell wird der Fedora-PowerPC Spin für die Einrichtung genutzt. Da Ende 2008 etwa 17 Millionen PS3 'rum flogen, dürfte sich ein schicker Spin für eine Distribution gut machen. Und schlanke Spins wären dringend nötig, auf LaTex und Konsorten kann man locker verzichten. Ein langwierige Paketauswahl könnte man sich auch ersparen. Anaconda sollte den favorisierten Fensterverwalter wählbar machen, sowie eine Minimalinstallation anbieten, von mir aus 2 davon, rl 3 und rl 5 , in meinem Fall benötige ich kein X. Als Fensterverwalter und Benutzerumgebung kommt vorerst Fluxbox, XFCE oder ein anderer "schlanker" Fensterverwalter in Frage.
PS3-ReSpins
Eine englische Anleitung für einen Fedora-ReSpin findet sich hier:
https://fedoraproject.org/wiki/PlayStation/Ps3ReSpin
Eine eigene Distribution erstellen
Einrichtung und Einstellung von Fedora 10
Testkonfiguration der Geräte
- PS3, 60 GB Euroversion mit Emotion Engine.
- LG HD Fernseher mit HDMI-Eingang.
Vorbereitungen
Zunächst das Betriebssystem der PS 3 auf den neuesten Stand bringen, falls das noch nicht erfolgt ist. Zum Zeitpunkt der Erstellung dieser Anleitung ist der aktualisierbare Teil des Sony-Playstation 3
Betriebssystems Ausgabe 2.53. Die aktuelle Ausgabe erhält man unter diesem URL:
http://de.playstation.com/help-support/ps3/system-software/download/
Alle anderen Vorbereitungen, wie die des "Bootloaders" oder die "Partitionierung" der "Festplatte, können aus den externen Verweisen entnommen werden.
KBoot
Seit der Ausgabe 1.6 der PS3-Firmware wird nur noch eine Datei benötigt, um ein fremdes Betriebssystem einzurichten. Der Name dieser Datei ist:
otheros.bld
Das ist die Abkürzung für "Other OS Bootloader", zu deutsch etwa Startprogramm für ein anderes Betriebssystem. Das für Fedora angepasste Startprogramm basierend auf Petitboot von http://david.woodhou.se/otheros.bld, gab mir ein schwarzes Bild. Deshalb habe ich Kernel Boot (kboot)(Kernstart) aus Geoffrey Levands Verzeichnis auf kernel.org genutzt. Kboot und Petitboot haben beide eine Variante der Almquist-Shell integriert. Petitboot ist eine französische "Produktion", Petit kann man mit "winzig" übersetzen.
Fedora
Auf Fedora.org wird eine Netzwerkeinrichtung empfohlen, das würde ich im Nachhinein auch tun, aber ich habe folgendes PPC-Abbild benutzt: http://download.fedoraproject.org/pub/fedora/linux/releases/10/Fedora/ppc/iso/Fedora-10-ppc-DVD.iso Ist ziemlich groß und die meisten im ISO-Abbild enthaltenen Pakete brauche ich nicht. Eine Anleitung für Netzwerkeinrichtung werde ich nach reichen, sobald ein Abbild für diese Art der Einrichtung verfügbar ist. Ich denke ernsthaft über die Bereitstellung eines eigenen Spin's nach, früher oder später wird Trusted Platform Module (TPM) und damit auch Hypervisor fallen. TPM ist übrigens eine üble Angelegenheit, es wird als vertrauenswürdige Informationstechnik "verkauft", bedeutet aber im Klartext, dass man seine Informationen "vertrauensvoll" in die Hände der Monopol-Industrie legt und für vermeintliche Sicherheit wieder ein Stück Freiheit aufgibt. Siehe dazu die deutsche Liste der häufig gestellten Fragen zu TPM. Um es auf den Punkt zu bringen, TPM dient dem Zweck die Kunden in eine Abhängigkeit zu führen und dies wird als Sicherheit propagiert. Kommt mir irgendwie bekannt vor, dazu aber später mehr in einem eigenen Artikel.
Soweit ich informiert bin, ist die Netzwerk gestützte Einrichtung nur über eth0 möglich, also über Kabel und ich bin mir sicher, dass das nicht jeder möchte. Ich bin mir übrigens auch nicht mehr ganz sicher, ob wlan0 direkt nach der Einrichtung funktionierte. Nach der Netzwerk gestützten Einrichtung werde ich diese Unklarheit korrigieren. Eine Einrichtung möchte ich diese Woche noch machen: Über die Secure Shell von Petit-Boot und später über VNC, dazu wird natürlich ein Rechner benötigt. Siehe Fernzugriff währende der Einrichtung. Die Kommandozeile für SSH sollte wie folgt aussehen:
linux64 text xdriver=fbdev ip=ip netmask=nm gateway=gw dns=dns noselinux lang=de keymap=sg-latin1 vnc vncpassword=p
Einrichtung
Start einer Texteinrichtung, da ich zu häufig einen schwarzen Schirm während der Einrichtung erlebte. Kurz auf die DHCP-Anfrage warten, dann ash (Kommandozeileninterpreter) mit
linux64 text xdriver=fbdev
füttern. Ich empfehle auf LVM zu verzichten und die Einteilung der Festplatte selbst vorzunehmen. LVM hat mir bislang nur Scherereien eingebracht, kommt mit EXT3 nicht sonderlich gut zurecht und bringt auf kleinen Systemen nicht viele Vorteile. Zudem kommen die meisten anderen Distributionen mit LVM nicht zurecht.
Einstellungen, Abhängigkeitsprüfung und Kopieren der Daten
Abhängigkeitsprüfung und Vorbereitungen dauern ca. 5 Minuten.
Das Kopieren und Einrichten der 998 Pakete, wenn Bürotätigkeiten abgewählt wurden, dauert eine ganze Weile. Etwa 50 Minuten um etwas genauer zu sein.
| Einrichtungdauer der DVD | ||
|---|---|---|
| Fortschritt | Zeitspannen | Gesamtzeit |
| 0% | 0 Minuten | 0 Minuten |
| 50% | 12 Minuten | 12 Minuten |
| 75% | 18 Minuten | 30 Minuten |
| 100% | 20 Minuten | 50 Minuten |
Danach beginnen die automatischen Einstellungen von F10. Nach einer Minute kann das System wieder gestartet werden.
System Neustart
Das "Herunterfahren" des Systems dauert etwa eine Minute. Die DVD wird nicht ausgeworfen, ergo: Auschalten! Auswurf-Taste drücken um die Konsole wieder zu starten und auf KBoot warten, Enter!
Der grafische Start von F10 (rhgb mit plymouth) sollte zu sehen sein und kann mit der Taste ESC ausgeblendet werden. Jetzt sollte Fedoras Textkonfiguration zu Tage treten. Fertig.
X startet nicht! Wer hätte das gedacht? Root Anmeldung, bitte!
# runlevel
zeigt uns, wir befinden uns in Runlevel 3, weshalb X nicht startet, logisch!
# init 5
...zäh öffnet sich der das Anmeldefenster vom GDM. So, Fedora 10 lässt die Root-Anmeldung unter GNOME nicht zu. D.h., entweder die Notlösung aus dem internen Verweis nutzen oder einen neuen Benutzer anlegen.
Zurück ins VT1 "Strg + Alt +F1"
# clear
ausführen, damit man wieder was sieht.
Wir legen einen neuen Benutzer an, um uns an X anzumelden:
# adduser $Nutzername # passwd $Nutzername $Kennzeichenfolge
Passwd will eine Bestätigung, um sicher zu gehen, dass man sich nicht vertippt hat. Wenn die Zeichenfolge immer noch nicht stimmt, war wohl die Umschalttaste gedrückt. Sonst, einfach noch mal passwd ausführen.
Nun wieder zurück auf die grafische Benutzeroberfläche und mit den soeben erstellten Zugangsdaten anmelden.
Gut, recht zügig erscheint die GNOME-Oberfläche und der neue GNOME-Jingle ist zu hören. Töne sind also da. Allerdings ist die Ausführungsgeschwindigkeit unter GNOME eine Zumutung. Nun, GNOME wird überwiegend auf x86-Architekturen entwickelt die dekadent viel Arbeitsspeicher mitbringen, da sie für MS-Windows gebaut werden.
Grafischen Betriebsmodus von Fedora als Standard
Nach einer Text-basierten Einrichtung ist der dritte Runlevel, ein Betriebszustand für mehrere Benutzer mit Netzwerkunterstützung, automatisch eingestellt. Möchte man dies nicht, muss die Variable initdefault in der Datei /etc/inittab (init table) (Start-Tabelle) von 3 auf 5 geändert werden. Secure Shell (ssh), kann der folgende Befehl auf der PS3 als Root ausgeführt werden:
sed -i s@'id:3:initdefault:'@'id:5:initdefault:'@ /etc/inittab
Diese Zeile führt GNU-SEd aus, sucht und ändert die Textdatei entsprechend der Parameter und den Argumenten (Meta-Angaben).
Netzwerkgeräte
eth0 und wlan0 stehen als logische Gräte mit direkter physischer Bindung zur Verfügung.
LAN - eth0
WOL - Wake up on LAN
Wake up on lan funtioniert über das logische Gerät eth0 perfekt. Deutsche Beschreibung folgt.
WOL funktioniert seit FW 2.20 und Kern linux-2.6.26-rc2.
Für die Nutzung wird das Paket ethtool benötigt. Mittels
rpm -qf ethtool
prüft man ob es sich auf unserer PS3 befindet und durch
yum install ethtool
wird das Paket ggfs. eingerichtet.
1) View the Wake-On-Lan status
[root@ps3]# ethtool eth0
Settings for eth0: Supports Wake-on: g Wake-on: d
Notes: g = Wake on MagicPacket(tm) d = Disable. This option clears all previous options.
2) Enable Wake-On-Lan
[root@ps3]# eth-tool -s eth0 wol g [root@ps3]# eth-tool eth0
3) Determine PS3 MAC address
Each PS3 has a unique Ethernet MAC address, and it must be used when sending the MagicPacket. Use the value reported with the etherwake utility.
[root@ps3]# ifconfig eth0 | grep HWaddr eth0 Link encap:Ethernet HWaddr aa:bb:cc:dd:ee:ff
4) Shutdown PS3
Any method that does a proper Linux shutdown will put the stystem into stand-by mode and allow the system to wake up via a MagicPacket. Any of these methods will work:
[root@ps3]# shutdown -h now [root@ps3]# shutdown [root@ps3]# poweroff - Press the power button
Notes: - If system power is removed or the main power switch is turned off while in stand-by mode the Wake-On-Lan feature will be disabled. - When the Wake-On-Lan feature is enabled additional hardware devices will remain powered on when in stand-by mode. The PS3 will consume more power than when the Wake-On-Lan feature is not enabled.
5) Wake up PS3 In Fedora heißt das Programm ether-wake und ist im Paket net-tools zu finden. From a remote host on the same subnet as the PS3:
[Nutzer@host]$ etherwake -i ethX aa:bb:cc:dd:ee:ff
Anmerkungen: - ethX is the host's network device on the same subnet as the PS3. Replace ethX with the proper network device on your host system. - aa:bb:cc:dd:ee:ff is the Ethernet MAC address of the PS3.
The default Linux shutdown procedure does not enable this
feature, i.e. you have to re-enable Wake-On-Lan after each boot-up.
WLAN - wlan0 - Funknetzwerkgerät
Die Einstellung der Funknetzwerkkarte ohne Network-Manager. Seit der Ausgabenummer 2.6.27 unterstützt auch der Vanilla-Kern von kernel.org die Funknetzwerkkarte der PS3. Die Netzwerkkarte unterstützt die Linux Wireless Extensions (WEXT).
[root@PS3 ~]# uname -r 2.6.27.5-117.fc10.ppc64
[root@PS3 ~]# cat /proc/version
ergibt eine ähnlich Ausgabe. Die Konvertierung des Quelltextes, sowie die manuelle Einrichtung (Installation) von WPA-Supplicant fällt somit, anders als bei Fedora 9, aus.
'wpa_supplicant' unterstützt seit der Ausgabenummer 0.6.4 die Funknetzwerkkarte der PS3. Nach einer Aktualisierung aller Pakete die auf dem System eingerichtet sind liegt das Paket WPA-Supplicant (Supplicant heißt übrigens soviel wie Bittsteller) in der Ausgabe 0.6.4-4 vor. Um sich zu vergewissern in welcher Ausgabe das Paket auf dem eigenen System vorliegt, reicht folgende Kommandozeile:
[root@PS3 ~]# rpm -q wpa_supplicant wpa_supplicant-0.6.4-2.fc10.ppc
Ausführbare Dateien des Paketes wpa_supplicant:
/usr/sbin/wpa_supplicant /usr/sbin/wpa_cli /usr/sbin/wpa_passphrase
Die Einstellungen für wpa_supplicant werden in der Datei /etc/wpa_supplicant/wpa_supplicant.conf vorgenommen.
Ich nutze WPA Ausgabe 2 mit AES.
Demnach sieht meine Einstellungdatei wie folgt aus:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
network={
ssid="aurum"
psk=520134424102c3a7d2fa27361d79928856608592b98a07fe99ab0cfdc363abb1
}
Eingetragen ist der Service Set Identifier und der Pre-shared Key. Wird die Passphrase (psk) nicht über das Programm wpa_passphrase in das verlangte 64 Bit (Stellen) Format konvertiert, wird es nicht funktionieren.
Ich möchte den Dienst in den traditionellen Betriebszuständen:
[root@PS3 ~]# chkconfig --level 2345 wpa_supplicant on
Um das als Dienst gestartete Programm laufen zu lassen, ist eine Anpassung der betreffenden Einstellungsdatei notwendig:
[root@PS3 ~]# cat /etc/sysconfig/wpa_supplicant
Gibt den Inhalt der Einstellungsdatei aus.
# Use the flag "-i" before each of your interfaces, like so: # INTERFACES="-ieth1 -iwlan0" INTERFACES="-iwlan0" # Use the flag "-D" before each driver, like so: # DRIVERS="-Dwext" DRIVERS="-Dwext" # Other arguments # -u Enable the D-Bus interface (required for use with NetworkManager) # -f Log to /var/log/wpa_supplicant.log OTHER_ARGS="-u -f /var/log/wpa_supplicant.log"
Per Editor nano muss die Datei angepasst werden. Die Änderungen betreffen nur die Variablen INTERFACES und DRIVERS.
Da die grafische Benutzeroberfläche von WPA-Supplicant mit dem Widget-Toolkit Qt erstellt wurde, rate ich von der Einrichtung ab.
Nicht weil ich KDE-Hasser oder Trolltech]-Hasser bin, nein. Selbst wenn in Zukunft die AIGLX-Unterstützung der PS3 erfolgt, muss sorgsam mit dem Hauptspeicher des Gerätes umgegangen werden. KDE und GNOME disqualifizieren sich einfach durch ihr "Volumen". Ein wenig muss man sich schon an die Architektur anpassen.
Entschlacken von Fedora
Nicht benötigte Pakete entfernen
Nicht benötigte Dienste entfernen
- chkconfig ip6tables off (if you not have IPv6 enabled)
- chkconfig iprdump off
- chkconfig iprinit off
- chkconfig iprupdate off
- chkconfig isdn off
- chkconfig mdmonitor off
- chkconfig auditd off
- chkconfig cups off
- (once firstboot is executed once) chkconfig firstboot off
- chkconfig sendmail off
- chkconfig yum-updatesd off
Zu SELinux:
Fedora ist ein Ableger von RHEL. LVM und SELinux zeigen deutlich den Charakter eines Betriebssystems für den "Großeinsatz".
Auf SELinux kann man oft getrost verzichten.
In BASH wird SELinux wie folgt deaktiviert:
sed -i s@'SELINUX=enforcing'@'SELINUX=disabled'@ /etc/sysconfig/selinux
oder:
nano /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing <--- ändern zu disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
Grafisch geschieht das mit
/usr/bin/system-config-selinux
GNOME-Auswahl /System/Administration.
Wurde SELinux deaktiviert können diese Dienste auch abgeschaltet werden.
- chkconfig restorecond off
- chkconfig setroubleshoot off
GUI wechseln
Gnome darf vorerst bleiben, aber
yum groupinstall XFCE
bringt eine schlanke Benutzerumgebung in 28 Pakete, 21 Megebyte.
Kern anpassen
WPA-Supplicant
Hier möchte ich beschreiben wie das Programm WPA-Supplicant anhand des Quelltextes auf ein Minimum reduziert wird.
System sinnvoll ergänzen
Zusätzliche Repositories
RPM-Fusion kann nicht schaden.
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Grobe Mängel
Die WLAN-Verbindung verabschiedet sich nach einer Weile, ich werde klären woran das liegen könnte.
Die Helligkeit der Anzeige variiert scheinbar sporadisch, auch dem werde ich auf den Grund gehen.
Tipps
Auf der Projektseite von Petit-Boot steht ein angepasstes bld für vertrauenswürdige Netzwerkumgebungen.
Die Einrichtung der PS3 via SSH von einem mobilen Rechner ist eine feine Sache, so kann man schön aus dem Wiki kopieren :-).
zur Verfügung. telnet und ssh sind enthalten.
Je weniger verschiedene TK's und interpretierte Programmiersprachen genutzt werden, desto schneller läuft das System.
Als Widgettoolkit kommen QT und GTK kaum in Frage, auch interpretierte Programmiersprachen wie JAVA oder Python sind unvorteilhaft.
Da Red Hat überwiegend in Python programmiert, ist sicher Gentoo die erste Wahl auf der PS3, allerdings ist diese Distribution nicht für Anfänger.
Ernsthaft!
Mein Anwendungsschwerpunkt ist Rechner verteiltes konvertieren von Audio und Videodaten, und dcc.
Übrigens hat die PS3 eine gute Kryptoberechnungsleistung (MD5, etc.)
, zudem kann ich PPC64 Assembler-Erfahrungen vertiefen.
Das fehlen einer MMU hat nicht nur Nachteile!
Ich hatte bisher keine Gelegenheit einen PPC 64 zu programmieren.
Benötigte Programmierarbeit
Das WTK FLTK.org drängt sich quasi auf, um für GUI's benutzt zu werden, auch wenn es in C++ programmiert wurde. Mit FLTK (geprochen Fulltick) lässt sich sicher schnell eine Benutzerumgebung zusammen zimmern.
Technische Informationen Linux betreffend
Der Kern, dessen Untersysteme und Geräte
Der Linux Kern wird durch den Hypervisor der PS3 ausgeführt. Die meisten Geräte und Ressourcen stehen unter seiner Kontrolle. Die Linux Geräte "Treiber" wurden speziell für den Betrieb durch Hypervisor angepasst oder erstellt. Einige Geräte werden vom Kern selbst kontrolliert (z.B. USB-Steuerungen). Hypervisor stellt einen Gerätedienst bereit, der durch den Kern aufgerufen werden kann.
Plattform spezifische Geräte
Speichergeräte (Modulnamen ps3disk/ps3rom/ps3flash)
Die PS3 Speichergeräte umfassen die "Festplatte", das Blu-ray Laufwerk (BD drive), und das "Flash ROM". Diese Geräte sind über den Cell Broadband Engine’s companion chip verbunden. Der Zugang erfolgt durch Hypervisor-Aufrufe. Die Aufrufe sind einfach und konsequent: open, close, read und ioctl. Die meisten Methoden arbeiten asynchron und die Rückgaben erfolgen unverzüglich, danach muss das aufrufende Programm auf den Vollzug warten. Der Vollzug wird durch virtuelle Unterbrechungssignale gesendet. Der Rückgabewert der aufgerufenen asynchronen Methoden wird durch spezielle Hypervisor-Aufrufe abgefragt. BD ist in grundzügen ein ATAPI-Gerät, ATAPI-Befehle werden über Hypervisor ioctl gegeben. Aus Sicherheitsgründe werden einige ATAPI-Befehle von Hypervisor zurückgewiesen. Die Festplatte ist ein blockorientierter Geräte "Treiber" (Modulname: ps3disk). Auf die interne Festplatte kann über /dev/ps3da zugegriffen werden. Optische Speichergeräte (BD/DVD/CD-ROM) sind wie ein USB-Speichergerät-"Treiber" implementiert (Modulname: ps3rom). Der "Treiber" verhält sich wie ein SCSI-Steuerungs-"Treiber" und die Speichergeräte wie SCSI-Speichergeräte. Das interne BD-Laufwerk ist wie ein SCSI-CD-ROM als /dev/sr0 verfügbar. Der FLASH-ROM-Speichergeräte-Treiber ist ein zeichenorientierter Geräte-Treiber (Modulname: ps3flash). Das FLASH-ROM kann über /dev/ps3flash erreicht werden. Das Programm zum Auffinden von Speichergeräten benutzt einen Thread der solange nach neuen Geräten Ausschau hält, bis 60 Sekunden lang kein neues Gerät mehr erkannt wird.
Audio (Modulname: snd_ps3)
Die Audiogeräte sind in zwei wesentliche Bereiche unterteilt: Der Audiochip selbst ist ein Bereich und die "dahinter" arbeitenden Steuerungen für den HDMI-Chip, den D/A-Konverter der AV-Multi Schnittstelle, den optische digitale Ausgang (IEC60958/SPDIF) und des Taktgebers für 44.1KHz/48KHz Audiosignale, sind der andere Bereich. Der Audiochip kann durch das "Gastbetriebssystem" durch gewöhnlichen Registerzugang kontrolliert werden, allerdings erfolgt auch dieser Zugang über Hypervisor-Aufrufe und erfordert danach einen ioremap (E/A-Neubelegung). Der Audiochip hat eine einfache Struktur, er liest über DMA PCM Informationen in den Speicher und gibt diese in spezifizierter Taktung und Format aus. Im Chip sind keine besonderen Geräte enthalten um komprimierte Audiodaten wie MP3 zu dekomprimieren. Im Gegensatz zum AC97 Chip ist keine Lautstärkensteuerung enthalten. Um die Laustärke zu ändern müssen die PCM-Daten selbst verändert werden. Der komplette Bereich der rückwärtigen Kontroll-Chips wird durch den "AV Einstellungstreiber" gesteuert, dieser regelt Frequenz und Datenformat zwischen beiden Bereichen. Der "AV Einstellungstreiber" liegt hinter Hypervisor. Virtuelles UART ist für die Kommunikation erforderlich. Der Linux Treiber ist für ALSA zusammengefügt worden, nicht für OSS.
Video (Modulname: ps3fb)
Die GPU ist mit der HDMI- und der AV-Multi-Schnittstelle verbunden. Obwohl die GPU direkt mit der CBE verbunden ist, ist es anderen Betriebssystemen zur Zeit nicht erlaubt direkt darauf zuzugreifen. Video-Modus und -Format werden vom "AV Einstellungstreiber" vorgenommen. Der PS3 Linux fb (Bildspeicher) Treiber ruft den "AV Einstellungstreiber" auf, um den Video_Modus zu ändern. Zur Zeit nutzt X virtuelle Bildspeicher um eine Ausgabe auf der Anzeige zu erzeugen. Beschleunigung durch den Nvidia RSX wird unter Linux bisher offiziell nicht unterstützt und ist zu diesem Zeitpunkt von SONY nicht erwünscht. An einer Unterstützung wird von andere Seite gearbeitet: http://wiki.ps2dev.org/ps3:rsx. Erste Programme zur Aktivierung der 3D-Unterstützung finden sich hier: http://ps3rsx.googlecode.com/svn/trunk/, dafür wird folgende Kern-Anpassung benötigt: http://mandos.homelinux.org/~glaurung/ps3/20071025/ps3fb.diff
Giga Bit Ethernet(GbE) (Modulname: ps3_gelic)
Das integrierte Netzwerkkarte ist im Gegensatz zu den meisten Netzwerkkarten kein PCI-Gerät. Es ist an einen Spezial-Chip angeschlossen. Somit ist für den Zugriff wieder Hypervisor zu nutzen. Die Steuerung hat eine ausgelagerte DMA-Steuerung, dadurch findet der Datentransfer ohne Unterbrechnung des PPE statt. Für die Einstellung von DMAC existiert ein Hypervisor-Aufruf. Das VLAN-Gefüge wird intern für die integrierte Steuerung genutzt. PROMISC Netzwerkmodus wird von der Stuerung nicht unterstützt.
Funknetzwerkkarte
Einige PS3 Modelle haben eine Funknetzwerkkarte die die 802.11b/g Standards unterstützen. Ver- und Entschlüsselung von WEP, TKIP und CCMP(AES) wird von der Karte unterstützt, somit ist die Verbindung zu WPA und WPA2 Zugangspunkten möglich, allerdings werden die Betriebszustände ad-hoc und monitor nicht unterstützt.
USB
Spielsteuerkonsolen
Speicherkarten
Bluetooth
Echtzeituhr
Einen Kern aus Quelltext erstellen
Der Kern kann wie folgt zu einem lauffähigen Abbild konvertiert werden:
Betrifft: 2.6.25.4
Dekompression des Quelltextarchivs:
$ tar jxf linux-2.6.25.4-YYYYMMDD.tar.bz2
$ cd linux-2.6.25.4-YYYYMMDD $ make ps3_defconfig
Einstellungen des Kerns sind in der Datei .config vornehmbar. Der Konvertionsvorgang wird durch
$ make
begonnen. Das startbare Abbild heißt vmlinux.
Der gelieferte PS3-Kern und Hauptentwicklungsaktivitäten
Die Arbeiten am Kern, PS3 betreffende Dinge zu verbessern, laufen. Ein Ziel ist es, den Vanilla-Kern mit voller Unterstützung für die PS3 auszustatten. Seit Ausgabe linux-2.6.16 PS3 kann der Kern in Distributionen genutzt werden. Vorrangig sind die Strukturierung des Quelltextes und die Anpassung von empfindlichen Teiles des Kerns an die bestehende Struktur des Vanilla-Kerns. Ein besonderes Augenmerk ist auf die Gerätetreiber und den Leistungsmonitor gelegt. Die Arbeiten am PS3-Teil des Kerns finden öffentlich statt, der Quelltext ist auf www.kernel.org verfügbar.
Hypervisor
Hypervisor kurz HV ist anscheinend ein Sicherheitssystem im Ring 0 von Sony und IBM das den Supervisor-Modus beschränkt. Damit wird der Zugriff auf bestimmte Teile des Geräts verhindert.
Nach 3 Jahren, 2 Monaten und 11 Tagen wurde Hypervisor ausgehebelt: http://geohotps3.blogspot.com/2010/01/heres-your-silver-platter.html
Der Exploit ist ein Kern-Modul in Verbindung mit einem Taster an der Hauptplatine der das System (Speicher-BUS) stört, in einen inkonsistenten Zustand versetzt (Timing attack).
Die massiven Zeitverschiebungen zwingen das Programm zu Fehlern welche durch hauptsächlich 2 Systemaufrufe (Speicher) vorbereitet wurden.
Siehe: http://pastie.org/795944
Ab diesem Zeitpunkt werden massive Änderungen möglich sein. Z.B. ein Grafiktreiber der den vollen Leistungsumfang des Geräts nutzen kann.
Weitere Informationen
Quellen
- https://fedoraproject.org/wiki/PlayStation
- http://www.kernel.org/pub/linux/kernel/people/geoff/cell/ps3-howto/
- http://www.kernel.org/pub/linux/kernel/people/geoff/cell/README
- http://en.gentoo-wiki.com/wiki/Sony_Playstation_3
- http://overlays.gentoo.org/proj/cell/wiki/InstallGentooOnPS3
- http://www.fedoraforum.de/viewtopic.php?t=13594&sid=78649bce0f43c041cd5d68ee8c1af5fe
- http://ozlabs.org/~jk/projects/petitboot/
- http://www.scei.co.jp/corporate/data/bizdataps3_sale_e.html
- http://en.wikipedia.org/wiki/Linux_for_PlayStation_3
- http://de.wikipedia.org/wiki/Playstation_3
- http://en.wikipedia.org/wiki/Ps3
- http://de.wikipedia.org/wiki/Hypervisor
- http://wiki.ps2dev.org/
