|
|
Zeile 1: |
Zeile 1: |
| <div style="text-align=right; float: right; clear: none; background: none; padding-left:20px">
| | Das Tutorial wurde auf Gargi.org verschoben: https://www.gargi.org/index.php?title=Installation:_Raspbian_auf_dem_Raspberry_Pi |
| __TOC__
| |
| </div><noinclude>
| |
| [[Bild:raspiinbox.jpg|In der Box]]<br><br>
| |
| Auf der Pi ein Raspbian zu installieren geht relativ einfach. Der hier beschriebene Weg funktioniert auf Basis eines beliebigen Linux auf dem Desktop. Ich verwende derzeit das aktuelle [http://www.opensuse.org openSUSE].
| |
| <br><br>
| |
| Zuerst muss dazu sich eine microSD Karte angeschafft werden. Ich verwende hierfür eine 32GB Karte, 16 GB reichen aber auch erstmal aus.
| |
| <br><br>
| |
| Ihr benötigt zudem einen Kartenleser, damit Ihr die Karte an Eurem Linuxrechner vorbereiten könnt. Formatiert werden muss die Karte nicht.
| |
| <br><br>
| |
| ==Raspbian herunterladen und "installieren"==
| |
| Unter Linux ladet Ihr dann erstmal das aktuelle Raspbian (zur Zeit Wheezy) herunter:
| |
| <br><br>
| |
| [http://www.raspberrypi.org/downloads Raspberry Downloads]
| |
| <br><br>
| |
| Ihr entpackt die Datei und erhaltet Damit ein Image (bin Datei). Dieses Image muss nur noch auf die Karte geschrieben werden:
| |
| <code><pre>dd bs=1M if=Dateiname.bin of=/dev/sdx</pre></code>
| |
| Bei Dateiname bitte den genauen Namen des Imges verwenden. Das Device '''/dev''' bitte ohne Partitionsnummer angeben. Also sollte die Karte als sde im System zu finden sein, dann '''/dev/sde'''. Solltet Ihr nicht sicher sein, welches Device die Karte im Kartenleser ist, dann mit einem
| |
| <code><pre>fdisk -l</pre></code>
| |
| anzeigen lassen.
| |
| <br><br>
| |
| ==Booten und konfigurieren== | |
| That's it! Wenn '''dd''' fertig geschrieben hat, dann die Karte in die Pi einstecken und mit dem Lan und via HDMI an einem Monitor anschließen. Zudem mindestens eine USB Tastatur dran für den Anfang. Jetzt Strom auf die Kiste geben und starten lassen. Ihr landet nach dem Boot recht schnell im Konfigurationsmenü (nur beim ersten Start):<br><br>
| |
| [[Bild:raspiconf1.jpg|Konfiguration]]<br><br>
| |
| '''Aktuell:''' Derzeit gibt es noch einen kleinen Fehler, der zumeist beim ersten Reboot Datenfehler auf der Karte bringt. Beendet deswegen zuerst das Programm '''raspi-config'''. Danach werdet root:
| |
| <code><pre>sudo su</pre></code>
| |
| Bei der Gelegenheit legt gleich mal ein eigenes Passwort für '''root''' an:
| |
| <code><pre>passwd</pre></code>
| |
| Jetzt aktualisiert erstmal die Firmware mit einem
| |
| <code><pre>rpi-update</pre></code>
| |
| Startet danach den Raspi neu. Jetzt meldet Euch als pi an. Dass Passwort ist '''raspberry'''. '''Achtung!''' Englische Tastatur! Für das y müsst Ihr deshalb z auf der deutschen Tastatur drücken
| |
| <br><br>
| |
| Jetzt startet den '''raspi-config''' neu:
| |
| <code><pre>sudo raspi-config</pre></code>
| |
| Ihr seht hier einige Konfigurationsmöglichkeiten, die man vornehmen kann und sollte. Dabei ist festzustellen, dass man hierüber viel Arbeit abgenommen bekommt.
| |
| | |
| #Der erste Punkt '''"Expand Filesystem"''' ist das, was Ihr als erstes machen solltet. Das Image nutzt natürlich nicht Eure komplette SD Karte. Erst wenn Ihr diesen Punkt anstoßt, wird das Dateisystem auf den kompletten Datenspeicher ausgedehnt.
| |
| #'''Change User Passwort:''' Hier könnt Ihr das Passwort des Users pi ändern. Das ist der Standarduser, der bereits eingerichtet ist und über den Ihr dann auch Root-Zugriff erlangen könnt (sudo su). Deswegen sollte hier sofort ein eigenes und sicheres Passwort gewählt werden. Das Standardpasswort lautet '''raspberry''' . Wenn Ihr später lieber mit root direkt arbeiten wollt, wie Ihr es eventuell von Debian gewohnt seid, dann könnt Ihr auch erstmal mittels '''sudo su root''' werden und danach mittels '''passwd''' ein neues Passwort für root festlegen. Danach könnt Ihr Euch direkt als Root anmelden.
| |
| #'''Enable Boot to Desktop:''' Hier könnt Ihr einstellen, dass gleich die grafische Benutzeroberfläche gestartet wird. Ansonsten muss man diese manuell mit startx aktivieren. Ich mache das nicht, da wir einen Server aufbauen und ausschließlich über die Konsole arbeiten werden.
| |
| #'''Internationalisation:''' Hier stellt Ihr Eure Sprache, Tastatur und Zeitzone ein. Das Menü ist selbsterklärend.
| |
| <br>
| |
| Wir steigen dann noch bei den '''Advanced Options''' ein:<br><br>
| |
| [[Bild:Advanced.jpg|Advanced]]
| |
| <br><br>
| |
| Hier ist auf jeden Fall für uns der Punkt Enable remote command ('''SSH''') wichtig. Das aktivieren wir. Danach legen wir noch unseren '''Hostnamen''' fest. Jetzt starten wir die Kiste neu. Wenn Ihr wieder dieses Menü aufrufen wollt, dann startet dieses mittels
| |
| <code><pre>raspi-config</pre></code>
| |
| <br><br>
| |
| | |
| ==Kleine Nacharbeiten==
| |
| ===Kleine Helfer nachinstallieren===
| |
| Loggt Euch nochmal als '''pi''' ein und werdet '''root''':
| |
| <code><pre>sudo su</pre></code>
| |
| Aktualisiert erstmal die Kiste:
| |
| <code><pre>apt-get update
| |
| apt-get upgrade</pre></code>
| |
| Ich installiere gerne noch folgende Programme nach:
| |
| <code><pre>apt-get install mc htop</pre></code>
| |
| <br><br>
| |
| ===Netzwerkkonfiguration===
| |
| Danach nehmen wir uns noch unsere Netzwerkkonfiguration vor, solltet Ihr Eurer pi eine feste IP zuweisen wollen:
| |
| <code><pre>nano /boot/cmdline.txt</pre></code>
| |
| Die Datei besteht nur aus einer Zeile. Setzt hier nur hinten Eure gewünschte IP dazu:<br><br>
| |
| '''ip=192.168.X.X'''<br><br>
| |
| (die X durch Eure echte IP Werte ersetzen)
| |
| <br><br>
| |
| Danach die Änderung speichern!
| |
| <br><br>
| |
| '''ALTERNATIV:'''<br>
| |
| Solltet Ihr mit obiger Methode 2 IP Adressen hinterlegt haben (eine statische, eine von Eurem DHCP Server geliefert), dann könnt Ihr anstatt wie kürz vorher beschrieben wie folgt vorgehen: Editiert die Datei '''/etc/dhcpcd.conf''' und fügt folgende Zeilen zum Schluss ein:
| |
| <code><pre>interface eth0
| |
| static ip_address=192.168.XXX.XXX/24
| |
| static routers=192.168.XXX.1
| |
| static domain_name_servers=192.168.XXX.1</pre></code>
| |
| Verwendet entsprechend die passende IPs.
| |
| <br><br>
| |
| Ebenso muss in der '''/etc/network/interfaces''' die Zeile '''iface''' des entsprechenden Adapters auf '''manual''' gesetzt sein.
| |
| Speichert die Änderung und startet neu.
| |
| <br><br>
| |
| | |
| ===Die Swap Datei===
| |
| Jetzt kümmern wir uns noch um die '''SWAP''' Datei. Diese richten wir auf doppelte Größe Eures RAMs ein. Also wenn Ihr ein pi mit 1024 MB habt, dann auf 2048MB Swap.
| |
| <code><pre>sudo su
| |
| echo "CONF_SWAPSIZE=1024" > /etc/dphys-swapfile
| |
| dphys-swapfile setup
| |
| dphys-swapfile swapon</pre></code>
| |
| <br><br>
| |
| ===Sprache und Tastatur===
| |
| Stellt nun noch die Sprache, Zeitzone und Tastatur ein.<br>
| |
| Zeitzone:
| |
| <code><pre>dpkg-reconfigure tzdata</pre></code>
| |
| Sprache:
| |
| <code><pre>dpkg-reconfigure locales</pre></code>
| |
| ''(hier de_de UTF8 verwenden und die eng Markierung herausnehmen)''
| |
| <br><br>
| |
| Tastatur:
| |
| <code><pre>dpkg-reconfigure keyboard-configuration</pre></code>
| |
| ''(hier die Tastatur auf German stellen. Den Rest einfach übernehmen)''
| |
| <br><br>
| |
| ===Die Systemzeit===
| |
| Da der Raspberry Pi keine echte hardwaregestützte Systemzeit besitzt, kann es sein, dass sich der Pi mal in der Zeit verirrt. Man versucht das zwar mit dem Programm "fake-hwclock" zu stützen, aber ich habe leider selbst schon erlebt, dass nach einem Reboot die Zeit nicht mehr stimmt.
| |
| <br><br>
| |
| Der NTP Dämon soll zwar dafür sorgen, dass die Zeit immer wieder korrigiert wird, aber wir wollen auch hier etwas nachhelfen.
| |
| <br><br>
| |
| Zum einen werden wir dafür sorgen, dass nach einem Reboot die Zeit mit einem Zeitserver aktualisiert wird. Ebenso dann beim Laufenden System alle 12 Stunden.
| |
| <br><br>
| |
| Installiert dazu erstmal '''ntpdate''':
| |
| | |
| <code><pre>
| |
| apt-get install ntpdate</pre></code>
| |
| Legt nun ein neues Script an:
| |
| | |
| <code><pre>
| |
| nano /usr/local/bin/timefix</pre></code>
| |
| Füllt dieses Skript wie folgt:
| |
| | |
| <code><pre>
| |
| #!/bin/sh
| |
| | |
| rm /var/log/timefix.log
| |
| echo "old time" >> /var/log/timefix.log
| |
| date >> /var/log/timefix.log
| |
| | |
| echo "" >> /var/log/timefix.log
| |
| /etc/init.d/ntp stop
| |
| | |
| echo "[...] updating time clock"
| |
| | |
| /usr/sbin/ntpdate ptbtime1.ptb.de >> /var/log/timefix.log
| |
| | |
| echo "Done!"
| |
| | |
| /etc/init.d/ntp start
| |
| | |
| echo "" >> /var/log/timefix.log
| |
| echo "new time" >> /var/log/timefix.log
| |
| date >> /var/log/timefix.log</pre></code>
| |
| Dieses Skript muss ausführbar gemacht werden:
| |
| | |
| <code><pre>
| |
| chmod +x /usr/local/bin/timefix</pre></code>
| |
| Nun legen wir in der crontab fest, dass das Skriptalle 12 Stunden gestartet werden soll:
| |
| | |
| <code><pre>
| |
| crontab -e</pre></code>
| |
| Für fügen folgende Zeilen ein:
| |
| | |
| <code><pre>
| |
| # Timefix every 12 hours
| |
| 0 */12 * * * /usr/local/bin/timefix > /dev/null</pre></code>
| |
| Damit die Zeit kurz nach dem Booten ausgeführt wird editieren wir die /etc/rc.local . Dort fügen wir VOR dem exit 0 folgendes ein:
| |
| | |
| <code><pre>
| |
| /etc/init.d/ntp stop
| |
| echo "wait 10 seconds"
| |
| sleep 10
| |
| echo "updating timeclock"
| |
| /usr/sbin/ntpdate ptbtime1.ptb.de
| |
| /etc/init.d/ntp start</pre></code>
| |
| | |
| Das war es dann schonmal. Mit einem
| |
| <code><pre>reboot</pre></code>
| |
| startet die Kiste neu.
| |
| <br><br>
| |
| | |
| ===Langsamer ssh login===
| |
| Wenn Ihr jetzt nur noch die pi als Server verwenden wollt, dann könnt Ihr ab jetzt die Tastatur und den Monitor weg lassen und Euch via '''ssh''' an die dafür vergebene IP Adresse einloggen und weiter konfigurieren.
| |
| <br><br>
| |
| Wenn es beim Login am '''ssh''' dauert, bis die Passwortabfrage kommt, dann kann es sein, dass der DNS nicht korrekt eingestellt ist. Überprüft mit einem
| |
| | |
| <code><pre>
| |
| cat /etc/resolv.conf</pre></code>
| |
| ob der DNS korrekt auf der Kiste eingetragen ist. Falls nicht, editiert die Konfiguration entsprechend:
| |
| | |
| <code><pre>
| |
| nano /etc/resolv.conf</pre></code>
| |
| <br><br>
| |
| | |
| ==Backup der Installation==
| |
| | |
| Wenn man viel (gerade am Anfang) mit dem Pi experimentiert, dann macht es Sinn, seine Basisinstallation zu sichern. Man benötigt entweder ein weiteres Linux dazu (und einen Kartenleser), oder eine zweite Karte mit einem installierten Linux, um das Backup direkt am Pi zu machen. Beides verläuft ähnlich. Ich erkläre das an der Variante am Pi mit einer zusätzlichen externen Festplatte.
| |
| <br><br>
| |
| Startet den Pi mit einem Linux und steckt danach den Kartenleser mit Eurer Karte an, auf der sich Euer zu sicherndes System befindet. Mit einem
| |
| | |
| <code><pre>fdisk -l</pre></code>
| |
| | |
| findet Ihr heraus, um welches Device es sich bei Eurer Karte handelt. Bei mir ist es beispielsweise '''/dev/sdd'''
| |
| <br><br>
| |
| Ich lege unter '''/home''' (meine Festplatte) ein weiteres Verzeichnis an:
| |
| | |
| <code><pre>mkdir /home/image</pre></code>
| |
| | |
| Jetzt kopiere ich die komplette Karte in ein Image. Achtung, bei einer 16GB Karte sind das eben auch 16GB!
| |
| | |
| <code><pre>dd bs=1M if=/dev/sdd of=/home/image/wheezy.img</pre></code>
| |
| | |
| Dies dauert dann eine Weile.
| |
| <br><br>
| |
| Die Sicherung spielen wir dann wieder mit einem
| |
| | |
| <code><pre>dd bs=1M if=/home/image/wheezy.img of=/dev/sdd</pre></code>
| |
| | |
| Jetzt noch ein Kniff. In meinem Fall kopiere ich beispielsweise von einer 16GB Karte auf eine 32GB Karte. D.h. nun sind rund 16 GB nicht benutzt. Wheezy verteilt sich ja auf 2 Partitionen. D.h. die zweite (root) Partition kann nach hinten expandiert werden.
| |
| <br><br>
| |
| Dazu checken wir erstmal die die zweite Partition:
| |
| | |
| <code><pre>e2fsck -f /dev/sdd2</pre></code>
| |
| | |
| Danach können wir die Partition hochziehen:
| |
| | |
| <code><pre>resize2fs /dev/sdd2</pre></code>
| |
| | |
| Steckt die Karten nun um und testet die "geclonte" Karte auf dem PI.
| |