busybox initramfs loop mount

2

Estou tentando montar em loop o meu sistema de arquivos raiz (um arquivo de loop) dentro de um busyramfs busybox.

Eu tento executar o comando:

monte /rootfs.raw / root

... que funciona no meu laptop Ubuntu, no entanto, eu simplesmente obtenho

mount: mounting /dev/loop0 on /root failed: Invalid argument

Não importa qual combinação de opções eu use (incluindo carregar / loop0 manualmente e tentar montá-lo), o sistema não montará o dispositivo de loop.

Por que não consigo montá-lo?

    
por Christian Stewart 21.08.2013 / 02:35

2 respostas

1

De acordo com mount (2) :

EINVAL source had an invalid superblock. Or, a remount was attempted, but source was not already mounted on target. Or, a move was attempted, but source was not a mount point, or was '/'.

Dos quais a primeira falha parece ser a mais provável e fácil de verificar com

fsck /rootfs.raw

A máquina que você está tentando montar tem o driver de loop embutido ou carregado? Experimente

grep loop /proc/devices

Se não, o loop é um módulo carregável? Experimente

# modload loop

Existem i-nodes de bloco de dispositivo de loop no lugar? O que faz

ls -l /dev/loop*

show? O número principal corresponde ao número do driver em /proc/devices ?

    
por 21.08.2013 / 04:49
1

Para resolver este problema, tive que ser mais detalhado sobre o meu comando de montagem. Acabei usando:

modprobe loop
mount -t iso9660 -o loop /bootpart/rootfs.raw /root

Isso funcionou corretamente.

    
por 21.08.2013 / 19:08