Crazy backup!

Potrei lanciarmi in un doverosissimo rant riguardo al
fatto che la compagnia sembra incapace di fornirmi
l'hardware su cui lavorare.

Per farla breve, le modifiche che devo apportare al
bootloader di quest'accrocchio vanno in effetti
replicate su qualcosa come una ventina di boards
differenti, e fatta la prima, reperire la seconda e
stato sin qui un'esperienza memorabile, in senso
negativo.

Senza entrare troppo in dettaglio, il piccolo
laboratorio degli embeddari dispone di una manciata di
board, che risultano infine essere piu o meno tutte
scassate, a tratti irrecuperabili.  Perche le tengono?
Beh, perche un giorno potremmo volerle aggiustare! Se
solo ricordassimo perche sono rotte.

Ne ho viste passare gia alcune: quella con la memoria
flash rotta, quella con la RAM rotta (!), quella che se
trasferisci piu di TOT megabytes si introia lo stack
TCP.

Ieri sono stato in ufficio, ed ho speso una mattinata a
imprecarci sopra.  Verso mezzogiorno arriva Gandalf (da
Est, beninteso).  Mi conferma che sono spesso rotte, e
mi offre il suo aiuto piu in la nel pomeriggio...

Ora, siccome non mi piace stare con le mani in mano,
vedo se riesco a mettere le mani su qualche hardware,
sfruttando il fatto che ho conosciuto un tizio che si
occupa di testing.  Visto che il suo team dovrebbe in
effetti testare la feature su cui sta lavorando, forse
*LUI* ha una board che funziona, o sa dove reperirla.

Scomodo quattro o cinque persone transitivamente, e
riesco infine ad acciuffarne una.  Viene usata dalla
gente che fa testing, e quindi sappiamo che funziona!
Oh che bello.

Prima di ranzarla brutalmente (il mio task consiste
nell'implementare una cancellazione sicura, quindi non
sarebbe in se sbagliato, ma...) mi assicuro che il
brav'uomo che me l'ha prestata non gradisca per caso un
back-up.  E mi viene detto che si, sarebbe utile che
tornasse in stato funzionante a fine operazioni.

Benissimo.  Fare il backup del bootloader e piuttosto
semplice, in quanto la flash che lo contiene e
accessibile in userspace.  Purtroppo SSH non e
disponibile (non posso dunque fare `ssh root@host cat
/dev/mtdblock0 > ./mtdblock0), ma posso sempre fane una
copia sul filesystem e spostarla via FTP.

Fare un backup del filesystem e un tantino piu
problematico, visto che salvare il dump sul filesystem
e una situazione implicitamente catch22. Forse che
sarebbe utile installare SSH... peccato che questa
baracca non riesce ad aggiornare i repository, e non ho
voglia di scoprire il perche.

Vedo che xinetd e installato sulla board, e mi viene
un'idea malsana.

1. preparo un allegro script tipo questo:

       # more /usr/local/sbin/dump_fs
       #!/bin/sh