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=6DRAM 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 disabledWrite 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): aPartitionsnummer (1-4): 1
Befehl (m für Hilfe): wDie 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 Byte255 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 ![]()





