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
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)