Capita, per lo meno a me, di necessitare di loop device per montare, ad esempio, una iso e di ricevere un bel messaggio che mi informa che non ci sono più loop device liberi mount: could not find any free loop device
.
A seconda della versione del kernel ci sono due (almeno) possibili soluzioni per rendere disponibili ulteriori loop.
kernel < 2.6.20
Il valore massimo di loop device utilizzabile è di 256. Di default linux ne pre alloca 64. Bisogna modificare il valore options loop max_loop all'interno di /etc/modprobe.conf. Successivamente mediante il comando rmmod loop && modprobe loop viene chiuso e ricaricato il modulo loop. Se viene restituito un errore durante l'ultimo comando potrebbe esserci qualche loop in uso. In questo caso eseguendo:
fwproxy:/tmp# losetup -a
/dev/loop0: [0308]:12 (/tmp/a)
si vede quale loop è impiegato e per montare cosa. Si potrà quindi prima smontare i vari loop e poi reinserire il modulo. Questo metodo non dovrebbe essere più utilizzato, in quanto i kernel attualmente in uso dovrebbero permettere l'allocazione dinamica dei loop, pertanto basta creare lo special device con la seguente sintassi:
mknod -m 0600 /dev/loopX b 7 X
dove X indica il numero del loop da creare


0 commenti:
Posta un commento