Criando uma imagem de cartão de memória com várias partições sem interação com o usuário

0

Eu quero criar um único arquivo de imagem para ser gravado em um cartão de memória como o SD usando uma ferramenta como o Win32DiskImager. O objetivo é que, uma vez que a imagem tenha sido escrita, haverá pelo menos duas partições no cartão. No meu caso, eles seriam uma partição de boot no formato VFAT e um rootfs Linux incorporado no formato ext3, mas eles poderiam ser qualquer coisa, e poderia haver mais de dois deles. Outro requisito é que todo o processo de criação da imagem precisa ser implementado como um script Linux que não requer interação com o usuário. Pode-se supor que o conteúdo dos sistemas de arquivos já exista de alguma forma.

Eu já tenho um script que faz o que eu quero usando o dd para criar um arquivo de imagem, o sfdisk para particioná-lo e o losetup para montar as partições.

A questão que não tenho uma resposta até agora está relacionada à geometria do disco. O script que tenho funciona para mim e para os cartões de memória que tenho, mas o sfdisk (compreensivelmente) continua reclamando sobre como ele não consegue detectar a geometria do meu arquivo de imagem. Outro desafio com o sfdisk é que, em algum momento de seu desenvolvimento, o suporte para definir a geometria no formato cilindros-cabeças-setores foi removido.

Tanto quanto eu sei, não haveria necessidade de saber sobre a geometria se eu fizesse o particionamento diretamente em cada cartão de memória.

Como devo definir a geometria? Ou precisa ser definido de alguma forma? É possível até mesmo criar uma imagem universal sem saber nada sobre o cartão de memória em que será gravada, exigindo apenas que a placa seja grande o suficiente para a imagem? Ou estou usando apenas ferramentas erradas para isso? Quais seriam as ferramentas corretas e a maneira correta de fazer isso?

Até mesmo dicas sobre direção seriam bem-vindas se não houvesse uma solução completa que fosse facilmente descrita.

    
por TheAG 14.02.2017 / 14:08

0 respostas