SheevaPlug.de

Die deutschsprachige Plug Community.

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern
Startseite Anleitungen Debian Debian auf SD-Karte für SheevaPlug

Debian auf SD-Karte für SheevaPlug

E-Mail Drucken

Hallo,

heute möchte ich eine kleine Anleitung veröffentlichen, die auf der Anleitung von Martin Michlmayr basiert, um Debian lenny (stable) auf dem Plug zu installieren.

Als Desktopsystem verwende ich das Linux Betriebssystem Ubuntu 9.10 und für das Plug eine SD Karte SDHC Class 6 mit 8 GB Speicher.

Als erstes muss überprüft werden, ob das Plug eine U-Boot Version >= 3.4.19 hat.

Dazu verbindet man das Plug mittels Mini-USB Kabel mit dem PC, startet eine Konsole und steckt den Stromstecker in die Dose ;-)

Nach dem einstöpseln gibt es 2 Varianten, um auf die Konsole des Plugs zu zugreifen.
Die einfachste Möglichkeit ist, sich mittels folgendem Konsolenbefehl zu verbinden

screen /dev/ttyUSB0 115200

Die zweite Möglichkeit ist, sich mittels Putty zu verbinden.

Nachdem das Plug Strom hat, bootet es und man kann in den ersten paar Sekunden den Boot-Prozess anhalten, in dem man eine beliebige Taste drückt, so dass man ein Befehl in der Marvel Konsole eingeben kann.

** MARVELL BOARD: SHEEVA PLUG LE

U-Boot 1.1.4 (Nov 4 2009 - 12:58:36) Marvell version: 3.4.23

U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CFB00
Soc: 88F6281 A0 (DDR2)

CPU running @ 1200Mhz L2 running @ 400Mhz

SysClock = 400Mhz , TClock = 200Mhz
DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6

DRAM CS[0] base 0x00000000 size 256MB

DRAM CS[1] base 0x10000000 size 256MB

DRAM Total size 512MB 16bit width

Addresses 8M - 0M are saved for the U-Boot usage.

Mem malloc Initialization (8M - 7M): Done

NAND:512 MB

Flash: 0 kB

CPU : Marvell Feroceon (Rev 1)
Streaming disabled

Write allocate disabled

USB 0: host mode

PEX 0: interface detected no Link.

Net: egiga0 [PRIME]

Hit any key to stop autoboot: 0

Marvell>>

Hinter dem Marvellprompt, kann man seine Befehle eingeben.
Hier überprüfen wir die Version von U-Boot.
Dazu gibt man den Befehl

version

ein, und es sollte eine ähnliche Ausgabe kommen wie diese

Marvell>> version

U-Boot 1.1.4 (Nov 4 2009 - 12:58:36) Marvell version: 3.4.23

Sollte hier eine ältere Version als 3.4.19 erscheinen, muss eine neuere U-Boot Version
eingespielt werden, eine Anleitung dazu gibt es hier

Der nächste Schritt ist, die SD Speicherkarte vorzubereiten.

Dazu stecken wir diese in ein Rechner und formatieren diese wie folgt (Bsp. für 8 GB):

Partition 1 - 50 MB in ext2 Dateisystem
Partition 2 - 7,13 GB in ext2 Dateisystem
Partition 3 - 502 MB in swap Dateisystem

Am einfachsten geht dies, mit einem grafischen Partitionierungsprogramm wie GParted.

Ansicht GParted zum Partitionieren der SD Speicherkarte für Sheevaplug mit Debian.

Nachdem die Partitionen auf die Speicherkarte geschrieben wurden, müssen wir die einzelnen Partitionen mounten.
Dafür erstellen wir mit Rootrechten in dem Ordner /mnt einen Ordner /boot

% sudo mkdir /mnt/boot

Danach mounten wir die erste Partition der Speicherkarte in /boot

% sudo mount /dev/mmcblk0p1 /mnt/boot/

und die 2 Partition in /mnt mit

% sudo mount /dev/mmcblk0p2 /mnt

Nun benötigen wir die Dateien für das Debianbetriebssystem,
dazu laden wir die Dateien von Martin Michlmayr Webseite.

Das geht am schnellsten per Konsole, in dem wir in einen Ordner wechselt, hier Downloads

% cd ~/Dowloads

und die Dateien mit wget herunterladen

% wget http://people.debian.org/~tbm/sheevaplug/lenny/base.tar.bz2
 % wget http://people.debian.org/~tbm/sheevaplug/lenny/base.tar.bz2.asc

Als nächstes wechselt man in das Verzeichnis /mnt

% cd /mnt

und entpackt die Dateien mittels

% sudo tar -xjvf ~/Downloads/base.tar.bz2

Nun ediert man die Datei fstab

sudo nano /mnt/etc/fstab

Diese sollte dann wie folgt aussehen:

# /etc/fstab: static file system information.

#

#

proc /proc proc defaults 0 0

# Boot from USB:

#/dev/sda2 / ext2 errors=remount-ro 0 1

#/dev/sda1 /boot ext2 defaults 0 1

#/dev/sda3 none swap sw 0 0

# Boot from SD/MMC:

/dev/mmcblk0p2 / ext2 errors=remount-ro 0 1

/dev/mmcblk0p1 boot ext2 defaults 0 1

/dev/mmcblk0p3 none swap sw 0 0

mit Strg + O speichert man.
Die SD Karte sollte nun wieder ausgehängt werden:

% sudo umount /mnt/boot/
 % sudo umount /mnt/

Als nächstes muss die Partition 1 bootbar gemacht werden, mit folgenden Schritten:

% sudo fdisk /dev/mmcblk0


Befehl (m für Hilfe): a

Partitionsnummer (1-4): 1


Befehl (m für Hilfe): w

Die Partitionstabelle wurde verändert!


Rufe ioctl() um Partitionstabelle neu einzulesen.


WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Synchronisiere Platten.

Das Ergebnis überprüft man mittels

% sudo fdisk -l


Platte /dev/mmcblk0: 8239 MByte, 8239710208 Byte

255 Köpfe, 63 Sektoren/Spuren, 1001 Zylinder

Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

Disk identifier: 0x00003b69


Gerät boot. Anfang Ende Blöcke Id System

/dev/mmcblk0p1 1 6 48163+ 83 Linux
/dev/mmcblk0p2 7 937 7478257+ 83 Linux
/dev/mmcblk0p3 938 1001 514080 82 Linux Swap / Solaris

dort muss unter boot bei /dev/mmcblk0p1 ein sein.
Nun schiebt man die SD Karte in den Schacht vom Plug, bootet diesen und verbindet sich wieder
mit der Konsole

screen /dev/ttyUSB0 115200

und durch druck einer beliebigen Taste bekommen wir wieder den Marvell Prompt
dort gibt man wie folgt die Befehle ein:

Hit any key to stop autoboot: 0

Marvell>> setenv mainlineLinux yes

Marvell>> setenv arcNumber 2097

Marvell>> saveenv

Saving Environment to NAND...

Erasing Nand...Writing to Nand... done

Marvell>> reset

Jetzt startet das Plug wieder neu und man drückt wieder eine Taste für den Marvell Prompt.

Hit any key to stop autoboot: 0

Marvell>> setenv bootargs_console console=ttyS0,115200

Marvell>> setenv bootargs_root 'root=/dev/mmcblk0p2'

Marvell>> setenv bootcmd_mmc 'mmcinit; ext2load mmc 0 0x0800000 /uInitrd; ext2load mmc 0 0x400000 /uImage'

Marvell>> setenv bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_mmc; bootm 0x400000 0x0800000'

Marvell>> saveenv

Saving Environment to NAND...

Erasing Nand...Writing to Nand... done

Marvell>> run bootcmd

Ab jetzt startet Debian bei jedem Bootvorgang von der SD Karte :-)

Man kann sich nun mittels dem Benutzer root und dem Passwort root anmelden.
Da dies eine Standardeinstellung ist, müssen wir diese natürlich verändern.

Nach dem Login führen wir den Befehl

passwd

ein und geben dem Root-Account somit ein neues Passwort.

Nun müssen wir noch die schon vorhandenen SSH Schlüssel löschen und neue erstellen, damit dieser kein Fremder hat.

$rm /etc/ssh/ssh_host*
 $ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
 $ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""

Ich hoffe die Anleitung hat euch ein wenig geholfen und nun viel Spass mit Debian lenny auf eurem Sheevaplug :-)

Zuletzt aktualisiert am Montag, den 28. Dezember 2009 um 18:25 Uhr  
AddThis Social Bookmark Button