Como monto os arquivos .img no Ubuntu?

11

Acabei de baixar os arquivos Debian e Arch Linux e gostaria de montar antes de gravar no cartão SD. Como posso montar o img?

Tentei montar, mas estou recebendo o seguinte erro:

sudo mount -o loop archlinuxarm-13-06-2012.img /mnt/
mount: you must specify the filesystem type

Isso é yaffs2? Como posso montar o yaffs2, tanto quanto sei que ainda não é suportado no Ubuntu 12.04, e não encontrei nenhum pacote.

OHLÁLÁ
fonte

Respostas:

12

O jeito difícil

Leia minha outra resposta em É possível atualizar, atualizar e instalar o software antes de exibir uma imagem? .

Você precisa calcular o deslocamento do sistema de arquivos que deseja montar.

A maneira fácil, porém experimental

Considere usar meu novo utilitário piimg . Basta construir e executar

$ sudo ./piimg mount archlinuxarm-13-06-2012.img /mnt

NOTA Isso ainda não foi totalmente testado.

O que piimgfaz?

piimgrealiza uma série de montagens analisando a imagem e configurando os dispositivos e montagens de loop corretos. Ele monta /primeiro e, em seguida /boot, liga /dev(recursivamente), liga /syse cria /proc. Você precisa fazer o oposto para desmontar, mas deve haver um umountsubcomando em breve.

AVISO LEGAL Eu, Alex Chamberlain, sou o principal desenvolvedor do piimg. Como tal, posso estar inclinado para o uso de piimgem relação a outros métodos.

Alex Chamberlain
fonte
@iungi Qual método você usou?
Alex-Chamberlain
Obrigado por este trabalho valioso. Eu apenas apontei que é necessário instalar o pacote libparted0-dev para compilar corretamente. Vou usar o seu utilitário e apontarei problemas em potencial. Apenas uma pequena nota: parece mais lógico instalar em / usr / local / sbin um programa reservado para root! Cumprimentos.
<br/> Outra observação, há uma supervisão na sua linha de comando: <br/> $ sudo ./piimg mount sd.img / mnt
@ MarkBooth eu não trabalho piimghá muito tempo. Eu acho que a documentação para que a atualização necessidade, em vez de esta resposta (dado que não lhe diz como construí-lo!)
Alex Chamberlain
@ MarkBooth Oh, havia 2. Sim, ele precisa ser atualizado. Feito
Alex Chamberlain
1

O problema é que a imagem é uma imagem de disco completa, incluindo uma tabela de partição, não a imagem de uma partição individual.

Há algumas maneiras de contornar isso, uma maneira é calcular um deslocamento e usá-lo para montagem (consulte a resposta de alex para mais detalhes).

Outra maneira, se você possui um kernel recente e uma versão recente do losetup, é usar a opção -P para o losetup, por exemplo

losetup -P -f <nome do arquivo>

isso criará uma série de nós do dispositivo. O nó principal / dev / loop <número> e também os nós para cada partição em / dev / loop <número> p <número>. Você pode trabalhar com o dispositivo como qualquer outro dispositivo particionado.

Quando terminar, você pode remover o dispositivo de loopback com

losetup -d / dev / loop <número>

Peter Green
fonte