IL MIO PRIMO KERNEL HACK!!!

ANTEFATTO:
ho 14 immagini ISO dei cdrom di Debian Woody, 7 cd di binari per 386 e 7 cd di sorgenti.



NECESSITA':
Voglio permettere al PC di accedere contemporaneamente vedi il file apt-get: installare usando le immagini dei CD presenti sul server
a tali immagini per poter accedere a binari e sorgenti.



PROBLEMA:
Di default, linux permette di montare in loop solo 8 device o file, mentre a me ne servono _almeno_ 14.... come fare?



CONSTATAZIONE:
Per fortuna, il piu' grosso vantaggio di Linux e' la possibilita' di accedere ai sorgenti e di liberamente modificarli per le proprie necessita'.



SOLUZIONE:
Cercando cercando, vedo che nel file sorgente (dedicato ai device di loopback) ../linux/drivers/block/loop.c esiste una bellissima riga che imposta il massimo numero di device montabili in loop, e tale riga dice:

static int max_loop = 8;

basta modificarla alzanto tale valore a (per esempio) 16:

static int max_loop = 16;

Ora occorre ricompilare il kernel ed installarlo. Non abbiamo ancora finito: infatti, la directory /dev non contiene abbastanza punti su cui montare le iso, infatti se date il comando

ls -la /dev/loop*

otterrete come output:

brw-rw----    1 root     disk       7,   0 Jul  8  2002 /dev/loop0
brw-rw----    1 root     disk       7,   1 Jul  8  2002 /dev/loop1
brw-rw----    1 root     disk       7,   2 Jul  8  2002 /dev/loop2
brw-rw----    1 root     disk       7,   3 Jul  8  2002 /dev/loop3
brw-rw----    1 root     disk       7,   4 Jul  8  2002 /dev/loop4
brw-rw----    1 root     disk       7,   5 Jul  8  2002 /dev/loop5
brw-rw----    1 root     disk       7,   6 Jul  8  2002 /dev/loop6
brw-rw----    1 root     disk       7,   7 Jul  8  2002 /dev/loop7



Occorre quindi creare altri otto punti di mount col comando mknod, qguardate il relativo man per i dettagli:

 mknod /dev/loop8 b 7 8  (invio)
 mknod /dev/loop9 b 7 9 (invio)
 mknod /dev/loop10 b 7 10 (invio)
 mknod /dev/loop11 b 7 11 (invio)
 mknod /dev/loop12 b 7 12 (invio)
 mknod /dev/loop13 b 7 13 (invio)
 mknod /dev/loop14 b 7 14 (invio)
 mknod /dev/loop15 b 7 15 (invio)


Come ultima operazione, occorre modificare il gruppo di appartenenza, cosi':

chown root:disk /dev/loop* (invio)

Fatto! ora e' possibile montare fino a 16 immabini ISO in contemporanea.