Hallo,
dann teile ich euch also mal meine (Zwischen-)Ergebnisse mit! Denn dieses HowTo ist noch nicht vollständig! Es ist eben nur soweit geschrieben, wie ich selbst bin. Wie immer: Ich übernehme keine Garantie, dass euer VDR einwandfrei nach der Einrichtung wie hier beschrieben funktionieren wird, noch für eventuelle Schäden an eurer Hardware. Natürlich bemühe ich mich aber für eine möglichst übertragbare Anleitung auch auf eure PS3.
Das (Zwischen-)Ergebnis:
... ist vielversprechend, aber noch nicht vom-Hocker-hauend ;):
VDR läuft! Man kann mit der Tastatur problemlos durchs OSD navigieren. Allerdings werden manche Farben des OSDs (!) nicht korrekt angezeigt. Das Still-Image NO SIGNAL wird unverfälscht angezeigt! Das heißt, denke ich, dass auch Video unverfälscht angezeigt wird (zumindest werden keine Farben vertauscht!). Denn der eigentliche blaue Button im OSD ist grün! Und das graue Testbild ist nicht schwarz (grau)-weiß, sondern hellgelb-weiß! Aber ansonsten ist blau blau und gelb gelb. Das OSD flackert ab und an, wenn man dadurch navigiert, aber es beeinträchtigt nicht das Lesen des OSDs, denn tut man nichts, flackert auch nichts! Förderung von Epilepsie aber nicht ausgeschlossen!
Nun wird sich manch Pessimist fragen, warum ich dann schon so optimistisch bin: Ganz einfach:
1.: Hatte ich immer nur gehört "Das kann nicht gehen, fehlende Grafikbeschleunigung". Stimmt ja auch, allerdings nutzt der in dieser Anleitung verwendete Treiber die SPUs für die Beschleunigung anstatt des Grafikchips (was ja bekanntlich nicht geht).
2.: In Verbindung mit MythTV soll das schon ganz gut klappen! Sprich: MythTV läuft auf der PS3 mit demselben Treiber, warum sollte es dann VDR nicht auch tun?
Ich hatte bislang noch keine Zeit gefunden, den VDR Streamdev-Server aufzusetzen, aber meines Wissens nach, ist hier nichts Besonderes zu beachten. Für den Streamdev-Server ist es letztendlich egal, zu was für einem VDR-Streamdev-Client er sein Signal streamt. Deswegen bezieht sich dieses HowTo nur auf den Client-Teil, sprich die Installation auf der PS3. Beachtet somit auch bitte, dass es nicht getestet ist, ob das Signal korrekt angezeigt wird (siehe oben). Sollte jemand schneller Neuigkeiten oder auch Fragen haben, einfach hier posten! In diesem Thread dürfen gerne auch die Erfahrungen anderer PS3- und VDR'ler gesammelt werden.
So genug vom Vorgeplänkel, jetzt gehts los! (Fortgeschrittene bitte nicht aufregen, das HowTo ist - zumindest versuchte ich das - anfängerfreundlich geschrieben! Und bis zur xorg.conf ist es darüber hinaus auch ziemlich simpel!)
Inhalt dieses HowTos:
0. Vorbereitung: Herunterladen der ISO-Images und brennen eben dieser auf CD
1. Interne PS3-Festplatte einteilen und den OtherOS-Bootloader installieren
2. Debian lenny auf der PS3 installieren, ps3-utils und kboot einrichten
3. SPU-beschleunigter Xv-Treiber mit fertigen Debianpaketen installieren und einrichten
4. VDR mit xineliboutput installieren und einrichten
Benötigt werden:
1 PS3 mit 10 GB freiem Festplattenspeicher (oder bereits angelegtem 2. Festplattenbereich)
1 PC (OS egal)
2 CD-Rohlinge (und die Möglichkeit diese zu beschreiben ;))
1 USB-Stick oder USB-Festplatte
1 USB-Tastatur
Internetverbindung am PC (zwingend) und auch an der PS3 (oder Kenntnisse einen NFS- oder Samba-Client in Eigenarbeit (kein Teil dieses HowTos) zu installieren)
0. Bevor ihr euch an eure PS3 setzt, verweilt noch kurz am PC und ladet euch folgende ISO-Images herunter:
a) Debian lenny Netinst-Image (powerpc) (Link aktualisiert; Installation mit squeeze nicht möglich!) und
b) PS3 Linux Distributor's Starter Kit (PS3 LDSK) ISO-Image
und brennt diese auf eure Rohlinge. (Ihr könnt natürlich auch mit Schritt 1 fortsetzen, wenn ihr eine langsame Verbindung habt!)
1a) Nun geht es an die PS3:
Zu Allererst empfiehlt sich ein Komplettbackup eures PS3-Systems auf eine USB-Festplatte (oder bei geringen Datenmengen auch -Stick), wenn ihr eure Spielstände, Audio/Video- und Bild-Dateien, Designs etc. nicht verlieren wollt, unabhängig ob dies im nächsten Schritt sogar erforderlich wird! Schaut ggf. hier nach, falls ihr nicht wisst, wie ihr das Backup durchführen könnt. Dort steht auch, was gesichert werden kann und was nicht.
1b) Nun muss eine zweiter Festplattenbereich für euer Linux-System erstellt werden (dabei wird immer die gesamte Festplatte neu formatiert und alle Daten gehen verloren!). Wer so clever war und dies beim ersten Formatieren der Festplatte nach Kauf seiner PS3 schon berücksichtigt hat, springt zu 1c.
Für PS3-Besitzer, die schon eine andere Linux-Distri außer Debian lenny auf dem Bereich installiert haben, können den Inhalt mit Hilfe der bootfähigen Debian-CD löschen, um nicht neu formatieren zu müssen. Ihr solltet dann in üblicher Manier am kboot-Prompt in der Lage sein, euer bestehendes System von Hand zu mounten und mittels rm -rf * leerzufegen, sofern diese Utilities auf eurem bestehenden System installiert sind. Ggf. lassen sich Teile des HowTos auch auf andere Distris übertragen, wenn ihr euer Nicht-Debian-System behalten wollt. In diesem Fall gehts dann direkt zu Schritt 3. Erwartet aber von mir keine allzu große Hilfe bei Nicht-Debian-Systemen!
Das eigentliche Prozedere zum Anlegen des 2. Festplattenbereichs: Geht im XMB auf System-Einstellungen -> Formatierungs-Dienstprogramm -> Festplatte formatieren -> (Wirklich?) - "Ja" -> Benuzerdefiniert -> Weisen Sie 10 GB dem anderen System zu -> Schnellformatierung -> (Wirklich?) - "Ja". Natürlich kann man hier auch 10 GB für das PS3-System auswählen, nur macht dies im Rahmen eines Streaming-Clients (also dieses HowTos) wenig Sinn. Mehr als 10 GB wird nämlich gar nicht benötigt! Genauso gut ist es euch überlassen, ob ihr die vollständige Formatierung wählt. Dies kann aber einige Zeit mehr in Anspruch nehmen! Je nachdem gibts einen kurzen Snack oder ein 3-Gänge-Menü!
1c) Nun muss der OtherOS-Bootloader installiert werden. Kopiert dazu den Unterordner PS3 mit Hilfe eures PCs von der gebrannten LDSK-CD auf euren USB-Stick (Ordnerstruktur beibehalten!). Diesen schließt ihr an eure PS3 an und wählt Folgendes aus: System-Einstellungen -> Anderes System installieren. Eure PS3 scannt dann nach Medien, auf der der Bootloader enthalten sein könnte. Ihr könntet genauso gut, meines Wissens nach, an dieser Stelle eine SD-/CF-/MS-Karte für diesen Vorgang benutzen. Die kopierten Dateien, also somit der Bootloader, sollte nun erkannt werden und wiederum auf eure PS3 kopiert werden.
2.) Nun gehts so langsam zum schon etwas spannenderen Teil. Kopiert den Kernel (/boot/vmlinux) von der LDSK-CD auf eueren USB-Stick (Den könnt ihr auf diesem hinkopieren wo ihr wollt, nur merken!). Schließt diesen an die PS3 an und legt auch die Debian-CD ein. Ihr seit nun bereit in die PS3-Linux-Welt einzutauchen. Wählt im XMB System-Einstellungen -> Standardsystem -> Anderes System -> "Ja". Bald darauf seit ihr beim Prompt von kboot, dem Bootloader, den die PS3 zum Starten eures Linux-Systems nutzt. Da ihr eine bootfähige CD eingelegt habt, wird diese als Wurzeldateisystem (!) eingebunden. Der Befehl in Form von:
sollte den Installer starten, wobei der Kernel vom USB-Stick (also gemerkten Pfad verwenden) und die Initrd von der CD geladen wird. Ein
kann euch dabei helfen, auch tatsächlich das richtige Device (den USB-Stick) anzusprechen.
Wenn ihr nun hoffentlich im Installer seid, installiert ihr euer Debian-System (fast) wie sonst auch. Allerdings wird sich der Installer nicht sehr über fehlende Kernelunterstützung und den fehlenden Bootloader freuen, aber das sollte euch nicht stören. Fragen a la "Continue anyway?" immer mit "Yes" beantworten. Wenn ihr zum Punkt Partitionierung kommt, hatte ich ein weiteres kleines Problem: Ich wollte den erstellten Bereich nochmal manuell in Partitionen aufteilen (deswegen sprach ich bislang auch immer von dem "Bereich"). Das scheiterte jedes Mal beim Erstellen einer Partitionstabelle... Wenn man aber die geführte Installation nimmt und das ganze Laufwerk wählt, funktioniert es. Debian legt dann eine ca. 500 MB-Swap-Partition an und der Rest für das Wurzeldateisystem. Da die PS3 eh nur 10 GB Platz anbietet, finde ich, kann man damit auch ganz gut leben. Irgendwann hat man es dann doch trotz zahlreicher Fehlermeldungen des Installers geschafft und man sollte, wie sonst auch, die CD wieder entnehmen, um von der Festplatte starten zu können. Der USB-Stick bleibt aber eingestöpselt!
Nun wird in euer Debian-System gebootet. Wohl gemerkt immer noch mit dem Kernel auf dem USB-Stick. Die Devicebezeichnung kann sich nun geändert haben! Findet sie also erneut (siehe oben) mit cat heraus.
Der Befehl in Form von:
befördert euch in euer frisch installiertes System. Wenn alles klappt, loggt ihr euch als root an. (Tipp: Nun seit ihr an dem Punkt, an dem ihr entscheiden könnt, ob ihr nicht über SSH weitermacht. Eine SSH-Server-Installation ist nun möglich.) Als nächstes zieht ihr erstmal den fehlenden Kernel auf euer System. (Ihr könnt euch natürlich auch einen Kernel selbst kompilieren. Das Aufsetzen einer Cross-Compiling-Umgebung werde ich aber nicht auch noch beschreiben. Ich habe es auch so gemacht, erstmal diesen Kernel zu nehmen und später einen angepassten Kernel auf der PS3 zu kompilieren. Siehe dazu auch weiter unten!). Der vorgefertigte Kernel liegt als RPM-Paket auf der LDSK-CD vor. Ihr legt sie also ein und macht Folgendes:
mount /media/cdrom0
apt-get install rpm cpio
cd /
rpm2cpio /media/cdrom0/target/kernel-* | cpio -iv
depmod -av
Damit wird das RPM-Paket entpackt und die Abhängigkeiten für die Kernel-Module generiert. Nun muss dem Bootloader aber noch mitgeteilt werden, dass er diesen Kernel zu verwenden hat. Ihr erstellt dafür die Datei /etc/kboot.conf mit folgendem Inhalt:
default=linux
timeout=5
# Timeout in Sekunden
linux='/boot/vmlinux-2.6.25.4 root=/dev/ps3da1 video=ps3fb:mode:131'
Die Struktur dieser Datei ähnelt also den von anderen bekannten Bootloadern, ist aber bei weitem nicht immer identisch! Die video-Option sorgt dafür, dass 720p als Auflösung verwendet wird, und zwar im ränderfreien Vollbildmodus. Dieser ist später für VDR sinnvoll, wollt ihr aber nicht, dass auf der Konsole etwas abgeschnitten wird, solltet ihr den Wert 3 statt 131 eintragen. Wenn ihr eine andere Auflösung verwenden wollt, schaut mal hier nach der passenden ID.
Nun könntet ihr bereits in euer System booten, allerdings fehlen für den oben erwähnten Vollbildmodus noch die ps3-utils. Diese könnt ihr entweder über ein apt-Repository (das wir später für den Xv-Treiber eh nochmal brauchen werden) installieren, von der LDSK-CD (Unterverzeichnis target) als RPM-Paket entnehmen und umwandeln oder selbst kompilieren (http://www.kernel.org/pub/linu…ple/geoff/cell/ps3-utils/). Da es der bequemste Weg ist und nichts dagegen spricht (die Pakete sind genauso experimentell wie die Sourcen...), beschreibe ich hier die Installation über apt. Die Zeile für die sources.list lautet:
Ein
würde genügen. Wollt ihr aber den passenden öffentlichen Schüssel noch vorher installieren, schaut mal hier vorbei. Dort findet ihr ihn. Wenn ihr doch lieber die Quellen nehmen wollt, installiert ihr diese in üblicher configure-make-make install-Manier. U.u. könnt ihr aber Probleme mit den Sourcen bekommen (siehe cyrils Beitrag weiter unten).
So, nun seit ihr endlich bereit, euer Debian-System zu booten. Ich drück euch die Daumen!
3.) So, nun gehts ans Eingemachte. Der SPU-beschleunigte Grafiktreiber ist an der Reihe. Diesen könnt ihr scheinbar gefahrlos (oder kommt das Farbproblem wie oben beschrieben womöglich hiervon, da es eigentlich ein Paket für sid ist??) über schon bereits oben erwähntes apt-Repository installieren. Ihr fügt es also, sofern nicht schon geschehen nun hinzu, mitsamt dem zugehörigen öffentlichen Schlüssel (siehe ebenfalls vorheriger Abschnitt).
Nun führt
aus (und geht je nach Verbindung einen Kaffee oder Tee trinken).
Nun wirds endlich mal ein wenig herausfordernd ;), denn meine Konfiguration ist - wie beschrieben - auch noch lange nicht perfekt. Um den richtigen Treiber auch zu laden, legt man dies in der /etc/X11/xorg.conf fest. Meine aus verschiedenen Konfigurationen, die man im Netz so findet, zusammengestückelte, sieht wie folgt aus:
Section "Files"
FontPath "/usr/share/X11/fonts/misc"
# FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
FontPath "/usr/share/fonts/X11/misc"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
# Load "bitmap"
# Load "ddc"
# Load "dri"
Load "extmod"
Load "freetype"
# Load "glx"
# Load "int10"
# Load "type1"
# Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
Option "XkbOptions" "lv3:lwin_switch"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
EndSection
Section "Device"
Identifier "Generic Video Card"
Driver "spufbdev"
Option "ShadowFB" "false"
# Option "UseFBDev" "true"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
Option "IgnoreEDID"
HorizSync 30-90
VertRefresh 20-150
ModeLine "720p" 73.825 1280 1320 1368 1640 720 722 724 751 +hsync +vsync
DisplaySize 320 180
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 24
DefaultFbBpp 32
SubSection "Display"
Viewport 0 0
Depth 24
FbBpp 32
Modes "1024x720" "1124x644"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x720" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "576x384" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail"
EndSection
Section "DRI"
Mode 0666
EndSection
Alles anzeigen
Wie gesagt: Zusammengestückelt! Eventuell ist nämlich einiges sogar überflüssig... Jedenfalls wird der richtige Treiber geladen, wir können 720p verwenden und der X-Server beschwert sich nicht, wenn weder Maus noch Tastatur angeschlossen sind.
Für den Treiber ist auch das spufs-Dateisystem erforderlich:
In /etc/fstab hinzufügen:
4.) So, xineliboutput, streamdev und natürlich mitsamt unserem Ziel, dem VDR naht:
aptitude update
aptitude install vdr vdr-plugin-xineliboutput vdr-plugin-streamdev-client xineliboutput-sxfe libxine1-xvdr alsa-base alsa-utils
Nun solltet ihr noch ein paar Konfigurationsdateien anpassen.
/etc/vdr/plugins/plugin.xineliboutput.conf:
Erläuterungen: Da wir uns später mit dem Client am Server anmelden, brauchen wir kein lokales Frontend. Das Primary-Frontend wird für die Ausgabe verwendet, dementsprechend muss dies Xineliboutput sein. Wir verbinden uns an localhost und benutzen Alsa zur Soundausgabe. "--fullscreen" ist selbsterklärend - es werden keine schwarzen Ränder zu sehen sein (sofern euer ps3videomode auch im Vollbildschirmmodus konfiguriert ist!).
/var/lib/vdr/setup.conf (Auszug, relevantes für die Videoausgabe und das OSD):
OSDHeight = 495
OSDLanguage = de_DE
OSDLeft = 60
OSDSkin = sttng
OSDTheme = default
OSDTop = 35
OSDWidth = 600
UseSmallFont = 2
VideoDisplayFormat = 1
VideoFormat = 1
xineliboutput.OSD.AlphaCorrection = 0
xineliboutput.OSD.AlphaCorrectionAbs = 0
xineliboutput.OSD.Blending = 0
xineliboutput.OSD.BlendingLowRes = 0
xineliboutput.OSD.HideMainMenu = 0
xineliboutput.OSD.Scaling = 0
xineliboutput.Remote.AllowHttp = 0
xineliboutput.Remote.AllowRtsp = 0
xineliboutput.Remote.Keyboard = 1
xineliboutput.Remote.ListenPort = 37890
xineliboutput.Remote.LocalIP = 127.0.0.1
xineliboutput.Remote.UseBroadcast = 0
xineliboutput.Remote.UseHttp = 1
xineliboutput.Remote.UsePipe = 0
xineliboutput.Remote.UseRtp = 0
xineliboutput.Remote.UseTcp = 1
xineliboutput.Remote.UseUdp = 1
xineliboutput.RemoteMode = 1
xineliboutput.Video.AspectRatio = 3
xineliboutput.Video.Deinterlace = tvtime
xineliboutput.Video.DeinterlaceOptions = method=Linear,cheap_mode=1,pulldown=none,framerate_mode=full,judder_correction=1,use_progressive_frame_flag=1,chroma_filter=0,enabled=1
xineliboutput.Video.Overscan = 0
xineliboutput.Video.SwScale = 0
Alles anzeigen
/var/lib/vdr/remote.conf:
XKeySym.Up Up
XKeySym.Down Down
XKeySym.Menu m
XKeySym.Ok Return
XKeySym.Back BackSpace
XKeySym.Left Left
XKeySym.Right Right
XKeySym.Red F1
XKeySym.Green F2
XKeySym.Yellow F3
XKeySym.Blue F4
XKeySym.0 0
XKeySym.1 1
XKeySym.2 2
XKeySym.3 3
XKeySym.4 4
XKeySym.5 5
XKeySym.6 6
XKeySym.7 7
XKeySym.8 8
XKeySym.9 9
XKeySym.Info i
XKeySym.Pause space
XKeySym.FastFwd F6
XKeySym.FastRew F5
XKeySym.Power p
XKeySym.Volume+ F12
XKeySym.Volume- F11
XKeySym.Mute F10
XKeySym.User7 F7
XKeySym.User8 F8
XKeySym.User9 F9
Alles anzeigen
/etc/X11/xinit/xserverrc:
#!/bin/sh
# $Id: xserverrc 189 2005-06-11 00:04:27Z branden $
# exec /usr/bin/X11/X -nolisten tcp
exec /usr/bin/X11/X
ALSA-Installatation:
/etc/modprobe.d/aliases (Auszug):
alias char-major-14 soundcore
alias char-major-116 snd
alias snd-card-0 snd-ps3
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-midi
/etc/modprobe.d/alsa-base.conf (Auszug):
Die Lautstäre sollte noch mit alsamixer z.B. angepasst werden.
So, Zeit für den Start :]:
Ändert den Eintrag in /etc/default/vdr auf ENABLED=1.
/etc/init.d/vdr start
xinit -e vdr-sxfe --video=xv --aspect=16:9 --fullscreen --width=1280 --height=720 --post=tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 xvdr+tcp://127.0.0.1
Nun solltet ihr um einen Streaming-Client reicher sein ;). Zumindest rudimentär erstmal. Noch kurz die versprochene
Kernel-Kompilierung (auf der PS3) (obsolet, Vanilla-Kernel nutzbar!)
Aktuell ist derzeit 2.6.29. Aus irgendwelchen Gründen schlägt "make install" bei mir fehl, dies ist hier berücksichtigt.
cd /usr/src
apt-get install gcc flex bison make libncurses5-dev git-core
git clone git://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git ps3-linux
git clone git://jdl.com/software/dtc.git dtc
cd dtc
make
cp dtc /usr/local/bin
cd ../ps3-linux
make ps3_defconfig
make menuconfig
make
make modules_install
mv vmlinux vmlinux-2.6.29
mv System.map System.map-2.6.29
cp vmlinux-2.6.29 /boot/
cp System.map-2.6.29 /boot/
cp .config /boot/config-2.6.29
Alles anzeigen
Bitte helft mir noch das Farbproblem zu beheben und gibt Feedback, ob es geklappt hat und auch was ich beim nächsten HowTo besser machen könnte, da dies mein erstes VDR-HowTo ist. Sicherheitstechnisch ist dieses HowTo sicherlich auch unterste Schiene, es ist eben erst quick&dirty.
ToDo:
- OSD korrekt anzeigen lassen (überhaupt möglich?), dazu passenden Textausschnitt aus c't 11/07, S. 202: "Je nach Rechenleistung ruckelt das Bild womöglich und die Menüs sind grün verfärbt und nicht durchsichtig, wenn nur der vesa-Treiber aktiv ist." - Also ein Treiberproblem?
- ALSA-Konfiguration beschreiben
- Streamdev-Client-Konfiguration beschreiben
- VDR-Ausgabe automatisch starten lassen
- Fehlermeldungen ausmerzen
Zum Schluss noch einige nützliche Links, die auch den wesentlichen Teil meiner Quellen ausmachten und mir als Ausgangspunkte zur weiterführenden Recherche dienten:
PS3 Debian Install HowTo
(experimental) ps3 packages for debian
Building an updated kernel for the PS3
How-to: Smooth playback with mythtv (or any other video app)
Platform Specific Utilities
Viele Grüße und viel Erfolg!
George
EDIT: setup.conf geringfügig angepasst, ToDo-Abschnitt hinzugefügt
EDIT2 (04.04.09): Fehler, den cyril bzgl der Kernel-Installation ansprach, korrigiert
EDIT3 ("): ps3-utils-Abschnitt angepasst, von den Sourcen wird nun abgeraten; Dank an cyril
EDIT 4 (09.04.09): erneut ps3-utils-Abschnitt angepasst
EDIT 5 (23.05.09): Debian-ISO-Image-URL aktualisiert; /etc/kboot.conf korrigiert
UPDATE (23.05.2009): Weder der Kernel von der LDSK-CD als auch ein aktueller Vanilla-Kernel haben das ps3vram-Kernelmodul aktiviert. Dieses nutzt den Video-RAM z.B. als Swap-Space. Eventuell ist hiermit ein Performance-Gewinn zu erzielen. Ein aktueller Vanilla-Kernel (2.6.29.4) enthält zwar (fast) alles Notwendige, jedoch ist das Modul nicht in der Kernel-Konfiguration anwählbar. In der Zwischenzeit ist außerdem ein neuerer PS3VRAM-Treiber erschienen. Die Patches findet man unter http://git.kernel.org/?p=linux…3026b06dc3664279cfbf70155 (Patch 1) und http://git.kernel.org/?p=linux…73d4ed5f48d95af211b6fcc06 (Patch 2). Die Reihenfolge sollte beibehalten werden. Es sind bei beiden Patches nur de Anpassungen in drivers/mtd/devices für einen aktuellen Vanilla-Kernel erforderlich! Die Datei drivers/block/ps3vram.c ist der 'alte' Treiber, der auch von der Makefile im selben Verzeichnis aufgerufen wird, nicht aber durch die dazugehörige Kconfig. Ich bastel das grade zusammen und melde mich dann nochmal, ggf. auch mit einem .deb-Sourcen-Paket. (Kernel reiche ich nach, muckt noch ein bisschen beim Umschalten des videomodes beim Booten.)
ps3vram mit geeignetem Kernel als Swap-Device nutzen:
/etc/init.d/bootmisc.sh (Auszug):
do_start () {
#
# If login delaying is enabled then create the flag file
# which prevents logins before startup is complete
#
case "$DELAYLOGIN" in
Y*|y*)
echo "System bootup in progress - please wait" > /var/lib/initscripts/nologin
;;
esac
mkswap /dev/mtdblock0
swapon -p 1 /dev/mtdblock0
# Create /var/run/utmp so we can login.
: > /var/run/utmp
if grep -q ^utmp: /etc/group
then
chmod 664 /var/run/utmp
chgrp utmp /var/run/utmp
fi
# Set pseudo-terminal access permissions.
if [ ! -e /dev/.devfsd ] && [ -c /dev/ttyp0 ]
then
chmod -f 666 /dev/tty[p-za-e][0-9a-f]
chown -f root:tty /dev/tty[p-za-e][0-9a-f]
fi
# Update motd
uname -snrvm > /var/run/motd
[ -f /etc/motd.tail ] && cat /etc/motd.tail >> /var/run/motd
# Save kernel messages in /var/log/dmesg
if which dmesg >/dev/null 2>&1
then
savelog -q -p -c 5 /var/log/dmesg
dmesg -s 524288 > /var/log/dmesg
chgrp adm /var/log/dmesg || :
elif [ -c /dev/klog ]
then
savelog -q -p -c 5 /var/log/dmesg
dd if=/dev/klog of=/var/log/dmesg &
sleep 1
kill $!
[ -f /var/log/dmesg ] && { chgrp adm /var/log/dmesg || : ; }
fi
#
# Save udev log in /var/log/udev
#
if [ -e /dev/.udev.log ]
then
mv -f /dev/.udev.log /var/log/udev
fi
# Remove bootclean's flag files.
# Don't run bootclean again after this!
rm -f /tmp/.clean /var/run/.clean /var/lock/.clean
}
Alles anzeigen
UPDATE 2: Mit vdr-fbfe funktioniert es nun, auch mit Ton! Allerdings ist die Bildqualität noch etwas bescheiden und vdr-fbfe frisst 130% (?) CPU laut top.
Vdr-fbfe starte ich momentan folgendermaßen:
/usr/bin/start_vdr-output.sh: