Frage

habe ich ein Linux-basiertes System Busybox auf einem Chip. Ich möchte ein Update für Benutzer im Bereich zur Verfügung zu stellen, und dies erfordert einige Dateien in / lib / usr / bin zu aktualisieren und / etc. Ich glaube nicht, dass es untar die Dateien direkt auf einfache sicher ist. Gibt es einen sicheren Weg, dies einschließlich / lib-Dateien zu tun, die in Gebrauch sein können?

War es hilfreich?

Lösung

Einige Dinge, die ich in Embedded-Systemen stark bevorzugen:

a) Lassen Sie das Root-Dateisystem ein RAM-Disk von einem Bild in Flash unkomprimiert sein. Das ist toll, denn man kann experimentell Affen, um mit ihm zu Inhalt Ihres Herzens, und wenn Sie vermasseln, alles, was Sie brauchen, ist ein Neustart ist zur geflasht Konfiguration zurück zu bekommen. Wenn Sie eine Reihe von Änderungs wie Sie getestet haben, erzeugen Sie ein neues Dateisystem Bild komprimiert Wurzel und blinken.

b) Verwenden Sie einen Bootloader wie u-boot Ihre Updates zu tun - ein neues vollständiges Bild zu blinken - anstatt zu versuchen, das Linux-System zu ändern, während er ausgeführt wird. Obwohl seit der geflasht Kopie nicht aktiv ist, können Sie blitzen es tatsächlich beim Laufen. Wenn Sie eine schlechte Version blinkt, u-boot ist nach wie vor ein gutes zu blinken.

c) Prozessoren, die Maske-ROM UART (oder sogar USB) Bootloader, so dass das System un-brickable - nichts anderes als ein Laptop und ein serielles Kabel oder USB / Seriell-Wandler wird immer benötigt Wartung zu tun (dh get ein funktionierende U-Boot-image auf dem Flash, die Sie dann ein Arbeits linux-Kernel + komprimiertes root fs Bild auf ihnen verwenden, um)

Andere Tipps

Im Idealfall Ihres Flash-Gerät ist groß genug, um Partition in zwei komplette Dateisysteme und jedes Update aktualisiert die andere Seite (plus Kopieren über Konfigurationsdateien, falls erforderlich) und aktualisiert die Boot-Konfiguration zu booten Sie von der aktualisierten Seite .

Weniger ideal ist Update an Ort und Stelle, sondern hat einige Mittel zur Erkennung Bootfehler (Watchdog, die bis nach dem Booten nicht berührt sind, zum Beispiel) und eine kleinere, Ausweich Partition, die der Annahme eines weiteres Update der Lage ist und die primäre Partition Befestigungs .

Was die in-Place-Aktualisierung eines Live-Dateisystem, verwenden Sie einfach einen echten Installer (die die Zieldateien aus dem Weg bewegen wird sie vor dem Ersetzen Sie das Problem beschreiben zu vermeiden).

erhalten Sie zwei ausgezeichnete Antworten oben und ich ermutige Sie zu tun, was Sie zu beraten wurden.

Es gibt jedoch eine einfachere Art und Weise. In der Tat Sie können nur untar Ihre Bibliotheken zur Verfügung gestellt, dass der Prozess, der dies statisch gelinkte der Fall ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top