Good to Know Database

Raspbian Wheezy: Raspbian-Image auf SD-Karte und USB-Datenträger installieren


Raspbian basiert auf Debian Wheezy und wurde speziell für die Raspberry Pi Hardware optimiert. Normalerweise wird das Raspbian Image auf eine SD-Karte mit mindestens 2GB Speicherkapazität installiert. In der folgenden Anleitung soll die Bootpartition das Raspbian Images auf eine SD-Karte und die Systempartition auf einen USB-Datenträger installiert werden. Da der Raspberry Pi nur von einer SD-Karte gebootet werden kann, muss die Bootpartition auf eine SD-Karte installiert werden. Um die höhere Schreib- und Lesegeschwindigkeit eines USB-Sticks oder einer USB-Festplatte zu nutzen, kann man die Systempartition auf einen USB-Datenträger installieren.

Raspbian herunterladen

Das aktuelle Raspbian-Image können Sie sich von http://www.raspberrypi.org/downloads herunterladen. Das derzeit aktuelle Raspbian-Image 2012-10-28-wheezy-raspbian.zip kann auch durch den folgenden Befehl heruntergeladen werden.

georg@ubuntu1204:~$ wget http://achtbaan.nikhef.nl/events/rpi/images/raspbian/2012-10-28-wheezy-raspbian/2012-10-28-wheezy-raspbian.zip

Nach dem Download sollten Sie die Prüfsumme der heruntergeladenen Datei überprüfen. Stimmt diese nicht mit der Angabe auf der Downloadseite überein, ist vermutlich beim Herunterladen ein Fehler aufgetreten und Sie sollten das Image erneut herunterladen.

georg@ubuntu1204:~$ sha1sum 2012-10-28-wheezy-raspbian.zip
3ee33a94079de631dee606aebd655664035756be  2012-10-28-wheezy-raspbian.zip

Anschließend können Sie das Archiv mit dem Befehl unzip entpacken.

georg@ubuntu1204:~$ unzip 2012-10-28-wheezy-raspbian.zip

Bootpartition auf die SD-Karte installieren

Im nächsten Schritt wird die Bootpartition des Raspbian Images auf die SD-Karte installiert. Nachdem Sie die SD-Karte in Ihren SD-Slot gesteckt haben, können Sie mit Hilfe von dmesg den Gerätenamen, über welchen die SD-Karte angesprochen werden kann, herausfinden. In diesem Fall wurde der SD-Karte der Gerätename /dev/mmcblk0 zugewiesen. Sollte dies bei Ihnen nicht der Fall sein, müssen Sie den Gerätenamen in den nachfolgenden Befehlen entsprechend anpassen.

georg@ubuntu1204:~$ dmesg
[...]
[ 1653.585572] mmc0: new SDHC card at address b368
[ 1653.589999] mmcblk0: mmc0:b368 F0F0F 15.0 GiB
[ 1653.591699]  mmcblk0: p1

Sollte die SD-Karte von Ihrer Distribution (hier Ubuntu 12.04) automatisch eingehängt worden sein, müssen Sie diese wieder unmounten.

georg@ubuntu1204:~$ for i in $(mount | grep ^"/dev/mmcblk0" | awk '{print $1}'); do sudo umount $i; done

Anschließend löschen Sie die auf der SD-Karte befindlichen Partitionen indem Sie die Partition Table überschreiben.

georg@ubuntu1204:~$ sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1 seek=446 count=64

Jetzt sollten Sie sich die Partitionsaufteilung des Raspbian Images mit fdisk anzeigen lassen. Dabei ist vor allem das Ende der Bootpartition von Interesse.

georg@ubuntu1204:~$ sudo fdisk -l 2012-10-28-wheezy-raspbian.img

Platte 2012-10-28-wheezy-raspbian.img: 1939 MByte, 1939865600 Byte
255 Köpfe, 63 Sektoren/Spur, 235 Zylinder, zusammen 3788800 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Festplattenidentifikation: 0x000f06a6

                         Gerät  boot.     Anfang        Ende     Blöcke   Id  System
2012-10-28-wheezy-raspbian.img1            8192      122879       57344    c  W95 FAT32 (LBA)
2012-10-28-wheezy-raspbian.img2          122880     3788799     1832960   83  Linux

Schreiben Sie jetzt das Raspbian Image bis zum Ende der Bootpartition auf die SD-Karte. Wie Sie der Ausgaben von fdisk entnehmen können, endet die Bootpartition beim Block 122879. Inkrementieren Sie diesen Wert einmalig und übergeben das Ergebnis mit dem Argument count an den Befehl dd.

georg@ubuntu1204:~$ sudo dd if=2012-10-28-wheezy-raspbian.img of=/dev/mmcblk0 bs=512 count=122880
122880+0 Datensätze ein
122880+0 Datensätze aus
62914560 Bytes (63 MB) kopiert, 24,6878 s, 2,5 MB/s

Nachdem der erste Teil des Raspbian Images auf die SD-Karte kopiert wurde, sollten Sie einen kurzen Blick auf die Partitionstabelle der SD-Karte werfen.

georg@ubuntu1204:~$ sudo parted /dev/mmcblk0 print
Modell: SD F0F0F (sd/mmc)
Festplatte  /dev/mmcblk0:  16,1GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos

Nummer  Anfang  Ende    Größe   Typ      Dateisystem  Flags
 1      4194kB  62,9MB  58,7MB  primary  fat16        LBA
 2      62,9MB  1940MB  1877MB  primary  ext4

Wie Sie sehen zeigt die Partitionstabelle zwei Partitionen an. Da tatsächlich nur die erste Partition auf der SD-Karte existiert sollten Sie den zweiten Partitionseintrag löschen.

georg@ubuntu1204:~$ sudo parted /dev/mmcblk0 rm 2
Informationen: Möglicherweise müssen Sie /etc/fstab anpassen.

Ein erneuter Blick auf die Partitionstabell sollte das folgende Ergebnis anzeigen.

georg@ubuntu1204:~$ sudo parted /dev/mmcblk0 print
Modell: SD F0F0F (sd/mmc)
Festplatte  /dev/mmcblk0:  16,1GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos

Nummer  Anfang  Ende    Größe   Typ      Dateisystem  Flags
 1      4194kB  62,9MB  58,7MB  primary  fat16        LBA

Bootkonfiguration anpassen

Damit Raspbian beim Booten die Systempartition auf dem USB-Datenträger sucht, müssen Sie die Bootkonfiguration bearbeiten. Dazu hängen Sie die Bootpartition mit dem folgenden Befehl unter /mnt ein.

georg@ubuntu1204:~$ sudo mount /dev/mmcblk0p1 /mnt

Öffnen Sie anschließend die Konfigurationsdatei cmdline.txt mit einem Editor.

georg@ubuntu1204:~$ sudo vi /mnt/cmdline.txt

Hier sollten Sie die folgende Zeile vorfinden.

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Ändern Sie den Parameter root wie folgt ab. Dadurch wird dem Kernel beim Booten mitgeteilt, dass er die Systempartition unter /dev/sda2 findet.

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline rootwait

Haben Sie die Änderung durchgeführt können Sie die Bootpartition wieder aushängen.

georg@ubuntu1204:~$ sudo umount /mnt

USB-Datenträger einrichten

In diesem Abschnitt werden die notwendigen Schritte zum Einrichten des USB-Datenträgers vorgenommen. Nachdem Sie den USB-Datenträger mit Ihrem Rechner verbunden haben, können Sie mit Hilfe von dmesg den Gerätenamen, über welchen dieser angesprochen werden kann, herausfinden. In diesem Fall wurde dem USB-Stick der Gerätename /dev/sdb zugewiesen. Sollte dies bei Ihnen nicht der Fall sein, müssen Sie den Gerätenamen in den nachfolgenden Befehlen entsprechend anpassen.

georg@ubuntu1204:~$ dmesg
[...]
[ 6798.496267] usb 2-1.2: new high-speed USB device number 7 using ehci_hcd
[ 6798.592471] scsi10 : usb-storage 2-1.2:1.0
[ 6799.617013] scsi 10:0:0:0: Direct-Access     Verbatim STORE N GO       5.00 PQ: 0 ANSI: 0 CCS
[ 6799.618451] sd 10:0:0:0: Attached scsi generic sg2 type 0
[ 6800.435072] sd 10:0:0:0: [sdb] 31277056 512-byte logical blocks: (16.0 GB/14.9 GiB)
[ 6800.438652] sd 10:0:0:0: [sdb] Write Protect is off
[ 6800.438658] sd 10:0:0:0: [sdb] Mode Sense: 23 00 00 00
[ 6800.442208] sd 10:0:0:0: [sdb] No Caching mode page present
[ 6800.442215] sd 10:0:0:0: [sdb] Assuming drive cache: write through
[ 6800.452601] sd 10:0:0:0: [sdb] No Caching mode page present
[ 6800.452607] sd 10:0:0:0: [sdb] Assuming drive cache: write through
[ 6800.468248]  sdb: sdb1
[ 6800.476667] sd 10:0:0:0: [sdb] No Caching mode page present
[ 6800.476675] sd 10:0:0:0: [sdb] Assuming drive cache: write through
[ 6800.476679] sd 10:0:0:0: [sdb] Attached SCSI removable disk

Sollte der USB-Datenträger von Ihrer Distribution (hier Ubuntu 12.04) automatisch eingehängt worden sein, müssen Sie diesen wieder unmounten.

georg@ubuntu1204:~$ for i in $(mount | grep ^"/dev/sdb" | awk '{print $1}'); do sudo umount $i; done

Anschließend löschen Sie die auf dem USB-Datenträger befindlichen Partitionen indem Sie die Partition Table überschreiben.

georg@ubuntu1204:~$ sudo dd if=/dev/zero of=/dev/sdb bs=1 seek=446 count=64

Kopieren Sie jetzt das komplette Raspbian Image auf den USB-Datenträger.

georg@ubuntu1204:~$ sudo dd if=2012-10-28-wheezy-raspbian.img of=/dev/sdb
3788800+0 Datensätze ein
3788800+0 Datensätze aus
1939865600 Bytes (1,9 GB) kopiert, 501,405 s, 3,9 MB/s

Systempartition vergrößern

Wenn Sie die Systempartition auf dem USB-Datenträger vergrößern wollen, müssen Sie dies wie folgt manuell vornehmen. Die entsprechende Funktion des Raspbian Konfigurationstools funktioniert leider nicht wenn sich die Systempartition nicht auf der SD-Karte befindet. Starten Sie deshalb parted wie folgt.

georg@ubuntu1204:~$ sudo parted /dev/sdb
GNU Parted 2.3
Verwende /dev/sdb
Willkommen zu GNU Parted! Geben Sie 'help' ein, um eine Liste der verfügbaren Kommados zu erhalten.
(parted)

Rufen Sie anschließend die folgenden Befehle auf. Durch den Aufruf von unit chs sorgen Sie dafür, dass die Partitionen im Format Cylinders,Heads,Sectors angezeigt werden. Mit print wird anschließend die aktuelle Partitionstabelle angezeigt.

(parted) unit chs
(parted) print
Modell: Verbatim STORE N GO (scsi)
Festplatte  /dev/sdb:  1946,231,12
Sektorgröße (logisch/physisch): 512B/512B
BIOS Zylinder-, Kopf-, Sektor-Geometrie: 1946, 255, 63. Jeder Zylinder ist 8225kB groß.
Partitionstabelle: msdos

Nummer  Anfang    Ende        Typ      Dateisystem  Flags
 1      0,130,2   7,165,29    primary  fat16        LBA
 2      7,165,30  235,214,42  primary  ext4

Löschen Sie jetzt mit rm die Systempartition. Keine Sorge, das Raspbian-System bleibt erhalten solange Sie im Anschluss wieder eine Systempartition erstellen.

(parted) rm 2

Erstellen Sie jetzt eine neue Systempartition welche wieder an der gleichen Stelle beginnt (hier 7,165,30 - siehe Ausgabe von print) und am Ende des Datenträgers endet. Das Ende des Datenträgers können Sie ebenfalls der Ausgabe von print entnehmen. In der vierten Zeile wird die Geometrie des Datenträgers beziehungsweise des USB-Sticks angezeigt. Nehmen Sie diese Werte und dekrementieren Sie diese jeweils um eins (hier also 1945,254,62).

(parted) mkpart primary 7,165,30 1945,254,62

Nachdem Sie die Systempartition wieder angelegt haben können Sie parted beenden.

(parted) quit
Informationen: Möglicherweise müssen Sie /etc/fstab anpassen.

Damit der komplette Speicherplatz der neuen vergrößerten Systempartition zur Verfügung steht, müssen Sie das Dateisystem ebenfalls vergrößern. Zuvor sollten Sie dieses aber auf mögliche Fehler überprüfen.

georg@ubuntu1204:~$ sudo e2fsck -f /dev/sdb2
e2fsck 1.42 (29-Nov-2011)
Durchgang 1: Prüfe Inodes, Blocks, und Größen
Durchgang 2: Prüfe Verzeichnis Struktur
Durchgang 3: Prüfe Verzeichnis Verknüpfungen
Durchgang 4: Überprüfe die Referenzzähler
Durchgang 5: Überprüfe Gruppe Zusammenfassung
/dev/sdb2: 64794/114688 Dateien (0.1% nicht zusammenhängend), 321209/458240 Blöcke

Anschließend wird mit resize2fs das Dateisystem an die neue Partitionsgröße angepasst.

georg@ubuntu1204:~$ sudo resize2fs /dev/sdb2
resize2fs 1.42 (29-Nov-2011)
Die Grösse des Dateisystems auf /dev/sdb2 wird auf 3892451 (4k) Blöcke geändert.

Das Dateisystem auf /dev/sdb2 ist nun 3892451 Blöcke groß.

Raspbian booten

Nachdem Sie jetzt eine SD-Karte und einen USB-Datenträger mit dem Raspbian Image vorbereitet haben, können Sie Raspbian auf Ihrem Raspberry Pi in Betrieb nehmen. Stecken Sie dazu die SD-Karte in den SD-Slot Ihres Raspberry Pi, verbinden den USB-Datenträger mit einem USB-Port, verbinden Ihre Tastatur und Maus mit den USB-Ports (gegebenenfalls über einen USB-Hub), schließen über HDMI Ihren Bildschirm oder TV an und stellen eine Netzwerkverbindung mit dem Board her. Erst jetzt sollten Sie die Stromversorgung über den Mikro-USB-Anschluss anschließen.

Nach kurzer Zeit sollten Sie ein Menü erhalten, über welches Sie Raspbian einrichten können. Alles Weitere zur Konfiguration ist meiner Ansicht nach selbsterklärend und soll an dieser Stelle nicht weiter behandelt werden.


Dieser Eintrag wurde am 09.12.2012 erstellt und zuletzt am 25.09.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_36_2006.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer