Dopo un po' che uso Linux ho deciso di capire come funziona la compilazione del kernel, ho installato una distro "cavia" su una partizione libera è ho cominciato a documentarmi.....
La prima difficoltà è trovare una guida abbastanza esaustiva da spiegarmi cosa sto facendo e perchè dovrei farlo ed allo stesso tempo abbastanza semplice da essere capita da un niubbo.....
Quelle che ho trovato sono:
- estrai il contenuto del .tar.gz, spostati nella directory taldeitali, poi configura con menuconfig, poi make clean dep bzImage modules modules_install e il Kernel è pronto, aggiungilo a Lilo/Grub e riavvia, oppure....
- 340 pagine (in inglese) che spiegano come è strutturato un kernel Linux e come gestisce diosolosaquali funzioni della CPU.
Io vorrei semplicemente capire come si configura un Kernel, che faccio installo moduli a casaccio ? Come faccio a sapere quali miservono per gestire il mio hardware e quali posso scartare ?
Ad esempio GENERIC_IOMAP che fa ? E CONFIG_SYSCTL ?
E come faccio a sapere quali moduli devo includere per gestire il mio Hardware ? Come si chiama il modulo per l'USB, quale installo per il S-ATA dei 4 disponibili ?
E per il modulo della scheda video ? Se installo un nuovo Kernel dovrò reinstallare anche il modulo, si può includere in fase di compilazione Kernel o devo reinstallare a parte ?
Un'altra cosa, magari mi servirà quando avrò un po' di pratica ma intanto metto le mani avanti....
So che esistono innumerevoli Kernel Patchati inclusi in alcune Distro e nella stragrande maggioranza dei casi le patches possono essere scaricate a parte e applicate al Kernel in fase di compilazione....
Come si applica una Patch esterna ?