Marc Reichelt: Embedded Linux: Root-Dateisystem unter 5 MB

Beitrag lesen

Hallo an alle!

Ich experimentiere derzeit mit einem interessanten Entwicklungsboard herum, dem C260 der Firma KWS Computersysteme.
Das Teil ist ziemlich interessant. Neben einem 200 MHz Prozessor hat es einige serielle Schnittstellen, einen Ethernet-Anschluss und auch 2 USB-Ports. Außerdem hat es einen Anschluss für eine SD-Karte, einen 8 MB Flashspeicher und einen kleinen Ringpuffer, der durch die Batterie auch einen Systemabsturz überleben kann.
Nun möchte ich diesem genialen Teil ein sinnvolles Leben einhauchen.

Auf der SD-Karte wurde bereits ein (nicht ganz so schönes) Linux mitgeliefert, weshalb ich mich dazu entschieden habe hier ein wenig Forschung zu betreiben und ein eigenes Linux aufzusetzen. Ich entschied mich für Debian, da das Paketmanagement hier sehr praktisch ist und man mit dem Tool debootstrap sein eigenes root-Dateisystem erstellen kann.
Nach einigen Bemühungen und viel freundlicher Hilfe habe ich jetzt sowohl einen selbst kompilierten, funktionierenden Kernel zur Hand sowie ein minimales Debian-Dateisystem. Hiermit kann ich erst mal arbeiten.

Nun möchte ich bald eigene Linux-Programme auf dem Board laufen lassen.
Dieses Mal möchte ich sowohl den Kernel als auch das root-Dateisystem in den 8 MB großen Flash-Speicher laden und die SD-Karte so komplett für Nutzdaten zur Verfügung haben. Das bis jetzt installierte Debian hat aber gute 200MB, so dass dies natürlich unmittelbar nicht zu machen ist.

Daher meine Frage: Was ist die beste Methode, um ein vernünftiges Linux-Dateisystem auf unter 5 MB zu bekommen? Wäre es mit einfachen Mitteln möglich, das vorhandene Debian um alle ungenutzten Teile zu reduzieren, oder sollte man komplett auf ein neues Dateisystem aufsetzen?
Und: Wäre busybox in diesem Fall eine Lösung für mich?

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
DPRINTK("Last time you were disconnected, how about now?");
        linux-2.6.6/drivers/net/tokenring/ibmtr.c
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)