IBOX von IteadStudio – Hackable Mini-PC für Bastler
IteadStudio – ein chinesischer Leiterplattenhersteller und Bauteilhändler – hat vor einiger Zeit in einer Indiegogo-Kampagne die IBOX angekündigt. Die Beschreibung liest sich nicht schlecht – es handelt sich um einen Mini-Computer, welcher gezielt zum Basteln gemacht wurde. Itead wirbt damit, dass der Computer open Hardware und Open Software enthält, und dass er „hackable“, also bastlerfreundlich ist. Das ganze Gerät kostet dabei nur $70, inklusive Versand. Ein paar Eckdaten:
- Größe: 95 x 145 x 27 mm
- Prozessor: Dual Core Arm Cortex A7 (Basiert auf einem Allwinner A20, der z.B. auch im Cubieboard 2 verbaut ist), auf einer von Itead hergestellten Modulplatine. Die Taktgeschwindigkeit liegt bei 2 x 1,0GHz. Passive Kühlung ohne Lüfter.
- Grafik: Mali-GPU 400MP
- RAM: 1GB DDR3
- Speicher: 4GB NAND-Flash eingebaut, frei beschreibbar
- Anschlüsse: 4xUSB (davon 1x USB-OTG), HDMI, LAN, SD-Karteneinschub, optischer S/PDIF Sound, Netzanschluss (9V/2A)
- IR-Empfänger für Fernbedienungen
- Außerdem ist an der Gehäuseseite ein 32-Poliger Anschluss, auf dem die wichtigsten Anschlüsse des Prozessormoduls herausgeführt sind. Hier kann man mit (selbst zu erstellenden) Adaptern noch weitere USB-ports, SATA, UART, SPI, I2C und viele andere Anschlüsse nutzen. Auch Arduino-Shields können hier angeschlossen werden.
Itead hat mir freundlicherweise ein solches Gerät zur Verfügung gestellt, und ich möchte hier meine Erfahrungen damit zeigen. Itead bat mich, Alex von IteadStudio zu zitieren:
IBOX is actually an application example of ITEAD A20 CORE. Although IBOX provides development interfaces to achieve a variety of other functions by externally connecting to other expansion boards, ITEAD A10/20 CORE will bring greater flexibility for development. ITEAD STUDIO can provide various types of customized functional baseboards for users to adapt to their projects according to their needs.
Frei übersetzt bedeutet das:
IBOX ist eine Anwendungsbeispiel für den Itead A20-Kern (Also das Modul mit o.g. Hardware und dem Allwinner A20 Arm-Core). Da IBOX diverse Anschlüsse und Interfaces für Entwickler bereitstellt, an denen mithilfe von Erweiterungsboards weitere Funktionen hinzugefügt werden können, kann der Itead A10/A20-Kern größere Flexibilität für Entwicklungen bieten. IteadStudio kann verschiedenste Baseboards (wie z.B. das der IBOX) kundenspezifisch herstellen und bereitstellen, so dass Nutzer diese speziell für ihre Bedürfnisse anpasen können.
Wollen wir doch mal sehen, ob sie damit Recht haben…. 🙂
Das Päckchen kam nach kurzer Zeit, inklusive vollständiger Zollinhaltserklärung mit außen angebrachter TARIC-Nummer (!!), per DHL bei mir an. Der Inhalt ist schlicht – die IBOX war in Luftpolsterfolie eingewickelt, dazu gab es ein einfaches 9V-Netzteil mit US-Stecker. Das wusste ich im voraus, so dass ich mir einen entsprechenden Adapter organisiert habe. Itead sagte, dass jedes 9V-Netzteil funktionieren würde, welches bis ca. 2A belastet werden kann. Die IBOX selbst macht einen guten Eindruck – Gehäuse aus eloxiertem Aluminium, Bodenplatte mit 4 Schrauben gesichert, Schutzfolie auf der Oberseite. Beim öffnen fiel mir allerdings eine Schraube entgegen, welche im Gehäuse nicht hielt. Das Problem ist allerdings bekannt – Da es sich bei dieser Vorabversion der IBOX noch um einen Prototypen handelt, sind zu kurze Schrauben verwendet worden. Dieses Problem soll in der Marktreifen Verison der IBOX behoben werden. Auf der Homepage von Itead sowie auf der Indiegogo-Seite war noch eine Adapterplatine abgebildet (siehe ebenfalls hier), welche verschiedene Anschlüsse herausführt. Da diese Platine noch nicht marktfertig ist, habe ich noch keine erhalten. Mittels dieser Platine soll es dann auch möglich sein, z.B. Arduino-Shields direkt an die IBOX anzuschließen.
Also schnell alles angeschlossen – Tastatur, Maus, Monitor, LAN (leider kein WLAN) und das Netzteil – und dann begann die Suche nach dem Power-Knopf. Der kleine Button auf der Geräterückseite ist offenbar nur dazu da, in einen speziellen Bootloader für Firmwareupdates zu starten. Nach ca. 10 Sekunden löste sich das Problem jedoch von selbst: Die IBOX startet schlicht und ergreifend, sowie sie Strom bekommt.
Das hochfahren des Linux-Systems zeigt zuerst das Maskottchen des Cubieboards – von dem die IBOX offenbar auch abgeleitet ist. Nach wenigen Sekunden allerdings die Ernüchterung: Die IBOX quittiert den Start mit einer Kernel Panic und startet neu. Ich dachte mir schon dass es nicht weitergehen würde, aber ich täuschte mich: beim zweiten Start fuhr das Gerät einwandfrei hoch, und startete ein kleines Linux-System mit LXDE-Oberfläche. Der Start selbst ging relativ schnell, zum Hochfahren bis zum Login-Screen vergehen nur ca. 20 Sekunden. Problematisch war jetzt allerdings, dass ich keine Ahnung hatte welche Benutzerdaten zum Einloggen notwendig waren. Mit einem Gast-Login konnte ich das Sytem jedoch zumindest starten. Das Linux ist spartanisch ausgestattet, es sind praktisch keine Programme installiert. Da es aber debian-basiert ist, stellt das kein großes Problem dar. Da ich jedoch das root-Passwort noch immer nicht hatte, konnte ich keine weiteren Programme installieren. Ich schrieb eine Mail an Itead, dass doch bitte die korrekten Login-Daten auf der OS-Download-Seite verfügbar gemacht werden sollten.
Auf dieser Webseite zeigt sich auch schnell, wo die IBOX herkommt: Evtl haben einige von euch schon vom Iteaduino gehört. Dies ist eine Arduino-kompatible Plattform, welche (anstatt mit einem ATmega) mit einem LGT8F88A von LogicGreen arbeitet – offenbar ein Nachbau/Kopie des Atmega88. LogicGreen verzichtet auf die Herausgabe eines eigenen Datenblatts, da der Controller so gut wie vollkommen Kompatibel zu den AVR-Chips sein soll. Es gibt lediglich einige Hinweise die beim Wechsel zu beachten sind.
Auf jeden fall gibt es seit einiger Zeit auch die Iteaduino-Plus-Serie. Diese ebenfalls Arduino-Kompatiblen Boards sind rund um einen leistungsfähigen Arm-Kern von Alwinner aufgebaut, und es gibt sie mit A10- und A20-Kernen. Da diese Prozessoren stark genug sind um ein „echtes“ Betriebssytem zu nutzen, wurde aus dem Iteaduino Plus A20 die IBOX entwickelt. Man kann also, genau wie beim Arduino, beim Iteaduino Plus, dem Raspberry Pi oder dem Cubieboard 2 (von welchem die IBOX offenbar abgeleitet ist) viele Prozessorpins frei schalten und benutzen, wofür auch der Stecker an der Seite der IBOX da ist.
Zurück zur OS-Download-Seite: Da ich keine Ahnung von den Benutzerdaten des vorinstallierten Systems hatte, entschied ich mich dazu ein anderes System zu starten. Ich lud also Android herunter, kopierte es nach der Anleitung (welche mittlerweile auf der gleichen Seite veröffentlicht ist) auf eine SD-Karte, steckte diese in die IBOX und schaltete den Strom wieder ein. Und es passierte – nichts. Gar nichts. Überhaupt nichts. Nicht einmal die Power-LED leuchtete (wobei ich mittlerweile weiss, dass diese durch das Betriebssystem eingeschaltet wird und nicht durch die reine Stromversorgung). Nach einer Stunde verzweifeltem An- und Abstecken des Stromkabels entfernte ich die SD-Karte – und die IBOX startete sofort und artig wieder ihr vorinstalliertes Debian-Derivat, welches jedoch kurz nach dem Start abstürzte. Kurze Nachfrage bei Itead: Problem ist bekannt, das Android müste funktionieren, aber wenn man die SD-Karte reinsteckt mit diesem Android drauf startet die IBOX nicht. Woran das liegt weiss man noch nicht. Da aber alles korrekt sein müsste hat man es trotzdem hochgeladen. Ah…Ja.
Nun denn, dachte ich, nimmst du halt ein anderes Betriebssystem. Auswahl gibt es ja genug. Mir fiel zwischenzeitlich auf, dass das vorinstallierte Linux-System sich nun auch nicht mehr starten lies: Irgendwo während des Starts stürzte es immer wieder ab. Mittlerweile weiss ich den Fehler, der diese beiden Probleme verursacht: Das Android, welches von SD-Karte booten sollte, liest/schreibt offenbar gelegentlich auf den NAND-Speicher! So wird zum einen das Android unfähig zu booten (weil seine Daten ja eigentlich auf der SD-Karte liegen) und der Inhalt des Flashs wird ebenfalls zerstört. Diese Daten habe ich an Itead weitergegeben, der (enorm freundliche) Support war dankbar und man will das Problem untersuchen.
Ich installierte also Debian auf der SD-Karte, und bootete die IBOX von der Karte. Im Gegensatz zum Android bootete Debian sofort und problemlos. Nachdem ich durch raten das Paswort (root/root) gefunden hatte, war ich drin. Das Debian-System ist recht aktuell, nur 3 oder 4 Pakete wurden durch apt-get update nachgezogen. Und sofort war ich begeistert: Ein voll funktionsfähiges Debian-System, inklusive Paketmanager und aller wichtigen Anwendungen, und dazu gibts (vom Iteaduino-Projekt) alle notwendigen Libraries um direkt mit der Hardware zu spielen und z.B. die Pins auf dem großen Seitenstecker zu schalten, so dass man – wie schon auf der Indiegogo-Seite gezeigt – alles mögliche mit und aus der IBOX bauen könnte. Der Flash-Speicher ist im System sichtbar unter /dev/nand, und die einzelnen Partitionen sind mit eigenen Gerätedateien als /dev/nanda, /dev/nandb, /dev/nandc usw. ansprechbar. Klasse, dachte ich – installiere ich erstmal das Android NAND-Image. Dachte ich.
Ich lud also das Image herunter, legte es auf einen USB-Stick, und schrieb das Image per dd in den NAND. Ich startete neu (ohne SD-Karte), und es passierte – wieder – nichts. Wieder mit SD-Karte gestartet – im Debian konnte ich sehen, dass der NAND korrekt partitioniert und formatiert war… ich wusste nicht weiter. Ich habe dann nach und nach weitere Betribssysteme ausprobiert, um festzustellen, dass keines mehr funktionierte. Irgendwas machte ich falsch. Dazu kam, dass das vorinstallierte Betriebssystem nun gar nicht mehr startete, ohne SD-Karte ging die IBOX gar nicht mehr an.
4 Stunden später, nachdem ich schon sehr gefrustet war, fand ich dann einen Hinweis im Sunxi-Linux-Wiki: Der Flash-Baustein kann nicht einfach so beschrieben werden. Diese Info steht dort im zusammenhang mit anderen A20-basierten Boards (wie z.B. dem Cubieboard). Es gibt ein spezielles Tool, nand-part, welches für die Partitionierung und Formatierung genutzt werden muss. Partitionen, die mit den normalen Linux-Tools wie z.B. fdisk erstellt wurden, zerstören den Bootsektor und die erste Partition im Flash, während nand-part auf diese achtet. Okay, dachte ich, und lud es herunter. Das Programm ist nur als Quelltext verfügbar, ich richtete mir also auf dem SD-Karten-System der IBOX eine Build-Umgebung ein um nicht auf einem anderen Rechner eine Crosscompiler-Toolchain zu brauchen. Das war etwas tricky, da die SD-Karte so formatiert wurde dass nur ca. 100MB frei waren. Das reicht aber aus, und ich konnte alle benötigten Pakete, Compiler und Abhängigkeiten per apt-get installieren. nand-part lies sich anstandlos kompilieren, und wollte dann aber nicht auf den NAND-Flash zugreifen, da der dort vorhandene MBR offenbar nicht von nand-part erstellt wurde (logisch – ich hatte ja das komplette NAND mit dd überschrieben…). Ich löschte also, ebenfalls per dd, das erste MB des NAND, und partitionierte mit nand-part den „leeren“ Flash-Speicher neu, wie im Sunxi-Wiki beschrieben. Nun hatte ich jedoch ein ernsthaftes Problem: Auf der ersten Partition des NAND liegt ein Bootloader und eine Konfigurationsdatei, welche beide Hardwarespezifisch sind. Diese hatte ich durch mein vorschnelles beschreiben des NAND zerstört. Ich war sauer.
Mittlerweile antwortete Itead mir auch auf die Frage, wie man ein neues OS im Flash installiert – es gibt ein Tool, Phoenix, welches auf einem anderen PC ausgeführt wird. Die Anleitung dazu hat offenbar mit Itead nicht viel zu tun – sie bezieht sich auf ein ebenfalls Allwinner-Basiertes Tablet. Dieses Tool spielt dann das neue Betriebssystem auf die IBOX, welche per USB-OTG verbunden ist (Mit einem USB.Kabel dessen beide Enden einen Typ-A-Stecker haben… Sowas gibts vermutlich nur bei Ebay) ohne den Bootloader und die Konfiguration zu zerstören. Jetzt war ich richtig sauer, denn meine Flash-Partition hatte ich ja bereits zerstört.
Dann kam jedoch die Rettung, und zwar vom Cubieboard-Projekt: Ein User zeigte, wie man auf dem Cubieboard 2 Debian (bzw. Cubian) installiert. Er hatte dazu die Konfigurationsdatei und den Bootloader aus dem Flash gelesen, und in ein Script verpackt zum Download angeboten. Ich hoffte, dass die IBOX dem Cubieboard ähnlich genug war, und war mutig, es zu versuchen: Es klappte. Ich kopierte das Cubian-Image auf die SD-Karte, und Cubian startete sofort. Dann führte ich das Script aus, um Cubian in den NAND-Speicher zu kopieren: Das Script merkte sofort dass der NAND-Inhalt zerstört war, und installierte den Boodloader und die Konfiguration neu. Schon war mein Problem gelöst. Ich wartete die Installation von Cubian ab (ca. 45 Minuten, wohl vor allem durch den relativ langsamen Flash der mit ca. 4MB/s arbeitet) und startete ohne SD-Karte neu: Die IBOX lief wieder. Mit Cubian, welches von Itead auf der OS-Download-Seite als „nur von SD-Karte bootbar“ gelistet wurde. Yeah.
Jetzt hatte ich durch meine Fehler viel gelernt. Mittlerweile weiss ich, wie leicht es ist das Betriebssystem zu tauschen oder gar ein ganz neues zu installieren – Man muss nur der Anleitung im Sunxi-Wiki folgen, und dabei vorher eine Sicherheitskopie der ersten NAND-Sektoren sowie des Bootloaders und der Konfiguration machen. Dazu reicht es, mit DD das erste MB sowie die erste Partition des Flash-Speichers an einen sicheren Ort zu kopieren. Mittlerweile läuft auf der IBOX Debian, wobei /home auf die SD-Karte umgelegt wurde um Speicherplatz zu gewinnen. Ich spielte noch eine ganze Weile mit dem Gerät, und ich muss sagen – es gefällt mir gut.
Zusammenfassend: Die IBOX ist ein kleiner, leichter, hackbarer PC mit vielen Anschlüssen und wesentlich mehr Leistung als z.B. einem Raspberry Pi (Im Bild ein Größenvergleich mit und ohne Gehäuse) . Gleichzeitig ist offenbar so ziemlich alles was für das Cubieboard 2 gilt, auch auf die IBOX anwendbar, sogar die beiden LEDs der IBOX sind gleich an den A20 angeschlossen wie beim Cubieboard. Obwohl noch einige Punkte (schlechte bzw. praktisch nicht vorhandene Doku, fehlerhafte OS-Imagedateien, lockere Schrauben) behoben werden müssen, finde ich die IBOX sehr gut gelungen. Ich könnte mir tatsächlich eine Nutzung als Entwicklungs-PC vorstellen – Die Leistung des Prozessors ich nicht überragend, aber ausreichend. Die vielen Anschlüsse sind ein großer Pluspunkt, und die Möglichkeit beliebige Signale ein- und auszugeben ist enorm hilfreich. So wäre es z.B. möglich, ein einfaches Oszillokop oder einen Logikanalysator zu programmieren, welcher ohne weitere Hardware direkt auf der IBOX läuft und beim Debugging der Schaltung hilft. Alternativ wäre auch eine Nutzung als kleiner HTPC am Fernseher nicht übel. ein Dualcore mit 1 GHz reicht locker aus um auch HD-Filme zu schauen, und durch den IR-Empfänger könnte man recht leicht auch vom Sofa aus alles bedienen. Eine Fernbedienung ist allerdings nicht im Lieferumfang, Itead gibt als Tipp eine alte Fernbedienung oder eine Universal-FB zu nutzen, und diese mit lirc in das System einzubinden. Da die IBOX Netzwerkfähig ist und mehrere USB-Anschlüsse hat, sollte das gut funktionieren. Ein Pluspukt für das Wohnzimmer ist außerdem, dass die IBOX vollständig passiv gekühlt ist, und deshalb kein Lüftergeräusch abgibt.
Klare Empfehlung für diesen Preis – Sofern man nicht ein Gerät erwartet, welches out-of-the-box perfekt funktioniert. Ich nehme an, dass vor Marktstart noch an einigen Ecken gefeilt wird, wodurch der Einstieg erleichtert wird. Hackable ist die IBOX in jedem Fall, allerdings sollte man sich in der Linux-Welt schon etwas auskennen.
Fragen dazu? Hinterlasst Kommentare! 🙂
Ich bin noch Informatikstudent. Mich würde interessieren, welche Leiterplattenhersteller dahinter stecken und woe die IBOX produziert wird. Auch hätte ich mir vor stellen können, dass mehr als nur 1GB RAM in der IBOX vorhanden wäre. Da es ja bei grösseren Anwendungen zu Verzögerungen kommen kann. Aber an für sich bietet die IBOX viele Möglichkeiten und Spielereien sowie für 70 Dollar ist diese ja sehr günstig. Ich denke auch die Grösse der IBOX wird beliebt sein. Klein und Fein.
Thomas
Der Leiterplattenhersteller ist ITead Studio. Ich vermute mal, dass ITead aber nicht selbst fertigt, sondern Restflächen anderer Hersteller kauft und so quasi als „Trittbrettfahrer“ günstig fertigt. Kann ich nur empfehlen – die Platinen sind günstig und qualitativ hochwertig, und es geht schnell – die Platinen sind meist nach 2 Wochen in Deutschland, und ITead hat sogar verstanden dass eine Zollinhaltserklärung mit TARIC-Nummer den Vorgang beschleunigt.
Die IBOX wird sicher auch in China gefertigt. Mehr als 1 GB RAM hat sie aber leider nicht. Praktisch ist sie trotzdem 🙂
Malte