Hier findet Ihr die Tips, Tricks und Lösungen die ich auf verschiedenen Internetseiten gefunden habe.
Kompakt aufbereitet und Drag & Drop fähig.
- neuste Version von Win32DiskImager installieren
- neuste Version von raspbian herunterladen
- mit Win32DiskImager auf SD-Karte aufspielen
Um euch bei einem frisch installierten raspbian per SSH einzuloggen braucht ihr username und passwort:
- username: pi
- passwort: raspberry
Es versteht sich von selbst das man das Passwort danach direkt per raspi-config ändern sollte.
- expand_rootfs – Expand root partition to fill SD card
Die Images für den Pi passend entpackt meist auf eine 4 GB große SD Karte. Wer sie auf einer größeren Karte einsetzt, muss im Nachhinein die Systempartition vergrößern oder zusätzliche Partitionen anlegen, um den übrigen Platz auf der Karte im System nutzen zu können. Dieser Menüpunkt nimmt einem die Arbeit zur Partitionserweiterung ab.
Nach dem Aufruf dieses Punkts ist soweit alles vorbereitet und beim nächsten Bootvorgang wird die Systempartitione entsprechend erweitert, was je nach Größe und Geschwindigkeit der SD-Karte etwas Zeit in Anspruch nehmen kann. - configure_keyboard – Set keyboard layout
Über diesen Menüpunkt kann man die Tastaturbelegung auswählen. Der Aufruf benötigt ein paar Sekunden. Im Anschluss kann man aus einer Liste das passende Tastaturlayout auswählen. Wer seine Tatstatur nicht in der Liste aufgeführt findet, kann für eine normale Tastatur in voller Größe in der Regel die Voreinstellung „Generic 105-key (Intl) PC“ übernehmen.
Die Frage nach der Sprachversion ist passend für die eingesetzte Tastatur zu beantworten. Voreingestellt ist eine englische Tastatur im britischen Layout. Über den Punkt „Other“ bekomtm man eine vergrößerte Auswahl, in der man zunächste das Grundlayout auswählt, hierzulande also wohl meist „German“ und im folgenden Dialog zur genaueren Spezifizierung des deutschen Layouts in der Regel wohl wieder einfach „German“ und dann „The default for the keyboard layout“ und „No compose key“.
change_pass – Change password for ‚pi‘ user
Der Benutzer „pi“ ist auf dem System bereits vorangelegt und kann als regulärer Benutzer für alltägliche Arbeiten benutzt werden. Über diesen Punkt können wir ihm ein Passwort nach eigenem Geschmack geben. Beachten sollte man, dass ggf. das eingestellte deutsche Tastaturlayout erst anch einem Neustart aktiv ist und y und z vertauscht sind. Wer auf Nummer Sicher gehen möchte, sollte diese Buchstaben und Sonderzeichen im Passwort nicht verwenden. Das Setzen eines leeren Passworts ist nicht möglich. - change_locale – Set locale
Über diesen Punkt bestimmen wir Zeichensatz und Sprache des Systems. Für ein deutsches System setzen wir die Locale auf „de_DE.UTF-8 UTF-8“ indem wir den Punkt mit der Leertaste markieren. Die Markierung bei „en_GB.UTF-8 UTF-8“ können wir so auch aufheben. Mit einem Druck auf die TAB-Taste kommen wir auf die Schaltfläche „Ok“ und wählen nun nochmal „de_DE.UTF-8“ aus, damit Programme auf dem System deutsche Texte ausgeben, soweit diese verfügbar sind. Das System benötigt nun einen Augenblick um die Einstellung vorzunehmen. - change_timezone – Set timezone
Hierüber können wir dem System sagen in welcher Zeitzone wir uns befinden. Wir wählen zunächst „Europe“ und danach „Berlin“ aus. - ssh – Enable or disable ssh server
SSH ist eine Möglichkeit um über das Netzwerk u.a. auf die Textkonsole des Systems zugreifen zu können. Hierfür nuttz man z.B. unter Windows putty, oder von einem Mac oder Unix-System aus der Shell heraus das ssh-Kommando. Die Verbdindung wird automatisch verschlüsselt. Um den Zugriff zu ermöglichen muss auf dem Pi ein SSH-Serverdienst laufen, der über diesen Punkt aktiviert (Enable) oder deaktiviert „Disable“ wird. - boot_behaviour – Start desktop on boot?
Hierüber weisen wir den Pi an beim Systemstart automatisch in die grafische Oberfläche zu booten (Yes) oder nicht (No). Bei letzterem landet man zuächst auf der textbasierten Konsole und kann dann manuell über startx das X11-Fenstersystem starten. - update – Try to upgrade raspi-config
Ist der Pi an einem Netzwerk angeschlossen und per DHCP automatisch konfiguriert (hat man einen Router mit DHCP-Funktion im Netz, geschieht dies automatisch beim Bootvorgang), kann man hierüber das Tool raspi-config selbst auf den aktuellen Stand bringen. Bei einer Neuinstallation bietet es sich an dies als allererstes zu machen, um evtl. in den Genuss zusätzliche und / oder fehlerkorrigierter Funktionen einer neueren Version des Tools zu kommen.
Nach Durchlauf der Aktualisierung befindet man sich wieder auf der Shell und muss sudo raspi-configaufrufen, um erneut in das Tool zu gelangen.
Um ein Test des Dateisystems beim nächsten Booten zu erzwingen
touch /boot/forcefsck
Für Karten mit dem Chip rtl8192c müssen wir eine Konfigurationsdatei für den Treiber anlegen
nano /etc/modprobe.d/8192cu.conf
Folgende Zeile wird in die Datei geschrieben
options 8192cu rtw_power_mgnt=0 rtw_enusbss=0
Bei anderen Karten sollte folgender Eintrag in der interfaces-Datei funktionieren
nano /etc/network/interfaces
dort folgende Zeile einfügen
wireless-power off
Zuerst wechseln wir ins passende Verzeichnis
cd /etc/ifplugd/action.d/
Nun sichern wir zuerst das alte Skript und kopieren danach das neue Skript hierher
mv ifupdown ifupdown.original cp /etc/wpa_supplicant/ifupdown.sh ./ifupdown
Das wars auch schon, noch ein Neustart und in Zukunft kommt nach einem Verbindungsabbruch wieder ein Reconnect
reboot
Die mitgelieferte Bilbliothek von wolfram alpha entfernen – spart Platz und verringert die Fehleranfälligkeit
apt-get remove wolfram-engine
Gleich zu Beginn sollte man die installierten Software-Pakete aktualisieren
apt-get update apt-get dist-upgrade
Zuerst müssen wir die entsprechende Konfigurationsdatei öffnen
nano /etc/network/interfaces
Danach bitte wie folgt ausfüllen
auto lo iface lo inet loopback auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.0.24 netmask 255.255.255.0 gateway 192.168.0.1 auto wlan0 allow-hotplug wlan0 iface wlan0 inet static address 192.168.0.23 netmask 255.255.255.0 gateway 192.168.0.1 wpa-ap-scan 1 wpa-scan-ssid 1 wpa-ssid "DEIN-WLAN-NAME" wpa-psk "DEIN-WLAN-SCHLÜSSEL" dns-nameservers 192.168.0.1
Ein Update der Raspberry Pi Firmware ist auch zu empfehlen. Dafür muss zunächst die passende Software installiert werden.
apt-get install git wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update chmod +x /usr/bin/rpi-update
Danach dann nur noch das neu installierte Script per Hand starten und das Firmware-Update einspielen.
rpi-update reboot
Um fast alle x11-Komponenten zu entfernen nutzen wir folgende Befehle.
apt-get purge xserver* x11-common x11-utils x11-xkb-utils x11-xserver-utils xarchiver xauth xkb-data console-setup xinit lightdm libx{composite,cb,cursor,damage,dmcp,ext,font,ft,i,inerama,kbfile,klavier,mu,pm,randr,render,res,t,xf86}* lxde* lx{input,menu-data,panel,polkit,randr,session,session-edit,shortcut,task,terminal} obconf openbox gtk* libgtk* alsa* python-pygame scratch tsconf xdg-utils desktop-file-utils omxplayer apt-get autoremove --purge apt-get autoclean
Nach dem einloggen auf dem Raspberry Pi über ssh erscheint immer folgender, im Prinzip unnötiger, Copyright-Hinweis
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.
Um stattdessen einen eigenen, sinnvollen Text anzeigen zu lassen müssen wir nur eine Datei ändern:
nano /etc/motd
Dort tragen wir jetzt einfach unseren Text ein, dieser erscheint dann beim nächsten einloggen.
Wenn Ihr irgendwann Probleme mit dem Pi habt und in der /var/log/messages folgender Eintrag auftaucht
[ 21.280705] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
dann müsst Ihr die Bootpartition überprüfen, aber Achtung, wenn ihr per
apt-get install dosfstools
und anschließendem
fsck.fat -V /dev/mmcblk0p1
die Partiton überprüft, dann bekommt Ihr keinen Fehler angezeigt!
Stattdessen müssen wir die dosfstools selbst übersetzen.
Und auch wenn es komisch klingt, so klappt es! Also los:
umount /boot git clone http://daniel-baumann.ch/git/software/dosfstools.git cd dosfstools make make install fsck.fat -V /dev/mmcblk0p1
mit 1 bestätigen und dann nochmal:
fsck.fat -a /dev/mmcblk0p1 mount /boot
Jetzt läuft die Partition wieder fehlerfrei.
Bekommt Ihr diese Fehlermeldung zu sehen:
kernel lacks cgroups or memory controller not avaiable, not starting cgroups ....
Dann keine Panik, um den Fehler los zu werden müssen wir nur einen zusätzlichen Befehl in den Bootmanager eintragen.
Zuerst öffnen wir die richtige Datei:
nano /boot/cmdline.txt
Und jetzt hängen wir den folgenden Abschnitt an das Ende der Zeile dran
cgroup_enable=memory (before elevator=deadline)
Danach ist die Fehlermeldung verschwunden.
Folgende Pakete halte ich für sehr nützlich, dabei nutze ich beim Raspberry Pi nie einen Monitor, sondern arbeite mit allen Programmen über die Konsole.
für einen leichteren Umgang mit den Start-Skripten nutze ich rcconf
apt-get install rcconf
vor allem auf dem Raspberry Pi 2 mit seinen 4 x Kernen finde htop übersichtlicher als top
apt-get install htop
Oft arbeitet man viel mit dem Raspberry Pi, entwickelt aber auf einem anderen Rechner.
Dann kommt irgendwann der Zeitpunkt wo ein FTP-Server interessant wird, hier also die Anleitung für proFTPD.
Zuerst installieren wir die Software an sich
apt-get install proftpd-basic
danach öffnen wir zuerst die Konfigurationsdatei und deaktivieren dort den IPv6 Support.
Außerdem setzen wir bei ServerName den entsprechenden Namen ein.
Nun sorgen wir dafür das nur ein Benutzer erlaubt ist und setzen das Standart-Verzeichnis auf dessen Root
nano /etc/proftpd/conf.d/sourcecode.conf
Hier dann folgenden Abschnitt einfügen
<Global> RequireValidShell off </Global> DefaultRoot ~ sc_user <Limit LOGIN> DenyGroup !sc_user </Limit>
Nun legen wir ein Verzeichnis für unseren ftp-Benutzer an
mkdir /sourcecode
Jetzt können wir den Benutzer anlegen und ihm ein Passwort verpassen und setzen dann auch gleich noch die Rechte
adduser sc_user --shell /bin/false --home /sourcecode chown sc_user:sc_user /sourcecode
Damit beim hochfahren keine Fehlermeldung erscheint müssen wir noch ein Modul deaktivieren
Also entsprechende Datei öffnen
nano /etc/proftpd/modules.conf
Und dort folgendes Modul auskommentieren
# LoadModule mod_tls_memcache.c
Jetzt können wir proFTPD neustarten – das war es.
Abschließend würde ich noch per rcconf dafür sorgen das proFTPD automatisch mitstartet.
service proftpd restart rcconf
Für ein schnelleren Systemstart und weniger Fehler schalten wir die interne Ethernet-Schnittstelle aus.
Dafür müssen wir nur ein init-Script anlegen und dieses beim Booten automatisch starten lassen.
nano /etc/init.d/disable-ethernet
Die Datei bekommt folgenden Inhalt
#!/bin/bash ### BEGIN INIT INFO # Provides: disable-ethernet # Required-Start: $local_fs # Required-Stop: # Default-Start: S # Default-Stop: # Short-Description: Disables on-board Ethernet to fix WiFi+Lapdock # Description: When using the Raspberry Pi Model B on the # Motorola Atrix Lapdock, inserting certain WiFi # adapters into either the RPi's spare USB port or # the Lapdock's USB ports causes the on-board # Ethernet and WiFi adapter to malfunction. # Disabling the on-board Ethernet driver allows # the WiFi adapter to work simultaneously with the # Lapdock. ### END INIT INFO . /lib/lsb/init-functions DEVICE_DIR=/sys/bus/usb/drivers/smsc95xx BUS_ID="1-1.1:1.0" INT_TOGGLE=true #issue ifdown and ifup? #INT_TOGGLE=false is_enabled () { [ -L "$DEVICE_DIR/$BUS_ID" ] && return 0 || return 1 } toggle_int () { is_enabled || return 0 #ethernet not enabled [ "$(ls -1 "$DEVICE_DIR/$BUS_ID/net" |wc -l)" -eq "1" ] || return 0 #something wrong $INT_TOGGLE || return 0 #user doesn't want this [ ! -f /run/network/ifstate ] && return 0 #run level S int_name=$(ls -1 "$DEVICE_DIR/$BUS_ID/net") if [ "$1" == "up" ]; then log_action_begin_msg "Bringing on-board interface up" ifup $int_name else log_action_begin_msg "Bringing on-board interface down" ifdown $int_name fi log_action_end_msg $? } case "$1" in start) if ! is_enabled; then log_failure_msg "Service already running. Exiting." exit 0 fi toggle_int down log_action_begin_msg "Disabling on-board network interface" echo "$BUS_ID" > $DEVICE_DIR/unbind log_action_end_msg $? exit $? ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) if is_enabled; then log_failure_msg "Service not running. Exiting." exit 0 fi log_action_begin_msg "Enabling on-board network interface" echo "$BUS_ID" > $DEVICE_DIR/bind log_action_end_msg $? toggle_int up exit $? ;; status) if is_enabled; then echo "Service is NOT running: on-board interface enabled" >&2 exit 1 else echo "Service is running: on-board interface disabled" exit 0 fi ;; *) echo "Usage: $0 start|stop|status" >&2 exit 3 ;; esac
Danach dann nur noch das Script ausführbar machen
chmod 755 /etc/init.d/disable-ethernet
automatischen Start beim Booten aktivieren
insserv disable-ethernet
automatischen Start beim Booten deaktivieren
insserv -r disable-ethernet
root-Zugang erlangen (damit man nicht vor jeden Befehl sudo tippen muss)
sudo su -
System neustarten
reboot
System herunterfahren
shutdown -h now
Im Image enthalten sind alle Tips und als Extra ein fertig installiertes python 3.4 und proFTPD – das spart richtig Zeit.
Einzig die statische Netzwerk-Adresse habe ich weggelassen.
- File: raspbian_custom.rar
- raspbian-Version: 2015-05-05-raspbian-wheezy
- letztes Update: 04.07.2015
- User: pi / root
- proFTPD User: sc_user
- proFTPD Verzeichnis: /sourcecode
- Passwort: raspberry
Das Passwort ist für alle User gleich.
Ich würde direkt nach dem ersten Start „raspi-config“ aufrufen, dort das Passwort für den User „pi“ ändern und danach den Speicherplatz auf die komplette SD-Karte erweitern.
Außerdem solltet Ihr noch das Passwort für den User „root“ und „sc_user“ ändern.
Hallo Christopher,
ist dir schon einmal aufgefallen, dass die Schrift auf der Seite immer größer wird, je öfter ich die Sections auf und zuklappe?
Ich bin gerade mit meinem Android Tablet hier. Desktop PC müsste ich mal testen.
Mit dem Inhalt deiner Seite liegst du voll im Trend.
Ich finde es super, auch weil ich weiß was für Arbeit das alles macht.
Ein wenig Programmieren ist lustig. Dokumentieren dann eher ätzend.
Nein, ist mir noch nicht aufgefallen.
Ich nutze dafür ein WordPress-Plugin, ich muss mal schauen ob ich das ersetzen kann.
Punkt: Volumen unmounted.
Das verstehe ich nicht. Ein
apt-get install dosfstools
überprüft definitv NICHT die Bootpartition. Und warum jetzt das Tool per hand kompiliert werden soll, wird auch nicht beschrieben???
Bist du dir bei diesem Punkt wirklich sicher. ( Zumal die fsck-Tools bereits auf dem System drauf sind. )
Also klar, das ein „apt-get install dosfstool“ ersteinmal nicht die Bootpartition überprüft.
Damit installiert man nur die notwendige Software, diese muss man für die Überprüfung dann nochmal seperat starten.
Hier habe ich mich unglücklich ausgedrückt, ich werde das verbessern.
Warum ich das per Hand kompiliere, obwohl es eigentlich zum System gehört?
Das hat den Grund, das vor ca. 1 Jahr, ein Fehler im mitausgelieferten Paket vorhanden war.
Dieser Fehler hat dazu geführt, das man zwar per „fsck.fat“ die Partition auf Fehler überprüfen konnte, reparieren ließ sich damit der Fehler jedoch nicht.
Nachdem ich damals viele Stunden damit verbracht habe den Fehler zu finden (hatte immer wieder die Partition überprüft und repariert, der Fehler ging aber nie weg), hatte ich irgendwann Glück und bin auf einen Artikel gestossen der dazu geraten hat das Tool selbst zu übersetzen.
Gesagt, getan, ich habe das Tools dann selbst kompliert und siehe da, auf einmal ging auch das reparieren der Partition und der Fehler war weg.
Es ist durchaus möglich das der Fehler in den aktuellen raspbian-Ausgaben bereits korrigiert ist, das kann ich leider nicht sagen.
Dafür müsste der Fehler bei mir nochmal auftreten, am besten mit einem „jungfräulichen“ raspbian.
Ich hoffe du verstehst jetzt warum ich diesen Punkt mit aufgenommen habe.
Danke
Interessante Tipps, aber es gibt in der Rubrik SSH einen Rechtschreibfehler: Standard wäre korrekt.