Domanda

Ho un sistema basato su Linux busybox su un chip. Voglio fornire un aggiornamento per gli utenti del settore e questo richiede l'aggiornamento di alcuni file in / lib / usr / bin e / etc. Non credo che sia giusto semplice decomprimere i file direttamente. C'è un modo sicuro per fare questo file inclusi / lib che potrebbero essere in uso?

È stato utile?

Soluzione

Alcune cose che preferisco fortemente nei sistemi embedded:

a) avere il file system radice è un ramdisk non compresso da un'immagine in flash. Ciò è grande perché si può sperimentalmente scimmia intorno con esso al contenuto del vostro cuore e se sbagli, tutto ciò che serve è un riavvio per tornare alla configurazione lampeggiarono. Dopo aver testato una serie di cambiamenti che ti piace, si genera una nuova immagine filesystem di root compressa e Flash che.

b) Utilizzare un bootloader come u-boot per fare gli aggiornamenti - lampeggiante una nuova immagine completa - piuttosto che cercare di cambiare il sistema di linux mentre è in esecuzione. Anche se dal momento che la copia Strabuzzi non è vivo, si può effettivamente il flash durante l'esecuzione. Se il flash di una versione cattiva, u-boot c'è ancora a lampeggiare un buon compromesso.

c) Processori che hanno maschera-ROM UART (o anche USB) bootloader, rendendo il sistema non-brickable - niente di più di un computer portatile e un cavo seriale o USB / convertitore seriale è mai bisogno di fare manutenzione (vale a dire, get un'immagine di u-boot lavorare sul flash, che quindi si utilizza per ottenere l'immagine di un lavoro di linux kernel + compressa fs di root su di esso)

Altri suggerimenti

Idealmente il vostro dispositivo flash è grande abbastanza per partizione in due filesystem completi e ogni aggiornamento aggiorna il altro lato (più la copia su file di configurazione se necessario) e aggiorna la configurazione di avvio per l'avvio dal lato aggiornata .

Meno ideale è aggiornamento sul posto ma hanno alcuni mezzi di rilevamento errore di avvio (watchdog che non è toccata fino dopo l'avvio, per esempio) e hanno una minore, partizione di riserva che è in grado di accettare un altro aggiornamento e fissa la partizione primaria .

Per quanto riguarda l'aggiornamento sul posto di un file system vivo, basta usare un vero e proprio programma di installazione (che si muoverà i file di destinazione fuori del modo prima di sostituire loro di evitare il problema che si descrive).

ha ricevuto due ottime risposte di cui sopra e vi incoraggio vivamente di fare ciò che è stato consigliato a.

V'è, tuttavia, un modo più semplice. In un dato di fatto che si possono scompattate con tar le librerie, a condizione che il processo che fa questo è legato in modo statico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top