Qual é a diferença entre o dispositivo de loop e o dispositivo de bloco? [fechadas]

1

Eu mesmo quero criar um dispositivo de loop, quero que ele tenha um nome especial, digamos /dev/loop-test-0 . Eu quero que seja depois de eu reiniciar a máquina. Eu acho que posso usar mknod para isso, mas isso não parece funcionar. Eu olho no outro dispositivo de loop que tenho no sistema e todos eles parecem

brw-rw----. 1 root disk   7,   0 Jul 27 09:35 /dev/loop0

Eu adicionei o número com mknod /dev/loop8 b 7 8 , então parece

brw-rw----. 1 root disk   7,   8 Jul 27 11:32 /dev/loop8

Quando uso losetup /dev/loop8 testfs , recebo losetup: /dev/loop8: failed to set up loop device: No such device or address , enquanto quando uso losetup /dev/loop0 testfs , não recebo nenhum erro.

Qual é o problema? Eu não quero usar

echo loop > /etc/modules-load.d/loop.conf
echo options loop max_loop=8 > /etc/modprobe.d/eightloop.conf

Eu mesmo quero criar dispositivos de loop, é possível?

    
por e271p314 27.07.2015 / 18:53

1 resposta

3

Um dispositivo de loop é um tipo particular de dispositivo de bloco, gerenciado pelo driver de dispositivo de loop. Um dispositivo de loop é um dispositivo de bloco cujo conteúdo é armazenado em um arquivo, semelhante à maneira como um dispositivo de disco SCSI é um bloco dispositivo cujo conteúdo é armazenado em um disco SCSI, um dispositivo de armazenamento USB é um dispositivo de bloco cujo conteúdo é armazenado em um periférico de armazenamento USB, etc.

O Linux possui um parâmetro de kernel que determina o número de dispositivos de loop que podem ser usados no sistema. Criar entradas em /dev não alterará esse número: você tem tantos dispositivos quanto o driver permitir, não mais. Se você criar entradas adicionais, não haverá um driver para manipulá-las, daí o erro “Nenhum dispositivo ou endereço” (ENODEV) ao tentar acessar o dispositivo.

Em um sistema Linux moderno (da última década ou por aí), o udev cria automaticamente entradas em /dev , então, criar entradas manualmente não é necessário - se a entrada não estiver lá, significa que você não tem o driver correspondente.

    
por 28.07.2015 / 02:47