Makefile e ReiserFS con ATA RAid Promise Sx4000
mi trovavo tra le mani il controller RAID sx4000, che viaggiava su una
macchina windows che è andata in pensione.
ho pensato di riutilizzare l'hardware con due dischi maxtor nuovi da 80
GB, da impiegare come sistema di backup con debian
smoccolando non poco sono riuscito a compilare un modulo trovato in rete
e costato parecchie ricerche.
a questo punto ho due diversi problemi che vorrei risolvere
primo problema:
i due dischi sono in raid1 e vengono correttamente montati se li
formatto con ext3. se però provo a formattarli con makereiserfs ottengo
questo errore: no enough blocks on device.
ho cercato documentazione in rete ma non ho trovato nulla, e manco sulla
lista di debian mi hanno saputo rispondere.
secondo problema:
come detto sono riuscito a compilare i sorgenti del modulo che ho
trovato on line: anche se non so programmare, con molta fortuna sono
riuscito a modificare un paio di cose nel makefile e a completare la
compilazione.
di seguito vi riporto le due righe di configurazione alternativa
presenti nel makefile:
#INDEP386= -D__KERNEL__ -D__LINUX__ -D_SUPPORTENCLOSURE_
-I/usr/src/linux/include -Wall -Wstrict-prototypes -O2
-fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce
-mcpu=i386 -DCPU=386 -DMODULE -D_PBM_
INDEP386= -D__KERNEL__ -D__LINUX__ -D_SUPPORTENCLOSURE_
-I/usr/src/linux/include -Wall -Wstrict-prototypes -O2
-fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce
-mcpu=i386 -DCPU=386 -DMODULE -D_PBM_ -DMODVERSIONS -include
/usr/src/linux/include/linux/modversions.h
usando la prima il modulo si compila ma poi ci sono problemi perchè
quando si va di insmod si rifiuta di partire, lamentandosi che il kernel
è diverso da quello per cui è stato compilato.
usando la seconda (dopo avere installato gli headers del kernel), sono
riuscito a compilare modificando nei parametri del makefile la stringa
"/usr/src/linux/include/linux" in
"/usr/src/kernel-headers-miokernel/include/linux"
ora, vorrei modificare sto benedetto makefile in modo che fosse
possibile compilarlo anche su altre distribuzioni usando qualche
variabile che sosituisse "kernel-headers-miokernel" in modo da potere
poi redistribuire il tutto ai poveracci che come me dovranno avere a che
fare con quell'accidenti di controller
poi vorrei capire se fosse possibile perchè debian tiene gli headers del
kernel in una directory diversa da quella dei sorgenti del kernel come
fanno invece le distro basate su red hat.. da perfetto ignorante quale
sono la seconda soluzione mi parrebbe più sensata...
grazie e scusate la mail lunghissima...
Max
Reply to: