Vorbereitungen, kleinere Tests und Infos zum SheevaPlug

Sat, 26 Dec 2009

Gestern habe ich ja schon den ersten Einblick geschildert.

Heute hab ich noch kurz weitergemacht, teils mit erfreuten Ergebnissen, teilweise etwas schlechten.

Ubuntus ARM Repository: ports.ubuntu.com

Nirgends habe ich eine vollständige Liste der möglichen Pakete gefunden. Nirgends.

Daher habe ich einmal apt-get update samt apt-cache pkgnames gemacht und nun eine vollständige Liste aller Pakete, die am 25.12.2009 bereits im Repository waren:

10:32:56::# apt-cache pkgnames
http://posativ.org/blog/files/linux/sheevaplug/all-packages.txt

10:35:03::# apt-cache stats
Total package names: 32956 (1318k)
    Normal packages: 25053
    Pure virtual packages: 250
    Single virtual packages: 2200
    Mixed virtual packages: 240
    Missing: 5213

10:35:25::# cat /etc/apt/sources.list
deb http://ports.ubuntu.com jaunty main restricted universe multiverse

Erste Benchmarks vom NAND und einer SDHC Karte

512 MB NAND

  • default Filesystem: JFFS2
  • zlib Kompression
  • 100 MB Testdatei

10:50:40::# dd if=/dev/zero of=/root/test.img bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 9.37936 s, 11.2 MB/s

10:50:59::# dd if=/root/test.img of=/dev/null
204800+0 records in
204800+0 records out
104857600 bytes (105 MB) copied, 0.826774 s, 127 MB/s

Dabei findet eine on-the-fly Kompression und Dekompression statt, die sogar recht effektiv ist: 151 MB physikalisch belegt (Ubuntu), mittels du -sh komme ich allerdings auf 427MB.

Auf 500 MB NAND bei zlib Kompression kann also ca. 1400 MB theoretisch gespeichert werden.

Neben JFFS2 gibt es allerdings noch ein etwas schnelleres Dateisystem: UBIFS. Das hat neben zlib die deutlich performantere Kompression lzo, die dafür allerdings etwas mehr Platz benötigt.


4 Gb SDHC

  • default Filesystem: VFAT
  • 1 GB Testdatei

21:09:23::# dd bs=1024 count=1M if=/dev/zero of=/mnt/file
1073741824 bytes (1.1 GB) copied, 1455.34 s, 738 kB/s

22:05:19::# dd if=/mnt/file of=/dev/null
2097152+0 records in
2097152+0 records out
1073741824 bytes (1.1 GB) copied, 158.693 s, 6.8 MB/s

Also ich habe ja mit ein paar Einbußen gerechnet, aber nicht mit 700 kB/s. Gekauft hab ich eine Class 4 SDHC von Panasonic, mit 20 MB/s Lesen und 9 MB/s Schreiben.

Weil ich kein SD-Kartenlesegerät für USB habe, konnte ich maximal noch vom Sony PRS-505 die Schreib- und Lesegeschwindigkeit testen. Da kam ich beim Schreiben immerhin auf gut 6 MB/s, beim Lesen allerdings auf utopische 200 MB/s.

Dennoch gibt es wohl sehr heftige Probleme beim mitgeliefertem Kernel und SD Karten (anderer Vergleich).

Welches OS denn nun für das SheevaPlug?

Es gibt mehrere Linuxdistributionen, die entweder einen Port für ARM oder generell für Embedded Systems konzipiert sind:

Um nur die aufzuzählen, die mir bisher begegnet sind. Es gibt sicherlich noch mehr.

Da allein schon der Linux Kernel knapp 50 Minuten zum Kompilieren auf dem Plug braucht, fällt Gentoo für mich schon einmal weg. Fedora und Ubuntu sind beides Ports von so schon sehr schwergewichtigen Distributionen. Daher will ich die auch nicht wirklich haben.

Da ich Arch Linux auf dem Desktop verwende und es recht klein ist, liegt es für mich nahe, dieses zu verwenden. Allerdings schaut das Repository noch etwas klein aus und das archmobile.org Projekt ist mehr auf Mobiles fokussiert. Ich werde allerdings Arch Linux on NAND testen!

Alle anderen bis auf Debian sind mir unbekannt. Debian ist sehr populär, daher stelle ich mir auch das Repository recht umfrangreich vor. Aber auch da gibt es natürlich keine Liste mit allen verfügbaren Paketen...

Wie geht's weiter?

U-Boot muss aktualisiert werden für SDHC Boot, dazu der aktuelle Kernel kompiliert werden. UBIFS statt JFFS2 nutzen und dann kommt Arch Linux aufs NAND und Debian auf die SDHC Karte

Wenn das dann geschafft ist, sehe ich weiter.

---