No driver loop
, o suporte para partições é opcional, determinado pelo argumento max_part
quando o driver é carregado. O valor padrão é 0, então o driver de loop não irá procurar por partições; com um valor diferente de zero, o driver suporta muitas partições. Dependendo das opções de compilação do kernel, o driver pode ser incluído no kernel, caso em que você precisa passar loop.max_part=…
na linha de comando do kernel no momento da inicialização, ou ser carregado como um módulo, caso em que você precisa passar max_part=…
quando o módulo é carregado.
No Debian wheezy, loop
é um módulo e o argumento max_part
não é passado. Para obter suporte à partição, descarregue o módulo e carregue-o de volta com um argumento max_part
(primeiro será necessário desativar qualquer dispositivo de loop existente com losetup -d
):
if lsmod | grep -wq loop; then rmmod loop; fi
modprobe loop max_part=31
Você pode tornar isso padrão adicionando options loop max_part=31
a /etc/modprobe.conf
.
Se você não puder descarregar o módulo (ou reinicializar, em uma distribuição onde loop
está embutido no kernel), você pode calcular o deslocamento da partição manualmente e usar a opção -o
para losetup
. Vejo
Lendo um sistema de arquivos a partir de uma imagem de disco inteira
Com novas distribuições, você pode usar losetup -P
ao configurar o dispositivo de loop :
…
losetup -P -f arch-rpi.img
…
mas o pacote util-linux
no Debian wheezy é muito antigo para ter essa opção.