Fachbereich
Automatisierung und Informatik
Wernigerode
Installation der PS3
Stand Mai 2010
Dipl. Inf., Dipl.-Ing. (FH) Michael Wilhelm Friedrichstraße 57 - 59
38855 Wernigerode
Raum: 2.202
Tel.: 03943/659-338 Fax: 03943/659-399
Email: mwilhelm@hs-harz.de
Web: http://mwilhelm.hs-harz.de/download/ps3
Inhaltsverzeichnis
1 Installation von Yellow Dog auf einer Playstation 3 ... 6
1.1 Überblick 6
1.2 Linux Installation auf der PS/3 6
1.3 Wechsel von PS3 nach Linux 7
1.3.1 Auswahl System-Einstellungen 7
1.3.2 Eintrag: "Formatierungs-Dienstprogramm 7
1.3.3 Festplatte formatieren 8
1.3.4 Formatierungsvorgang starten 8
1.3.5 Partitionieren 9
1.3.6 10 GB dem PS3-System 9
1.3.7 Schnellformatierung 10
1.3.8 Starten der Formatierung 10
1.3.9 Ende der Formatierung 11
1.4 Wechsel von PS3 nach Yellow-Dog-Linux 11
1.4.1 Neustart: Aufruf System-Einstellungen 11
1.4.2 Auswahl Standardsystem 12
1.4.3 Bootreihenfolge 12
1.4.4 PS3-System verlassen 13
2 Linux Installation auf der PS/3 ... 14
2.1 Reihenfolge der Linux Installation auf der PS/3: 14
2.2 Ablauf 14
2.2.1 System bootet mit YDL 14
2.2.2 Auswahl der Bildschirmauflösung 15
2.2.3 Überprüfen der DVD 15
2.2.4 Starten der Installation 16
2.2.5 Tastatur Deutsch 16
2.2.6 Tastatur: Deutsch 17
2.2.7 Partitionstabelle anlegen 17
2.2.8 Partitionstabelle anlegen 18
2.2.9 Sicherheitsabfrage 18
2.2.10 Auslagerungsdatei anlegen 19
2.2.11 Netzwerkanschluss 19
2.2.12 Auswahl der Zeitzone 20
2.2.13 Root-Passwort vergeben 20
2.2.14 Angepasste Softwareinstallation 21
2.2.15 Beispiel Desktop 22
2.2.16 Beispiel Softwareentwicklung 22
2.3 Softwareinstallation 22
2.3.1 Ablauf der Softwareinstallation 23
2.3.2 Starten der Installation der Pakete 23
2.3.3 Dateisystem formatieren 24
2.3.4 Formatieren beenden 24
2.3.5 Kopieren vorbereiten 25
2.3.6 Kopieren der Pakete 25
3 Starten des Linux-Systems, YDL Einträge ... 27
3.1.1 Starten des Linux-System 27
3.1.2 Lizenzvereinbarung 27
3.1.3 Firewall-Einstellungen 28
3.1.4 Dump-System (Für Abstürze eines Programms) 28
3.1.5 Datum und Uhrzeit 29
3.1.6 Username und Passwort 29
3.1.7 Soundkarte 30
4 Starten des Linux-System ... 31 5 Installieren der IBM-Software ... 32 6 Unix-Befehle... 33
6.1 Konsolen-Befehle 33
6.2 Weitere Befehle: 34
6.3 Komprimierung 34
6.4 Anbinden eines USB-Sticks 35
6.5 Der Text-Editor vi / vim 35
6.5.1 Aufrufen des Editors: 36
6.5.2 Text bearbeiten 37
6.5.3 Kursorposition ändern 37
6.5.4 Korrekturen im Einfügemodus 37
6.5.5 Suchen 38
6.5.6 Ersetzen eines Zeichens 38
6.5.7 Sprung 38
6.5.8 Löschen von Zeichen 38
6.5.9 Zwischenspeicher 39
6.5.10 Datei-Operationen 39
6.5.11 Beenden 39
6.5.12 Besonderheiten 40
Automatisches Einrücken 40
6.5.13 Parameter des vi-Editors 40
6.5.14 Zusammenfassung der vi-Befehle 41
7 Programmieren... 42
7.1 Programmoptionen des gcc 42
7.1.1 Erste Beispielprogramm 42
7.2 Threads / Mutex 43
7.2.1 Funktion: pthread_create 43
7.3 Mutex 44
7.4 Zeitmessung 44
7.5 Debugger 44
7.5.1 Beispiel: 45
7.6 Vectorfelder SIMD 45
7.7 Spu-Funktionen 46
8 Indexverzeichnis ... 48
Abbildungsverzeichnis
Abbildung 1PS3 Einstellungen 7
Abbildung 2Formatierung 7
Abbildung 3Festplatte Formatierung 8
Abbildung 4Formatierung starten 8
Abbildung 5Aufteilen der Bereiche 9
Abbildung 610 GB der PS3 9
Abbildung 7Typ der Formatierung 10
Abbildung 8Starten der Formatierung 10
Abbildung 9Ende der Formatierung 11
Abbildung 10 Aufruf der System-Einstellungen 11
Abbildung 11 Standardsystem 12
Abbildung 12 Bootreihenfolge 12
Abbildung 13 Umstellung der Boot-Reihenfolge 13
Abbildung 14 Erstes booten mit YDL 14
Abbildung 15 Auswahl der Bildschirmauflösung 15
Abbildung 16 Prüfen der DVD 15
Abbildung 17 Startbildschirm des YDL 16
Abbildung 18 Tastaturauswahl 16
Abbildung 19 Tastatur 17
Abbildung 20 Partitionstabelle 17
Abbildung 21 Partitionstabelle 18
Abbildung 22 Partitionstabelle 18
Abbildung 23 Auslagerungstabelle 19
Abbildung 24 Netzwerkanschluss 19
Abbildung 25 Zeitzone 20
Abbildung 26 Username und Passwort 20
Abbildung 27 Auswahl der Software 21
Abbildung 28 Auswahl der Software (Desktopumgebungen) 22
Abbildung 29 Auswahl der Software (Softwarentwicklung) 22
Abbildung 30 Softwareinstallation 23
Abbildung 31 Softwareinstallation 23
Abbildung 32 Dateisystem 24
Abbildung 33 Partitionen erstellen 24
Abbildung 34 Kopieren vorbereiten 25
Abbildung 35 Starten des Kopierens der Software 25
Abbildung 36 Konfiguration des Systems 26
Abbildung 37 Bootloader 26
Abbildung 38 Beenden der Installation 26
Abbildung 39 Start von Yellow Dog 27
Abbildung 40 Lizenz 27
Abbildung 41 Firewall 28
Abbildung 42 Kdump 28
Abbildung 43 Datum und Zeit 29
Abbildung 44 Username und Passwort 29
Abbildung 45 Audio 30
Abbildung 46 Erster Start, Eingabe des Usernamens 31
Abbildung 47 Erster Start, Eingabe des Passwort 31
Abbildung 48 Anzeige des Desktops 31
Abbildung 49 PPU-Zusatztools 32
Abbildung 50 SPU-Zusatztools 32
1 Installation von Yellow Dog auf einer Playstation 3
1.1 Überblick
Installation von YDL auf einer PS/3.
Überblick über die einzelnen Schritte:
• DVD-Iso runterladen
• DVD Brennen
• PS/3: Aufteilen der Festplatte, Formatieren
• Umschalten des BS-Modus
• Installation von Yellow Dog Linux
• Kopieren der IBM-Pakete
• Installieren der Pakete (rpm)
• Programmieren der Software
1.2 Linux Installation auf der PS/3
• Festplatte formatieren / partitionieren
• System-Einstellungen
• Eintrag „Formatierungs-Dienstprogramm“
• Festplatte formatieren ESC oder
• Möchten Sie die Festplatte formatieren (Ja/Nein) +
• Eintrag: Benutzerdefiniert (Pfeiltaste ) und
• Eintrag: Weisen 10 GB dem PS3-System zu
• Eintrag: Vollständige Formatierung oder
• Schnellformatierung
• Sicherheitsabfrage (Zeit 2h und 29 Min):
• Abschließen mit
1.3 Wechsel von PS3 nach Linux
1.3.1 Auswahl System-Einstellungen
Abbildung 1 PS3 Einstellungen
Einstellungen: Auswahl des Eintrags "System-Einstellungen"
1.3.2 Eintrag: "Formatierungs-Dienstprogramm
Abbildung 2 Formatierung
System-Einstellungen: Eintrag: "Formatierungs-Dienstprogramm", dann Eingabetaste
1.3.3 Festplatte formatieren
Abbildung 3 Festplatte Formatierung Festplatte formatieren: Eingabetaste
1.3.4 Formatierungsvorgang starten
Abbildung 4 Formatierung starten
Mit Pfeiltasten links/rechts auswählen, dann Eingabetaste oder
Abbruch mit Esc
1.3.5 Partitionieren
Speicherbereich der Disk: Benutzerdefiniert
Abbildung 5 Aufteilen der Bereiche
Speicherbereich der Disk: Benutzerdefiniert
1.3.6 10 GB dem PS3-System
Abbildung 6 10 GB der PS3
Pfeiltasten oben/unten: Weisen Sie 10 GB dem PS3-System zu
1.3.7 Schnellformatierung
Abbildung 7 Typ der Formatierung
Formatierung: Pfeiltasten oben/unten:
• Schnellformatierung
• sonst 3 oder mehr Stunden, dann Eingabetaste
1.3.8 Starten der Formatierung
Abbildung 8 Starten der Formatierung Pfeiltasten link/rechts: Ja, dann Eingabetaste
1.3.9 Ende der Formatierung
Abbildung 9 Ende der Formatierung
Esc oder Eingabetaste drücken: System starten neu
1.4 Wechsel von PS3 nach Yellow-Dog-Linux Nach dem Neustart auswählen:
Suchen über
• Einstellungen
• System-Einstellungen
• Standardsystem (Eintrag: Anderes System)
1.4.1 Neustart: Aufruf System-Einstellungen
Abbildung 10 Aufruf der System-Einstellungen
Nach Neustart: Aufruf System-Einstellungen
1.4.2 Auswahl Standardsystem
Abbildung 11 Standardsystem Auswahl Standardsystem: Eingabetaste
1.4.3 Bootreihenfolge
Abbildung 12 Bootreihenfolge
Bootreihenfolge: Auswahl mit Pfeiltasten oben/unten: Andere System
1.4.4 PS3-System verlassen
Abbildung 13 Umstellung der Boot-Reihenfolge Pfeiltaste links/rechts: Ja und Eingabetaste
2 Linux Installation auf der PS/3
2.1 Reihenfolge der Linux Installation auf der PS/3:
• Die DVD einlegen
• Das System bootet mit YDL:
• Auswahl der Auflösung:
Install_ps3_720p 1366x768 Pixel für 1440x900 bzw. 1650x900 Bildschirme Install_ps3_1080p Full HD Auflösung für 1920x1080 Bildschirme
• Root-Passwort vergeben
• Einstellung der Zeitzone
• Auswahl der Software (Benutzerdefiniert)
2.2 Ablauf
2.2.1 System bootet mit YDL
Abbildung 14 Erstes booten mit YDL
2.2.2 Auswahl der Bildschirmauflösung
Abbildung 15 Auswahl der Bildschirmauflösung
Eintrag kboot:
Auswahl mit Tab-Taste
Auswahl: 1920x1080 Pixel install_ps3_1080p Auswahl: 1440x900 Pixel install_ps3_768p
2.2.3 Überprüfen der DVD
Abbildung 16 Prüfen der DVD Überprüfen der DVD: Empfohlen
2.2.4 Starten der Installation
Abbildung 17 Startbildschirm des YDL
Starten der Installation mit dem Schalter "Weiter"
2.2.5 Tastatur Deutsch
Abbildung 18 Tastaturauswahl Tastatur Deutsch: Eintrag "Germany"
2.2.6 Tastatur: Deutsch
Abbildung 19 Tastatur
Tastatur: Deutsch (latin1 ohne "tote" Akzente")
2.2.7 Partitionstabelle anlegen
Abbildung 20 Partitionstabelle
Abfrage, ob die Partitionstabelle angelegt werden soll
2.2.8 Partitionstabelle anlegen
Abbildung 21 Partitionstabelle Partitionstabelle anlegen
2.2.9 Sicherheitsabfrage
Abbildung 22 Partitionstabelle Löschen aller Daten mit Ja
2.2.10 Auslagerungsdatei anlegen
Abbildung 23 Auslagerungstabelle
Der Hauptspeicher ist mit 250 MB sehr gering. Deshalb wird eine Auslagerungsdatei angelegt.
2.2.11 Netzwerkanschluss
Abbildung 24 Netzwerkanschluss
Netzwerkanschluss mit DHCP oder man vergibt eine feste IP-Adresse (192.168.1.100)
2.2.12 Auswahl der Zeitzone
Abbildung 25 Zeitzone
Auswahl der Zeitzone: Europa/Berlin
2.2.13 Root-Passwort vergeben
Abbildung 26 Username und Passwort
Root-Passwort vergeben: zum Beispiel "Playstation"
2.2.14 Angepasste Softwareinstallation
Abbildung 27 Auswahl der Software
Softwareinstallation: Jetzt anpassen, Minimalsoftware
• Desktop-Umgebungen:
Gnome Desktopumgebung
• Anwendungen:
Editoren
Grafisches Internet
• Softwareentwicklung
Entwicklungsbibliotheken Entwicklungswerkzeuge
• Grundsystem:
Basis
Einwahl-Netzwerk-Unterstützung Systemwerkzeuge
Verwaltungswerkzeuge X-Window-System
2.2.15 Beispiel Desktop
Abbildung 28 Auswahl der Software (Desktopumgebungen) Beispielauswahl für den Desktop
2.2.16 Beispiel Softwareentwicklung
Abbildung 29 Auswahl der Software (Softwarentwicklung) Beispielauswahl für die Softwareentwicklung
2.3 Softwareinstallation
Ablauf der Softwareinstallation
• Vorbereiten des Systems
• Formatieren
• Kopieren und installieren der Pakete
• User einrichten mit Passwort
2.3.1 Ablauf der Softwareinstallation
Abbildung 30 Softwareinstallation Ablauf der Softwareinstallation
2.3.2 Starten der Installation der Pakete
Abbildung 31 Softwareinstallation
Ablauf der Softwareinstallation: Starten der Installation der Pakete
2.3.3 Dateisystem formatieren
Abbildung 32 Dateisystem
Ablauf der Softwareinstallation: Dateisystem formatieren
2.3.4 Formatieren beenden
Abbildung 33 Partitionen erstellen
Ablauf der Softwareinstallation: Formatieren beenden
2.3.5 Kopieren vorbereiten
Abbildung 34 Kopieren vorbereiten
Ablauf der Softwareinstallation: Kopieren vorbereiten
2.3.6 Kopieren der Pakete
Abbildung 35 Starten des Kopierens der Software Ablauf der Softwareinstallation: Kopieren der Pakete
Abbildung 36 Konfiguration des Systems
Abbildung 37 Bootloader Installation beendet
Abbildung 38 Beenden der Installation
3 Starten des Linux-Systems, YDL Einträge
3.1.1 Starten des Linux-System
Abbildung 39 Start von Yellow Dog
Starten des Linux-System, Anzeige der Details
3.1.2 Lizenzvereinbarung
Abbildung 40 Lizenz
Starten des Linux-System: Zustimmen
3.1.3 Firewall-Einstellungen
Abbildung 41 Firewall
Starten des Linux-System: Firewall-Einstellungen
3.1.4 Dump-System (Für Abstürze eines Programms)
Abbildung 42 Kdump
Starten des Linux-System: Dump-System (Für Abstürze eines Programms)
3.1.5 Datum und Uhrzeit
Abbildung 43 Datum und Zeit
Starten des Linux-System: Datum und Uhrzeit
3.1.6 Username und Passwort
Abbildung 44 Username und Passwort
Starten des Linux-System: Username und Passwort Username: user1
Passwort: linux
3.1.7 Soundkarte
Abbildung 45 Audio
4 Starten des Linux-System
Abbildung 46 Erster Start, Eingabe des Usernamens
Abbildung 47 Erster Start, Eingabe des Passwort
Abbildung 48 Anzeige des Desktops
5 Installieren der IBM-Software
Installieren der zusätzlichen IBM-Software
• Kopieren der Softwarepakete auf einer CD / USB-Stick
• Starten der PS3
• Einfügen des Datenträgers ion die PS3
• Kopieren der Pakete nach /home/ps3
• Shell erzeugen mit root-Passwort
• Wechseln nach /home/ps3
• Installieren mit rpm –ivh p*.rpm rpm -ivh g*.rpm
Abbildung 49 PPU-Zusatztools
Abbildung 50 SPU-Zusatztools
6 Unix-Befehle
6.1 Konsolen-Befehle
cat Anzeige des Inhaltes einer Datei cat /proc/meminfo Info zum System
cat /proc/cpuinfo Info zum System Parameter zum cat
-n mit Nummer am Anfang -v Sonderzeichnen als ^X....
-e Ausgabe des Dollarzeichens am Ende jeder Zeile (mit -v) -t Tabs als ^T, Formfeed als ^L
cd „blank“ cd home
cd ~ cd home
chmod u+x datei Änderung des Execute Attributs (Starten ohne Prefix bash) chmod u+w datei Änderung des Schreibrechtes
chmod u-r datei Änderung des Leserechtes
chmod go-r datei Änderung des Leserechtes bei der Gruppe
clear Löschen des Bildschirms
cp Kopieren
Parameter:
-r Rekursives Kopieren
-R Rekursives Kopieren
-recursive Rekursives Kopieren
-f Überschreiben erzwingen
-v Verbose rsp. View, anzeigen der kopierten Dateien
xcopy-Ersatz:
cp -f -r -v /home/2010/* /mnt/dos/2010
df Anzeige des freien Festplattenspeichers du Anzeige des benutzten Festplattenspeichers grep Suchen von Zeichenfolgen in Dateien
bash script Starten des Scriptes „script“
bash Aufruf der Bashshell
ls Auflisten der Dateien / Verzeichnisse -l Komplettliste (Longformat) -R Rekursiv
-a Auflisten aller Einträge (.)
-A Auflisten aller Einträge ( ohne . und ..) -p Jedes Verzeichnis erhält ein /
-i Ausgabe der i-node Nummer -s Ausgabe der Blockgröße (Size) -1 Eine Spalte
-b Ausgabe nicht druckbarer Zeichen in Oktaldarstellung
mkdir Anlegen eines Verzeichnisses
more Seitenweise anzeigen einer Datei etc.
ls | more oder cat datei1 | more
ps Anzeige des Prozessstatus
pwd Print working Directory (Aktuelle Verzeichnis)
rmkdir Löschen eines leeren Verzeichnisses
rm -drf [verzeichnis] Rekursives Löschen nicht leerer Verzeichnisse
rpm –ivh paketname Installation eines Paketes ( Optionen –i install, -v verbose, -h hash rpm -ivh *.rpm
sort Sortieren einer Datei
wc Word Count
who Anzeige der aktuellen Benutzer whoami Anzeige des aktuellen Benutzers
6.2 Weitere Befehle:
shutdown now -r -r reboot after shutdown: PC wird nach dem Runterfahren neu gestartet.
Der häufigste Fehler bei Verwendung des shutdown-Befehls ist, dass keine Zeitangabe gemacht wird (hier: now)
ls s -R > beliebig.txt Erzeugt eine Datei beliebig.txt, in der das Ergebnis der Auflistung inkl.
Unterverzeichnissen zu finden ist.
locate index.html Alle Dateien namens "index.html" werden aufgelistet. Es können auch Platzhalter verwendet werden, wie "*.pdf"
find ordner/ -type f -name "index.htm" Alle Dateien namens "index.htm" werden aufgelistet.
cp /home/user/*.* /floppy/ Dateien von Festplattenverzeichnis werden auf Diskette kopiert
6.3 Komprimierung
Archive mit Inhalt von /etc und /home erstellen:
tar cvf test.tar /etc/ /home/
tar cvf - /etc /home | gzip > test.tar.gz tar cvf - /etc /home | bzip2 > test.tar.bz2
Mit GNU tar ist folgende Kurzform möglich, um gepackte Archive zu erstellen:
tar czvf test.tar.gz /etc/ /home/
tar cjvf test.tar.bz2 /etc/ /home/
Archive entpacken:
tar xvf test.tar
gunzip < test.tar.gz | tar xvf - bunzip2 < test.tar.bz2 | tar xvf - zcat test.tar.gz | tar xvf -
Mit GNU tar ist folgende Kurzform möglich:
tar xzvf test.tar.gz tar xjvf test.tar.bz2
Archivinhalt ansehen:
tar tvf test.tar
gunzip < test.tar.gz | tar tf - bunzip2 < test.tar.bz2 | tar tf - zcat test.tar.gz | tar tf -
Mit GNU tar ist folgende Kurzform möglich:
tar tzvf test.tar.gz tar tjvf test.tar.bz2
Archive von einem Verzeichnis packen und über 'pipes' in ein anderes Verzeichnis entpacken tar cvf - 'directory' | ( cd 'directory'/; tar xpvf -)
Beispiel:
tar -C sourcedir cvf - . | tar -C targetdir xpvf - und dies via SSH übers Netzwerk
ssh user@host "tar cfv - /ursprung1/ /ursprung2/" | (cd /ziel/; tar xpvf -)
6.4 Anbinden eines USB-Sticks
Mount mittels Namens
1) Anlegen des USB-Verzeichnisses, mkdir /mnt/usb1 2) mount -t vfat /mnt/usb1 -L BUFF_E
Unmount mittels Verzeichnis 1) umount /mnt/usb1
6.5 Der Text-Editor vi / vim
Der Editor vi ist Bestandteil nahezu aller UNIX-Systeme. Der Texteditor vi kennt nicht den Komfort aus Windows-basierten Editoren. Er hat zwei Modi:
a) Den Befehlsmodus b) Den Eingabemodus
Der Befehlsmodus ermöglicht das Ausführen von Kommandos wie Kursor verschieben, Eingabemodus ändern, Suchen, Schreiben auf Festplatte). Der vi-Editor wurde entwickelt, um auf
alten Terminals zu laufen. Dementsprechend gibt es keine Menüs oder Mausbefehle, die es Ihnen ermöglicht, den Text zu ändern. Alle Befehle werden über die Tastatur eingegeben. Diese Übersicht gibt eine kurze Übersicht über die wichtigsten Befehle.
Hinweis:
Bei vi-Befehlen ist die Groß- und Kleinschreibung zu beachten.
6.5.1 Aufrufen des Editors:
Der Editor wird mit dem Befehl „vi dateienamen“ aufgerufen.
Beispiel:
vi test1
~
~
~
~
~
~
~
~
~
~
"test1" [New file]
Existiert die angegebene Datei, so wird diese in den Editor geladen. Bei einer neuen Datei ist die Anzeige leer und in der untersten Zeile ist der Dateinamen angegeben.
Am Anfang ist man immer im Befehlsmodus.
Jeder Befehl fängt mit dem „ESC“-Zeichen an.
6.5.2 Text bearbeiten
Zeigt die Übersicht über die wichtigsten Befehle:
O
I_______ixa_______A o
Befehl Beschreibung
ESC i Fügt Text vor dem aktuellen Zeichen ein ESC I Fügt Text am Zeilenanfang ein
ESC a Fügt Text nach dem aktuellen Zeichen ein ESC A Fügt Text am Zeilenende hinzu
ESC o Fügt eine Zeile unter der aktuellen Zeile ein ESC O Fügt eine Zeile oberhalb der aktuellen ein ESC R Eingabe von Text im Überschreibemodus
Nach der Eingabe eines Textes können Sie mit folgenden Befehlen die Kursorposition ändern.
6.5.3 Kursorposition ändern
Befehl Beschreibung ESC j Eine Zeile nach unten ESC k Eine Zeile nach oben ESC h Ein Zeichen nach links ESC l Ein Zeichen nach rechts ESC w Ein Wort nach rechts
ESC W Ein durch Leerzeichen abgetrenntes Wort nach rechts ESC b Ein Wort nach links
ESC B Ein durch Leerzeichen abgetrenntes Wort nach links ESC Shift I An den Zeilenanfang
ESC Shift A An das Zeilenende, ESC ( An den Satzanfang ESC ) An das Satzende
ESC { An den Anfang des Absatzes ESC} An das Ende des Absatzes STRG+F Eine Seite rückwärts STRG+B Eine Seite vorwärts STRG+H
6.5.4 Korrekturen im Einfügemodus
Wenn man sich vertippt hat, kann man mit dem Befehl „STRG+H“ den Cursor zurückbewegen, ohne den Eingabemodus zu verlassen. Der Befehl kann mehrmals wiederholt werden. Eine Alternative ist das Kommando „Strg+W“. Dieser Befehl veranlasst den Kursor bis zum Anfang des vorherigen Wortes zu springen.
6.5.5 Suchen
Befehl Beschreibung
ESC /= Sucht das erste = ab Position ESC n Nächste Suche
N Nächste Suche
:%s/ab/cd/ Ersetzt die Buchstaben ab durch cd
6.5.6 Ersetzen eines Zeichens
Befehl Beschreibung ESC r Ersetzt ein Zeichen
ESC c Ändert text, bis ESC bestätigt wird ESC cw Ändert das nächste Wort
ESC cnw Ändert die nächsten n Wörter
ESC:%s/abc/aus/g g alles ersetzen c Confirm, Bestätigen ESC:%s(abc
6.5.7 Sprung
Befehl Beschreibung
ESC +100 Sprung zur 100. Zeile ESC :n Cursor in Zeile n
ESC G Cursor ans Ende des Dokumentes
6.5.8 Löschen von Zeichen
Befehl Beschreibung ESC x Löscht ein Zeichen ESC dw Löscht bis Wortende ESC db Löscht bis zum Wortanfang ESC dnw Löscht die nächsten n Wörter ESC dd Löscht die Zeile
ESC d0 Löscht bis zum Zeilenanfang ESC D Löscht bis zum Zeilenende ESC dg Löscht bis zur letzten Zeile ESC dlg Löscht bis zur ersten Zeile
Es existiert eine Anzahl von Zwischenspeichern, die man zum Kopieren und Einfügen von Texten verwenden kann. Der Standardpuffer, der immer verfügbar ist, und die Puffer a-z können beliebig verwendet werden.
6.5.9 Zwischenspeicher
Die untere Liste beschreibt die Befehle zum Kopieren von Texten.
Befehl Beschreibung
ESC Y Übernimmt eine Textzeile in den Standardpuffer ESC nY Übernimmt n-Textzeilen in den Standardpuffer ESC ybsp Speichern den Textes „bsp“ in den Zwischenpuffer ESC yw Übernimmt das nächste Wort in den Standardpuffer ESC nyw Übernimmt die nächsten n Wörter in den Standardpuffer ESC dd Übernimmt eine Textzeile in den Standardpuffer und
löscht diese
ESC ddp Übernimmt eine Textzeile in den Standardpuffer und löscht diese und fügt diese nach der nächsten Zeile wieder ein.
ESC p Wenn der Standardpuffer eine Zeile enthält, wird unter der aktuellen Zeile eine neue Zeile eingefügt und der Inhalt des Standardpuffers eingefügt.
ESC P Wenn der Standardpuffer eine Zeile enthält, wird vor der aktuellen Zeile eine neue Zeile eingefügt und der Inhalt des Standardpuffers eingefügt.
6.5.10 Datei-Operationen
Befehl Beschreibung ESC ZZ Speichert und beendet ESC :w name Schreibt die Datei ESC w Schreibt die Datei
ESC r Einlesen einer Datei am Cursor
ESC: w! Speichert die Datei auch bei Schreibschutz
6.5.11 Beenden
Befehl Wirkung
ESC:x Beenden ohne sichern des Inhaltes
ESC:wq! Inhalt nicht zurückschreiben und Ende des Editors ESC ZZ Inhalt zurückschreiben und Ende des Editors ESC:q! Beenden ohne sichern des Inhaltes
ESC:q Beenden falls gesichert des Inhaltes
6.5.12 Besonderheiten
Automatisches Einrücken
Mit dem Befehl :se ai (set autoindent) rückt der Editor bei einer neuen Zeile den Kursor auf den Anfang der oberen Zeile. Dieser Befehl ist sehr nützlich bei Schleifen und Funktionen.
Um den Kursor nach links zu bewegen, muss man die Taste „Strg+D“ benutzen. Die Taste „Strg+H“
ist hier nicht wirksam.
6.5.13 Parameter des vi-Editors Starten:
Befehl Wirkung
vi Datei Starten des vi-Editors mit der Datei
vi +n datei Starten des vi-Editors mit der Datei, Beginn ab Zeile n
vi +/muster datei Starten des vi-Editors mit der Datei, start mit dem Kursor auf der ersten Zeile, die muster enthält
vi –R datei Start nur zum Lesen der Datei
vi Start des vi-Editors.
Weitere Funktionen:
:e datei Datei lesen :w datei Datei schreiben vi datei1 datei2 Einlesen aller Dateien.
Umschalten zur nächsten Datei mit dem Befehl :n Zur ersten Datei mit :rewind
6.5.14 Zusammenfassung der vi-Befehle
Befehl Beschreibung
ESC i Einfügemodus, vor dem Cursor ESC a Einfügemodus, nach dem Cursor ESC x Zeichen löschen
ESC d Löscht die Zeile ab Kursorposition ESC dd Löscht die Zeile
ESC O Neue Zeile oberhalb ESC o Neue Zeile unter aktuellen ESC I Fügt Text am Zeilenanfang ein ESC A Fügt Text am Zeilenende ein
ESC :w name Speichert die Datei unter dem Namen ESC :w Speichert die Datei
ESC: w! Speichert die Datei auch bei Schreibschutz ESC :x Speichert die Änderung und beendet ESC :q! Ende ohne zu speichern, ohne Abfrage ESC :q Ende ohne zu speichern, mit Abfrage ESC ZZ, :wq Speichert und Ende
ESC u UNDO
ESC :set number Anzeige der Zeilennummern
7 Programmieren
In diesem Kapitel wird die Programmierfähigkeit auf der PS3 unter YDL gezeigt. Damit ist nicht die Spieleprogrammierung gemeint.
7.1 Programmoptionen des gcc
Beispiel Beschreibung
gcc bsp1.c Übersetzt und linkt die Datei Ausgabe in a.out (Assember.out)
./bsp1 Startet das Programm
gcc bsp1.c -o bsp1 Übersetzt und linkt die Datei Ausgabe in bsp1
gcc -c bsp1.c Übersetzt die Datei bsp1.c und erstellt die Datei bsp1.o gcc -o bsp bsp1.c bsp2.c Übersetzt die Datei bsp1.c und bsp2.c
erstellt die Datei bsp1.o und bsp2.o
Linkt beide *.o zu einer "Exe-Datei" namens bsp
ppu32-gcc PS3 Power PC Komplier/Linker
ppu-gcc PS3 Power PC Komplier/Linker
spu-gcc PS3 SPU Komplier/Linker
spu32-gcc PS3 SPU Komplier/Linker
-m32 -Wl,-melf32ppc Setzt den Kompiler in den 32-Bit Modus
-lm Lädt zusätzlich die Library libm
-lspe Lädt zusätzlich die Library libspe
-IPath Setzt einen zusätzlichen Pfad für die include-Dateien -LPath Setzt einen zusätzlichen Pfad für die Bibliotheken
-O Optimiert die Übersetzung
gcc -O -o bsp bsp1.c
-g Fügt debug-Code hinzu
gcc -g -o bsp bsp1.c gcc -O -g -o bsp bsp1.c
.C Endung für C++-Dateien
.cc Endung für C++-Dateien
g++ Aufruf des C++ Kompiler
kill -9 prozessnr löscht den Prozess
7.1.1 Erste Beispielprogramm
// 1. Beispielprogramm
// compile with: gcc bsp1.c -o bsp1
#include <stdio.h>
int main(void){
puts("Hallo Wernigerode");
return 0;
} • Aufruf einer Bash-Konsole Strg+Alt+F1
• Einloggen mit user1
• Anlegen eines Verzeichnisses mkdir samples
• wechseln nach sampels cd samples
• Datei erstellen vi bsp1.c
• eintragen:
• Modus wechseln mit ESC i
• Beenden mit ESC ZZ
• Aufruf des Kompilers und Linkers gcc bsp1.c
• oder gcc bsp1.c -o bsp1
• Aufruf des Kommandos ./a.out
• oder ./bsp1
7.2 Threads / Mutex
7.2.1 Funktion: pthread_create
Includedatei: #include <pthread.h>
Übersetzen mit -lpthread
int pthread_create(
pthread_t *thread, Thread description record, int
const pthread_attr_t *attr, NULL
void *(*start_routine)(void*), Pointer zur Prozedur
void *arg Agrumente,meist eine struct
);
Beispiel:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
// Standardisierte Aufruf Konvention, * ist richtig void * print_char (void *ch) {
printf ("%s", (char*)ch);
return NULL;
}
int main () {
char ch1='-', ch2='*';
pthread_t p1, p2;
if ( pthread_create (&p1, NULL, print_char, &ch1) ) { fprintf (stderr, "Fehler bei 1. Thread\n");
exit (EXIT_FAILURE);
}
if ( pthread_create (&p2, NULL, print_char, &ch2) ) { fprintf (stderr, "Fehler bei 2. Thread\n");
exit (EXIT_FAILURE);
}
// warten auf beiden Threads pthread_join (p1, NULL);
pthread_join (p2, NULL);
puts ("Ende");
return 0;
}
Aufruf des Kompilers und Linkers:
gcc -D_REENTRANT bsp1.c -lpthread Die Option Reentrant sichert threadsichere Funktion zu.
7.3 Mutex
pthread_mutex_t sumMutex; // Definition
pthread_mutex_init(&sumMutex, NULL); // Init
pthread_mutex_lock(&sumMutex); // Sperren, Down
pthread_mutex_unlock(&sumMutex); // Freigeben, Up
7.4 Zeitmessung
Mit folgendem Programmcode kann man die Laufzeit messen:
struct timeval t1,t2;
double d1,d2;
gettimeofday(&t1,NULL);
// calc
gettimeofday(&t2,NULL);
d1 = t1.tv_sec + (t1.tv_usec/1000000.0);
d2 = t2.tv_sec + (t2.tv_usec/1000000.0);
printf("Zeit %f\n",d2-d1);
7.5 Debugger
Der Debugger ist eine sehr effiziente Möglichkeit Fehler zu finden. Er arbeitet kommandoorierntiert.
Optionen des Debuggers:
list oder l Listing des Quellcodes um den aktuellen Punkt
l 1,5 Listing von Zeile bis 5
run oder r Starten des Programms
break zeile Haltepunkt setzen
break zeile if Bedingung Haltepunkt setzen
step oder s Einzelschritt, in eine Funktion
next oder n Schritt,
continue oder c Programm weiterlaufen lassen
info breakpoints Anzeige der Haltepunkte
delete 2 Löschen des 2. Haltepunkts
print i Anzeige des Inhalts von i
whatis i Anzeige des Typs von i
set variable s=0 ändern der Summe
quit oder q Ende
Enter letzten Befehl wiederholen
7.5.1 Beispiel:
Programmname: gdb
Vorgehen:
• vi bsp.c // schreiben
• gcc bsp.c –ggdb3 -o b // übersetzen
• gdb bsp // Aufruf des Debuggers
• run // starten des Programms l // anzeige, list um main
r // starten
n // next, nächster Schritt, ohne Funktion s // step. Nächster Schritt, mit Funktion
7.6 Vectorfelder SIMD
In einem Register passen vier float-Zahlen. Mittels spezieller Befehle können nun einfache Operationen parallel ausgeführt werden. Damit zeigen sie jeweils auf den Anfang der einzelnen Felder. Durch die "union" kann man auf die einzelnen beiden Varianten, entweder als Feld, oder als Register, zugreifen. Durch die Pointer ist nun die Weiterschaltung sehr elegant und schnell.
Einfacher Beispielcode für allgemeine Vectorfelder:
vector float vA={1,2,3,4};
vector float vB={3,4,5,6};
vector float vC={0,0,0,0};
vC = spu_add(vA,vB);
oder
vC = vA + vB;
print_f_vector("vA",vA);
print_f_vector("vB",vB);
print_f_vector("vC",vC); // 4,6,8,10
vC = spu_mul(vA,vB);
oder
vC = vA * vB;
print_f_vector("vA",vA);
print_f_vector("vB",vB);
print_f_vector("vC",vC); // 3,8,15,24
Pointer:
// Diese union sichert den Zugriff auf den Speicher mittels zweier verschiedener Adressierungen // 1. als normale Pointer, beispielsweise 10000 Zahlen
// 2. als VectorFeld, jeweils genau VIER float Zahlen typedef union {
float *fVal;
vector float * myVec;
} floatVec;
Quellcode der 2. Variante
float *a, *b, *c, *d; // Pointer floatVec a4a, b4a, c4a, d4a;
// root Referenz zuweisen for (k=0; k<N; k++) {
for (i=0; i<MAX; i+=4) {
a4a.myVec = a4a.myVec * a4a.myVec;
…
d4a.myVec = a4a.myVec + b4a.myVec + c4a.myVec;
// Increment }
7.7 Spu-Funktionen
Funktion Beschreibung
d = spu_add(a, b) Vector add, d=a+b
d = spu_addx(a, b, c) Vector add extended, 64 Bit d = spu_genb(a, b) Vector generate borrow
d = spu_genbx(a, b, c) Vector generate borrow extended d = spu_genc(a, b) Vector generate carry
d = spu_gencx(a, b, c) Vector generate carry extended d = spu_madd(a, b, c) Vector multiply and add; d=a*b+c d = spu_mhhadd(a, b, c) Vector multiply high high and add d = spu_msub(a, b, c) Vector multiply and subtract; d=a*b-c d = spu_mul(a, b) Vector multiply, d=a*b
d = spu_mulh(a, b) Vector multiply high d = spu_mulhh(a, b) Vector multiply high high d = spu_mulo(a, b) Vector multiply odd
d = spu_mulsr(a, b) Vector multiply and shift right d = spu_nmadd(a, b, c) Negative vector multiply and add d = spu_nmsub(a, b, c) Negative vector multiply and subtract d = spu_re(a) Vector floating-point reciprocal estimate
d = spu_rsqrte(a) Vector floating-point reciprocal square root estimate
d = spu_sub(a, b) Vector subtract; d=a-b d = spu_subx(a, b, c) Vector subtract extended
Hinweis:
Komplexere Befehle, wie sqrt, sin, werden nacheinander abgehandelt !
8 Indexverzeichnis
A
Anderes System 11
Audio 30
Auflösung 14
Auslagerungsdatei 19
B
Beispielprogramm 42
Benutzerdefnierte Softwareinstallation 21
D
Debugger 44
Desktop 31
DHCP 19
E
Erster Start 31
F
find 34
Formatierung 7
G
gcc 42
I
Installation IBM-Software 32
K
komprimierung 34
Konsolen-Befehle 33
L
Linux Eingaben 14
Linux Installation
Überblick 6
M
Mutex 44
N
Netzwerksystem 19
P
Parationtabelle anlegen 17
Programmieren 42
Prüfen der DVD 15
R
root 20
S
shutdown 34
SIMD 45
Spe 46
Speicherbereich festlegen 9
Spu 46
Starten des Linux-Systems 27
T
tar 34
Tastatur 16
Thread 43
U
Überblick 6
Unix-Befehle 33
usb 35
Username 29
V
Vektorfelder 45
vi 35
Beenden 39
Besonderheiten 40
Clipboard 39
datei-Operationen 39
Ersetzen 38
Kursorposition 37
Löschen 38
Parameter 40
Sprung 38
Suchen 38
Text bearbeiten 37
Zusammenfassung 41
Zwischenspeicher 39
W
Wechsel von PS3 nach Linux 7
X
xcopy 33
Y
YDL-Einträge 27
Z
Zeitmessung 44
Zeitzone 20