Como copiar / gravar uma imagem de dispositivo de loop em uma partição?

0

Estou criando um rootfs para um dispositivo incorporado.

Eu começo fazendo um sistema de arquivos de loopback vazio, montei e adicionei arquivos a ele.

Quando termino, acabo com uma imagem do sistema de arquivos. Então, posso gravar a imagem na mídia real a ser usada pelo dispositivo.

Pergunta: Como escrevo esta imagem para mídia atual, digamos uma partição de um cartão mmc em /dev/sdX1 ?

O que estou fazendo agora é dd ou cat do arquivo de imagem para /dev/sdX1 . Mas eu estou querendo saber o que acontece quando o arquivo de imagem e partição de destino não são do mesmo tamanho?

Devo preencher o arquivo de imagem para ser maior que a partição ou torná-lo apenas o suficiente para manter os dados e menores que o destino?

Isso é diferente de fazer cópia de disco para disco, como /dev/sda a disk.img e /dev/sdb , em que as tabelas de partição são copiadas e todas as partições da origem e do destino são exatamente as mesmas.

    
por user3528438 03.09.2015 / 18:04

1 resposta

1

Assim como a tabela de partição em um disco inteiro registra onde as partições terminam em relação ao disco, o próprio sistema de arquivos sabe onde termina em relação ao início de sua partição.

Não importa se há lixo em uma partição após o sistema de arquivos, além do espaço desperdiçado no meio. Contanto que sua imagem seja menor que (ou exatamente tão grande quanto) a partição de destino, você é bom.

Alguns sistemas de arquivos podem ser redimensionados para preencher todo o espaço disponível na partição em que residem. (Muitas vezes, é mais conveniente copiar uma imagem um pouco menor para uma partição e redimensioná-la em vez de possivelmente cometer um erro ao calcular os tamanhos exatos.)

    
por 03.09.2015 / 19:24