Raspbian Installation. So wird's gemacht!

Aktuell mit Version 2014-06-02-wheezy-raspbian,
kleinere Anpassungen an Version 2014-09-09-wheezy-raspbian
keine Änderungen mit Version 2014-12-24-wheezy-raspbian


Erst das aktuelle Raspian von raspberrypi.org auf den Arbeitsrechner herunterladen
zB. mittels:

$>_ wget http://downloads.raspberrypi.org/raspbian_latest


Auspacken mit:

$>_ unzip raspbian_latest

(Micro)SD-Karte am Arbeitsrechner Anschliessen/Einstecken
Die darauf befindlichen Daten eventuell Sichern(von allen Partitionen).
Danach mit:

#>_ dmesg

... nachsehen wo sich die Karte Meldet.
Sieht bei mir zB. so aus:

... sd 12:0:0:0: [sdd] 62676992 512-byte logical blocks: (32.0 GB/29.8 GiB)

In meinem Fall ist es also /dev/sdd (Ich mache hier mit /dev/[Laufwerk] weiter, bitte durch das eigene ersetzen )
alle eventuell noch eingebundenen Partitionen unmounten:

#>_ umount /dev/[Laufwerk]2
#>_ umount /dev/[Laufwerk]1
#>_ umount /dev/[Laufwerk]

... eventuelle fehlermeldungen über nicht vorhandene Partitionen kann man Ignorieren.

Image auf die SD-Karte schreiben:

#>_ dd bs=4M if=[Ausgepacktes Raspbian.img] of=/dev/[Laufwerk]

Es wird direkt auf das Laufwerk geschrieben nicht auf eine Partition, da das Image selbst Partitionen enthät.
Das dauert üblicherweise einige Minuten.
Wenn der Schreibvorgang beendet ist nochmal mit:

#>_ df -T

nachsehen ob der automounter nicht zugeschlagen hat, in der Ausgabe sollte kein

/dev/sdb1                            vfat         57288      9792     47496   18% /media/boot
/dev/sdb2                            ext4       7460368   4970572   2160472   70% /media/5d18be51-3217-4679-9c72-a54e0fc53d6b

vorkommen.
Es hat zwar die Laufwerksbezeichnung von /dev/sdd nach /dev/sdb gewechselt aber da sind eindeutig zwei Partitionen vom Raspbian.
Die eine ist /dev/sdb1 und wurde unter ihren Label nach /media/boot gemountet.
Die andere /dev/sdb2 wurde mit ihrer UUID nach /media/5d18be51-3217-4679-9c72-a54e0fc53d6b gemounted

Also nochmal Manuell unmounten mit:

#>_ umount /dev/sdb2
#>_ umount /dev/sdb1

jetzt kann man die (Micro)SD-Karte am Arbeitsrechner Entfernen und in den noch ausgeschalteten RaspberryPi einstecken.
Ab hier gibt es zwei Möglichkeiten:
1.) Man hat einen DHCP Server im LAN und arbeitet mit ssh dann muss nur das Ethernetkabel angeschlossen werden.
2.) Man schliest Bildschirm und Tastatur an.
    1+2.) Jetzt kann der RaspberryPi mit 5 Volt versorgt werden. Bitte ein Netzteil mit ausreichend Strom verwenden. Fällt die Spannung ist schnell mal das Dateisystem zerschossen!
1.) Hier der ssh Teil im Kasten, wer mit direkt angeschlossenem Bildschirm arbeitet kann bei 2.) weiterlesen.
Auf dem DHCP server nachsehen welche IP der RaspberryPi bekommen hat. Bei einem Debian findet man das in der messages, bei anderen Systemen Bitte selber schlau machen.

#>_ grep -i 'dhcp' /var/log/messages

In der Ausgabe sollte in etwa das stehen:

Aug 21 03:06:47 hostnameofthemachine dhcpd: DHCPACK on 192.168.240.150 to b8:27:eb:4a:d8:73 (raspberrypi) via eth0

Wir verbinden uns mittels ssh auf die angegebene IP:

$>_ ssh pi@192.168.240.150

... die Ausgabe sieht vermutlich so aus:

The authenticity of host '192.168.240.150 (192.168.240.150)' can't be established.
ECDSA key fingerprint is 32:81:a1:d0:22:9c:dd:0f:92:08:3f:c6:23:27:c9:e5.
Are you sure you want to continue connecting (yes/no)?

wer den angebotenen Schlüssel akzeptieren möchte schreibt "yes" und drückt [Enter].
... wer nicht, Der nicht. Für diejenigen endet die Beschreibung hier.
Alle anderen sehen jetzt das(die IP ist bei euch eine andere):

Warning: Permanently added '192.168.240.150' (ECDSA) to the list of known hosts.
pi@192.168.240.150's password:

Das Passwort für den User "pi" lautet "raspberry"


2.) Hier der Konsole Teil im Kasten.
Man sieht auf dem angeschlossenen Bildschirm:

raspberrypi login:

Hier den Usernamen "pi" eingeben und [Enter] drücken.
es erscheint:

Password:

Das Passwort für den User "pi" lautet "raspberry"

Jetzt sieht man ca.(ändert sich mit den Raspbian versionen) folgendes:

Linux raspberrypi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
NOTICE: the software on this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config'

pi@raspberrypi ~ $

Die letzte Zeile ist der Promt, und wartet auf unsere Befehle.
Wir sind jetzt User "pi", um schlimme Dinge zu tun wie etwa das System konfigurieren oder Pakete(Software) zu installieren sollte man zum SuperUser "root" werden.
Das ist hier noch nicht möglich denn "root" hat noch kein Passwort um sich einzuloggen.
Er soll eines bekommen, wir sagen also dem SuperUser er soll für uns sein Passwort ändern, das geht mit sudo(kurzform von SuperUser do):

pi@raspberrypi ~ $ sudo passwd

Anschliessend wie immer [Enter] drücken. Wir geben zweimal unser STARKES Passwort ein und freuen uns über die darauffolgende Meldung:

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
pi@raspberrypi ~ $


Es ist Zeit das System zu Konfigurieren, wir müssen also "root" werden.
Wer mag kann sich hier auslogen und als root mit dem STARKEN Passwort einlogen, oder gleich zum SuperUser Account wechseln. Aber bitte gleich die (Arbeits)Umgebung/Enviroment von "root" erben. ... das geht mit(<s><u><leerzeichen><minus>):

pi@raspberrypi ~ $ su -
Password:

Nachdem wir unser STARKES "root" Passwort eingegeben haben, startet hier und nur dieses eine mal "raspi-config" damit nehmen wir die Grundkonfiguration "jetzt" vor.

Expand Filesystem ist eine feine Sache den nur so wird der gesamte Speicherplatz der (Micro)SD-Karte uns und dem System zur Verfügung gestellt.
Wir hauen also gleich mal auf [Enter].
Hauptmenue
Root Partition resized
Alles nötige ist erledigt, es steht uns aber erst nach einem reboot zur Verfügung.
Das ist Ok, und deshalb drücke ich [Enter].
Mit der [Pfeil runter] Taste gehts zum nächsten Menüepunkt.

Es ist nicht sehr sicher wenn auf jedem raspbian ein user "pi" mit dem passwort "raspberry" existiert und deshalb ändern wir das jetzt.
Change User Password

Lesen, verstehen, gegebenenfalls [Enter] drücken.
Passwort fü Pi
Wir geben zweimal unser ANDERES STARKES Passwort für den "pi" User ein und freuen uns über ...
Password Change Successfully
... den Erfolg.


Klicki Bunti gleich beim Start, das lass ich lieber.
Enable Boot to ...

Mittels [Tab] Taste kann man zwischen den Menüpunkten wechseln.
Chose boot Option
Wer seine Wahl getroffen hat wechselt mit [Tab] auf <Ok> und drückt [Enter]

Jetzt noch die Anpassungen für Sprache(Zeichensatz), Zeitzone und Tastatur.
Menuepunkt Locales
Change Locale
Zeichensatz auswahl
Bei mir ist das "de_AT.UTF-8" egal welche Sprache ihr auswählt es ist immer der "UTF-8" Zeichensatz zu bevorzugen.
Default locale auswählen
Wie Ihr seht war "en_GB.UTF-8" schon vorausgewählt, den kann man drinnen lassen oder auch rausnehmen.
Der "Default locale" sollte aber hier nach eigenen Bedürfnissen gesetzt werden.

Zeitzone einstellen. Das ist sehr wichtig!
Wir bekommen dann die genaue Uhrzeit(und Datum) aus dem Internet oder mittels GPS und/oder DCF77.
Intern wird aber mit UTC/GMT gearbeitet so gibts keine Probleme mit Sommer-/Normalzeitumstellungen oder wenn man sich durch die Zeitzonen bewegt.
Zur einstellung der Zeitzone
Menue Kontinent
Hier ist die Heimat Zeitzone einzustellen nicht die der Nächsten Expedition.
Menue Stadt
Ich habe hier mal "Vienna" ausgewählt obwohl "Berlin" genausogut währe es liegt in der gleichen Zeitzone. Beim zurückrechnen kann es allerdings zu Fehlern kommen, weil nicht alle Staaten zum gleichen Datum Sommer-/Normalzeit umstellten.
Tastatur Einstellung
Der Dialog für die Tastatur sieht ähnlich aus, das überlasse ich mal eurem Geschmack. ;-)
(Funktioniert anscheinend nur wenn auch eine Tastatur am RaspberryPi angeschlossen ist.)

Da ich keine RaspiCam benutze kontrolliere ich noch ob sie auch wirklich deaktiviert ist.
Einstellung Kamera
Kamera Disable

Hier gehts ans Eingemachte ...
Advanced Options

"Overscan" vergrössert das Bild auf dem angeschlossenen Bildschirm falls da schwarze Ränder oder Balken zu sehen sind.
Da ich keinen Bildschirm anschliesse, überspringe ich diesen Punkt.
Und gehe gleich zu "Hostname"
Einstellung Hostname
Wie ihr seht ist "raspberrypi" (der derzeitige Hostname) die Vorgabe ...
Hostname alt
Hostname neu
... hier trage ich meinen Hostnamen ohne Topleveldomain ein.
Mit [Tab] auf <Ok> wechseln, nach [Enter] kommt man leider wieder zurück ins Hauptmenü.
Von dort also wieder weiter nach "Advaced Options" und zum Punkt "Memory Split" mittels Pfeiltasten.
Speicher verteilung für GPU auswählen
Hier wird die Speichergrösse die wir der GraphicProcessingUnit zuweisen eingestellt.
Da ich die nicht benutze stelle ich den niedrigsten Wert ein, wer sich unsicher ist und vielleicht doch mal ein 3D-Filmchen ansehen will kann es auf den vorgegebenen 64 lassen.
Speicher verteilung für GPU einstellen

Der SSH-Server ist mir wichtig, er ist zwar standardmässig aktiviert, ich kontrolliere das aber sicherheitshalber nach.
SSH auswählen
SSH aktivieren
Bestätigung

Die SPI (one Wire) Schnittstelle benutze ich nicht, deshalb kontrolliere ich ob sie abgeschaltet ist.
Dadurch stehen mir mehr GPIO zur Verfügung!
SPI auswählen
SPI deaktivieren
Bestätigung
Ausserdem spart diese Aktion Kernelspeicher, wie man lesen kann.

Die I²C Schnittstelle brauche ich für die meisten Sensoren, daher aktiviere ich sie.
I²C auswählen
I²C aktivieren
Bestätigung


Die Serielle Schnittstelle wird fuer das GPS gebraucht, deshalb ...
Serial auswählen
Konsole (getty) der da standardmäsig läuft abschalten/deaktivieren.
Serial deaktivieren
Bestätigung
Sorry die Aussage ist einfach Falsch!

Die Serielle ist noch aktiv es wurde eben nur der getty (Serielle Konsole) und die Bootmeldungen des Kernels deaktiviert.
Das ist ab Version 2014-09-09-wheezy-raspbian neu und erledigt die Arbeit in /etc/inittab wie sie unter Software beschrieben ist, weiters wird in /boot/cmdline.txt "console=ttyAMA0,115200" entfernt, nachkontrollieren darf man Trozdem.


Hier gelangen wir ohnehin wieder zurück zum Hauptmenü.
Mit zweimal [Tab] auf <Finish> wechseln ...
Hauptmenue
... nach dem Druck auf [Enter] werden wir noch gefragt ob wir "jetzt" rebooten wollen.
Reboot now?
Ich glaube das wollen alle ganz sicher, den nur dadurch steht uns das gesamte Filesystem in seiner vollen Größe zur Verfügung.



Wir logen uns jetzt wieder ein wie in den Kästchen oben beschrieben, diesmal aber als SuperUser "root" mit dessen STARKEN Passwort.
Und geben das ein(Prompt gekürzt):

#>_ ifconfig

Die Ausgabe könnte so ausehen:

eth0   Link encap:Ethernet  Hardware Adresse b8:27:eb:4a:d8:73
       inet Adresse:192.168.240.150  Bcast:192.168.240.255  Maske:255.255.255.0
       UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
       RX packets:130259 errors:0 dropped:0 overruns:0 frame:0
       TX packets:1921 errors:0 dropped:0 overruns:0 carrier:0
       Kollisionen:0 Sendewarteschlangenlänge:1000
       RX bytes:6360996 (6.0 MiB)  TX bytes:284508 (277.8 KiB)

lo     Link encap:Lokale Schleife
       inet Adresse:127.0.0.1  Maske:255.0.0.0
       UP LOOPBACK RUNNING  MTU:65536  Metrik:1
       RX packets:0 errors:0 dropped:0 overruns:0 frame:0
       TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
       Kollisionen:0 Sendewarteschlangenlänge:0
       RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0  Link encap:Ethernet  Hardware Adresse 84:1b:5e:92:c7:a4
       UP BROADCAST MULTICAST  MTU:1500  Metrik:1
       RX packets:0 errors:0 dropped:2 overruns:0 frame:0
       TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
       Kollisionen:0 Sendewarteschlangenlänge:1000
       RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Hier wurde also zwischenzeitlich ein Netzwerk sowie ein W-Lan(WiFi) Stick angeschlossen,
eth0 die erste Ethernetschnittstelle hat auch schon die IP Adresse: 192.168.240.150 bekommen vom DHCP-Server in diesem Netz.

Deshalb testen wir hier weiter mittels:

#>_ route -n

Ausgabe hier sieht so aus:

Kernel-IP-Routentabelle
Ziel            Router          Genmask          Flags Metric Ref    Use Iface
0.0.0.0         192.168.240.179 0.0.0.0          UG    0      0        0 eth0
192.168.240.0   0.0.0.0         255.255.255.0    U     0      0        0 eth0

Der zugewiesene Router hat die IP 192.168.240.179 alles(0.0.0.0) was wir senden, senden wir an ihn.
Zweite Zeile. Für alles was wir an unser Netz 192.168.240.0 Maske 255.255.255.0 senden sind wir selbst zuständig 0.0.0.0,
beides geht über Iface(kurz für Interface) eth0

Das sieht doch schon nach einer Internetverbindung aus.
Wir testen gleich mal ob die Funktioniert.
An dieser Stelle würde warscheinlich eine "ping" und/oder "traceroute" Orgie stehen, nicht so bei Raspbian.
Bei Raspian ist der NetworkTimeProtokol-Dämon(kurz ntpd) schon vorinstalliert und vorkonfiguriert und er läuft auch schon seit dem letzten reboot.
Das Tool um diesen zu befragen ist ntpq eine einmalige Ausgabe des Zustandes reicht uns hier option"-p":

#>_ ntpq -p
    remote           refid       st t when poll reach   delay   offset  jitter
==============================================================================
*ts1.aco.net     .PPS.            1 u  391  512  377   12.399  -18.304  80.108
+193.170.62.252  193.171.23.163   2 u  196  512  377   12.005  -19.648  75.580
+212.183.17.98   192.53.103.108   2 u   90  512  377   18.978  -21.759  80.465
+wien3.klaus-uwe 131.130.251.107  2 u  231  512  377   13.555  -21.387  75.175

Die Ausgabe sieht bei euch vermutlich etwas anders aus.
Wichtig ist der mit Stern gekennzeichnete Server er ist unser BESTER. Dieser muss nicht wie hier an erster Stelle stehen.
Die mit Plus gekenzeichneten haben wir ebenfalls erreicht und sie haben uns ihre Zeit gegeben.
Da wir hier Server nicht nur mit IP Adresse angezeigt bekommen, sondern auch mit Hostname, bedeutet das, dass auch die Namensauflösung(DNS) funktioniert.
Das heist wir haben! ... eine funktionierende Internetverbindung.

Jetzt ist es an der zeit unser Raspbian System auf den neuesten Stand zu bringen, das geht in einer Zeile:

#>_ aptitude update ; aptitude -y upgrade

"aptitude update" holt die aktuellen Paketlisten.
Das ";" trend die beiden Befehle denn wir rufen gleich nochal "aptitude" auf er soll jetzt unser System anhand der gerade heruntergeladenen Paketlisten auf den neuesten Stand bringen "upgrade".
Um uns die Frage: "Es wird mehr Speicherplatz benötigt, Darf ich?" ... zu sparen sagen wir im voraus schon Yes "-y".

Wir haben Jetzt ein aktuelles System und können LOSLEGEN.

Dieses Loslegen bedeutet für mich, ich brauche erstmal einen ordentlichen Filemanager und Editor,
das leistet der Midnight Commander(kurz mc) den ich gleich mit:

#>_ aptitude -y install mc

... installiere!

Die Ausgabe dabei sieht so aus:

Die folgenden NEUEN Pakete werden zusätzlich installiert:
 libgpm2{a} mc mc-data{a}
0 Pakete aktualisiert, 3 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert.
1525 kB an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 6157 kB zusätzlich belegt sein.
Holen: 1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libgpm2 armhf 1.20.4-6 [34,9 kB]
Holen: 2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main mc-data all 3:4.8.3-10 [1086 kB]
Holen: 3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main mc armhf 3:4.8.3-10 [405 kB]
1525 kB wurden in 2 s heruntergeladen (557 kB/s)
Vormals nicht ausgewähltes Paket libgpm2:armhf wird gewählt.
(Lese Datenbank ... 69052 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von libgpm2:armhf (aus .../libgpm2_1.20.4-6_armhf.deb) ...
Vormals nicht ausgewähltes Paket mc-data wird gewählt.
Entpacken von mc-data (aus .../mc-data_3%3a4.8.3-10_all.deb) ...
Vormals nicht ausgewähltes Paket mc wird gewählt.
Entpacken von mc (aus .../mc_3%3a4.8.3-10_armhf.deb) ...
Trigger für hicolor-icon-theme werden verarbeitet ...
Trigger für man-db werden verarbeitet ...
Trigger für menu werden verarbeitet ...
Trigger für desktop-file-utils werden verarbeitet ...
libgpm2:armhf (1.20.4-6) wird eingerichtet ...
mc-data (3:4.8.3-10) wird eingerichtet ...
mc (3:4.8.3-10) wird eingerichtet ...
update-alternatives: /usr/bin/mcview wird verwendet, um /usr/bin/view (view) im Auto-Modus bereitzustellen
Trigger für menu werden verarbeitet ...

Wie man sieht werden die Pakete "libgpm2" "mc" und "mc-data" installiert weil das Paket "mc" von den Paketen "libgpm2" und "mc-data" abhängt.
Auf diese weise braucht man sich nicht selbst um Abhängikeiten kümmern, und kann die Programme sofort benutzen.
Die "Trigger" die mitgelaufen sind, haben uns ein Icon angelegt die man-db(Manualseiten DatenBank) auf den aktuellen Stand gebracht einen Eintrag im Desktop und auswahl Menü gemacht.

Jetzt starten wir das Ding gleich mal mit:

#>_ mc

... wir sehen:
Midnightcommander
Wir wollen den internen Editor "mcedit" benutzen wenn wir [F 4] drücken das muss noch konfiguriert werden.
Dazu drücken wir [F 9] das Menü wird Aktiviert. Jetzt zweimal [Pfeil links] das bringt uns zu Optionen. [Pfeil runter] öffnet das Menü, und Konfiguration der erste Menüpunkt ist schon ausgewählt.
Midnightcommander

Wir drücken [Enter] ein Dialog öffnet sich.
Mit der [Pfeil runter] bis "Internen Editor benutzen" (wer eine nicht Deutsche Locale eingestellt hat, hat das dann in "seiner" Sprache dort stehen) mit [Space] ein Sternchen setzen/Aktivieren weiter mit der [Pfeil runter] bis [OK] und [Enter] drücken.
Midnightcommander Optionen

Die Einstellung ist zwar jetzt aktiv aber noch nicht gespeichert.
Wir drücken nochmal [F 9] zweimal [Pfeil links] einmal [Pfeil runter] und [Pfeil rauf] (ja das meine ich ernst) ... sieht dann so aus:
Midnightcommander Einstellungen

[Enter] und wir sehen das:
Einstellungen gespeichert

Mit [F 10] kommt man raus das war's fürs erste ...
... wem das nicht reicht bitte unter Software weiterlesen:

Eine Englische Anleitung gibts im Web.