mecker. mecker. mecker.

Tja, wie beginnt man diesen Blogpost nicht prahlend?

Ich habe vom Weih­nachts­mann etwas aus England erhalten: Marvells SheevaPlug

Wenn jetzt jemand denkt “Hää, wasn das?”:

Ein SheevaPlug ist ein headless Server für den Betrieb zu Hause. Bei maximal 11 Watt mit an­ge­schlos­se­ner USB-Festplatte, samt Ethernet und Flash Karte unter Volllast. Soviel brauchen manche High-End Rechner, wenn sie angeblich “aus” sind.

Nutzen kann man das z.B. für: Wuala, IRC-Bouncer, Fileserver, Torrent und Webserver.

SheevaPlug Dev Kit

SheevaPlug; CC-Bild

Um jetzt nicht wie­der­zu­kau­en, was andere Blogs bereits gepostet haben, nur eine kurze Übersicht:

  • ARM Prozessor mit 1,2 Ghz
  • 512 Mb RAM
  • 512 Mb NAND (interner Flash Speicher)
  • 1x USB 2.0 (480 Mb/s) Port, 1x Gigabit Netzwerk, SDHC Input

In­ter­es­san­ter­wei­se klackert mein SheevaPlug, wenn ich es leicht schüttel. Allerdings müssten das nur ein paar lose Kabel sein, der In­nen­ar­chi­tek­tur zu urteilen.

Im Paket befinden sich ein ca. 3m LAN-Kabel, Mini-USB->USB Kabel (50 cm) (für serielles Terminal) und zwei ver­schie­de­ne Baustücke für die Strom­ver­sor­gung. Mein Sheevaplug ist einfach auf eine Steck­do­sen­leis­te gesteckt.

Leider schaut eine ein­ge­steck­te SD-Karte etwas sehr hervor.

Erster Anlauf

Das SheevaPlug hat kein Power-Schalter oder ähnliches. Wenn es auf eine aktive Strom­leis­te gesteckt wird, fährt es au­to­ma­tisch hoch.

Das SheevaPlug lässt sich im Übrigen auch nicht aus­schal­ten; zwar kann man Ubuntu zum sudo halt zwingen, aber das Sheeva läuft munter weiter. (Also es leuchtet…)


Also in die Steckdose gesteckt, samt seriellem Kabel und LAN und schon geht’s los. Da ein Ubuntu (9.04) im NAND vor­in­stal­liert ist, bezieht es sich über DHCP au­to­ma­tisch eine IP. Daher kann man sich einfach per SSH einloggen:


Alternativ kann man sich auch via serieller Schnitt­stel­le einloggen und somit auch die Boot­se­quenz verfolgen.

Als Programm empfehle ich an dieser Stelle minicom, das zuerst via minicom -s auf den USB Anschluss: /dev/ttyUSB0 kon­fi­gu­riert werden muss.

Zwar wird den Ent­wick­lern des “Das U-Boot” Boot­loa­ders gerade minicom nicht empfohlen. Allerdings finde ich per­sön­lich die vor­ge­stell­ten Programme cu (Teil des uucp Pakets) und kermit nicht gerade zeit­ge­mäß.

Der U-Boot Bootloader, der eigentlich einen extra Blog­bei­trag wert wäre, bootet ziemlich zügig vom Sheeva.

Aussehen tut der Anfang so:

        __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
_   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/    |____/ \___/ \___/ \__|
** MARVELL BOARD: SHEEVA PLUG LE

U-Boot 1.1.4 (Mar 19 2009 - 16:06:59) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CEE80

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
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled

USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0

Erster Blick auf die Software

Ohne etwas angerührt zu haben, sieht die vor­ge­fer­tig­te Spei­cher­be­le­gung wie folgt aus:

Vor­in­stal­liert ist, wie schon erwähnt, Ubuntu 9.04 (Jaunty Jackalope). Leider ist es etwas un­glück­lich in­stal­liert:

apt-get:

Wer einmal apt-get in ir­gend­ei­ner Weise nutzen wollte, erfährt ersteinmal:

19:43:15::#  apt-get update
E: Archive directory /var/cache/apt/archives/partial is missing.

Da das Problem auf zwei Wege gefixt werden kann und es je nach Nutzung des Shee­vaP­lugs ankommt, empfehle ich hier einfach http://com­pu­tingp­lugs.com/index.php/Fixing_apt-get.

Schuld ist /var, da es hier ein Da­tei­sys­tem im RAM ist und somit nicht persistent.

DNS Auflösung:

Per default kann zwar 74.125.43.106 angepingt werden, allerdings nicht die da­zu­gehö­ren­de Domain google.com.

Nach einem Neustart ist das behoben, wenn in /etc/dhcp3/dhclient.conf eine Route (#) vor

supersede domain-name-servers 127.0.0.1;

gesetzt wird.

Eine voll­s­tän­di­ge Auflistung aller in­stal­lier­ten Pakete gibt es hier.


Der Linux Kernel ist leider eine etwas ältere Version. Allerdings lässt sich dieser updaten, wenn nötig.

20:13:42::# uname -a
Linux debian 2.6.22.18 #1 Thu Mar 19 14:46:22 IST 2009 armv5tejl GNU/Linux

Da es beim mit­ge­lie­fer­ten Kernel recht heftige Per­for­mance Einbußen beim Lesen und Schreiben einer ein­ge­steck­ten SD-Karte gibt, sollte man ihn zumindest patchen oder gleich den ak­tu­ells­ten nehmen.

Das würde ich allerdings in einem separaten Blog­pos­ting de­tail­liert be­schrei­ben.

Bilder

sind nicht von mir; ich hatte ehrlich gesagt keine Lust, eigene zu machen.

via Flicker: #1 #2 #3 #4

bilderreihe

blog comments powered by Disqus

written by posativImpressum

by-nc-sa