Parece que o uso de ferramentas com excesso de caixa de tarefas para isso é muito mais problemático do que vale a pena, porque o processamento de um único sistema de arquivos é realmente necessário para isso e está ausente do busybox cp
. Possivelmente find
poderia ser usado para copiar arquivos individualmente e evitar recursões em pontos de montagem, mas isso envolveria muitos processos individuais e seria muito lento.
Preparar o sistema de arquivos no servidor NFS é uma alternativa muito mais viável. Calcule o tamanho da partição em bytes usando fdisk -l
e, em seguida,
truncate -s N the-root-image
mkf.ext3 the-root-image
sudo mount -o loop the-root-image /mnt/somewhere
Agora copie o conteúdo usando este comando encontrado na pergunta vinculada
sudo rsync --archive --inplace --hard-links --acls --xattrs --devices --specials --one-file-system --8-bit-output --human-readable --progress path/to/nfs/share /mnt/somewhere
Coloque a imagem em um local de rede onde o destino possa acessá-la:
sudo umount /mnt/somewhere
mv the-root-image path/to/nfs/share
Finalmente, a partir do local de destino, a imagem no disco de destino
dd if=/the-root-image of=/dev/sda1 bs=16M