Si está ejecutando una aplicación sobre el SO, NFS / FTP / scp son algunas de las formas posibles.
Si está ejecutando una imagen de sistema operativo completa, aún podría usar tftp con algún cargador de arranque como uboot como chris stratton mencionado anteriormente. Por ejemplo,
Boot-loader --> tftp --> Target_image
Sin embargo, restablecer la placa de destino sigue siendo un problema que debe resolverse fuera del control del cargador de arranque / tftp. Una forma es hacer que el software reinicie la placa por sí mismo.
Tiendo a usar NFS. Acabo de montar el directorio de destino como recurso compartido NFS dentro de la placa (por ejemplo, RasPi). Simplemente copie la compilación al directorio de destino y SSH un comando a RasPi.
Como la mayoría de los otros dijeron antes que yo, dependería en gran medida de lo que tengas que ejecutar.