Come aggiungere più dispositivi / dev / loop * su Fedora 19


11

Come aggiungere più dispositivi / dev / loop * su Fedora 19? Lo voglio:

# uname -r
3.11.2-201.fc19.x86_64
# lsmod |grep loop

# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control
# modprobe loop max_loop=128
# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control

Quindi non cambia nulla.


loop non è un modulo in fedora 19, è compilato in.
Sirex,

1
probabilmente useresti mknod. ma perché vorresti creare più file loop senza collegarli a nulla?
Strugee,

Risposte:


9

Devi creare nodi dispositivo in /devcon mknod. I nodi del dispositivo devhanno un tipo (blocco, carattere e così via), un numero maggiore e un numero minore. Puoi scoprire il tipo e il numero principale facendo ls -l /dev/loop0:

user@foo:/sys# ls -l /dev/loop0
brw-rw---- 1 root disk 7, 0 Oct  8 08:12 /dev/loop0

Ciò significa che i nodi del dispositivo loop devono avere il tipo di blocco e il numero maggiore di 7. I numeri minori aumentano di uno per ciascun nodo del dispositivo, a partire da 0, quindi loop0 è semplicemente 0 e loop7 è 7.

Per creare loop8 si esegue, come root, il comando mknod -m 0660 /dev/loop8 b 7 8. Questo creerà il nodo del dispositivo /dev/loop8con le autorizzazioni specificate lungo lo -mswitch (non è necessario poiché probabilmente stai eseguendo un sistema desktop, ma è una buona idea non permettere a tutti di leggere e scrivere i nodi del tuo dispositivo).


1
Hai dimenticato il tipo di nodo dopo il nome, quindi il comando dovrebbe essere mknod -m 0660 /dev/loop8 b 7 8.
Vasilis Lourdas,

11

Quando lo esegui come root, losetup -fcreerà automaticamente i dispositivi loop se necessario, se non ce ne sono disponibili gratuitamente.

Quindi, piuttosto che farlo da soli mknod, il modo più semplice per creare un nuovo dispositivo loop è con sudo losetup -f. Tale approccio ti darà un dispositivo loop gratuito esistente se ne esiste uno, o ne creerà automaticamente uno nuovo se necessario.


Il messaggio di errore che ricevi quando sei in esecuzione losetup -fcome utente non root non è attualmente molto utile, quindi ho archiviato bugzilla.redhat.com/show_bug.cgi?id=1215370 per suggerire di migliorarlo.
ncoghlan,

4

Eh, incompleto :) Usa semplicemente questo script per aggiungere nuovi / dev / loop. Ricorda per la modifica dei numeri, lo script passa al 63 ° ciclo, inizia dall'8 ° perché 0-7 è impostato di default. Nota, i diritti vengono copiati da / dev / loop0 :)

for i in {8..63}; do if [ -e /dev/loop$i ]; then continue; fi; \
mknod /dev/loop$i b 7 $i; chown --reference=/dev/loop0 /dev/loop$i; \
chmod --reference=/dev/loop0 /dev/loop$i; done
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.