He introducido un par de cambios en el script para solucionar los dos problemas que me han surgido:
a) detectar fiablemente cuando el dispositivo está listo para flashear. (Lo de esperar 30 segundos con un ping me da problemas por la redirección a >null y me parece algo arbitrario)
b) el remount con el kernel semaphore.
.........
En mis pruebas me funciona correctamente. Espero que os sea de utilidad.
