On Sat, 28 Dec 2002, tom wrote: > Che tipo di kernel "fare" ? che vantaggi/svantaggi ci sono tra i due > tipi?
Intanto bisogna senz'altro escludere i due estremi (esclusivamente monolitico e esclusivamente modulare), perche' in un caso carica moduli di dispositivi inesistenti (confondendo il sistema o creando potenzialmente degli scompensi) e nell'altro non carica all'avvio moduli indispensabili (bloccandosi magari all'inizio). Come sempre la soluzione migliore IMHO e' quella di mezzo :) Di solito, per tradizione, si sceglie un modello modulare, perche' permette di conservare memoria RAM, non caricando o rimuovendo i moduli che non sono (piu') necessari. Pero' ribadisco quanto gia' detto in altra sede: se un certo numero di moduli viene caricato sempre e resta in memoria per la maggior parte del tempo, per questi il modello modulare non offre praticamente alcun vantaggio e tanto vale metterli come incorporati. Mettendo come incorporato un modulo che ti serverebbe lasciare come "modulo" ha lo svantaggio di non permetterti di rimuoverlo quando non fosse piu' necessario (perche' essendo, appunto, incorporato, verrebbe ovviamente sempre "caricato" all'avvio) In aggiunta un modulo che deve essere caricato subito, perche' indispensabile all'avvio (es. quello del filesystem di root), e' meglio IMHO che sia incorporato. D'altro canto i moduli che non servono al tuo sistema possono essere eliminati (= non compilati), risparmiando spazio su disco. Inoltre bisogna tener presente che non tutte le voci corrispondono ad un modulo, alcune influenzano le voci circostanti (inibendole o abilitandole), altri inseriscono delle impostazioni che non si riverberano su un particolare modulo. > Per creare un Kernel che abbia dei sinceri vantaggi si deve conoscere molto > bene il proprio hardware o non è necessario? Be' senz'altro e' utile; il kernel di serie nelle distribuzioni correnti e' concepito per essere utilizzato in ambienti operativi piuttosto eterogenei (ed infatti nella maggior parte dei casi non e' necessario ricompilare alcunche' per usufruirne) e quindi non puo' giocoforza essere "ottimizzato" per un particolare sistema. Cmq gia' guardando (con lsmod) i moduli caricati e utilizzati puoi avere un'idea, cosi' come saprai certamente gia' se hai bisogno del supporto di PCMCIA (per notebook), di schede isdn interne, di periferiche scsi emulate o naturali, che CPU hai, ecc.. Purtroppo diverse voci non sono adeguatamente documentate (o non lo sono affatto), pero' gia' la documentazione presente in /usr/src/linux/Documentation/ puo' essere utile. > Non ho alcuna necessita di un kernel nuovo,lo faccio solo per sport :) > quello che vorrei (e dico vorrei xke non ho idea se sia possibile!) è > compilare un kernel per aumentare le prestazioni delle aplicazioni , Sul fronte delle prestazioni, gia' qualcosa si puo' ottenere p.es. mettendo nella voce apposita la CPU utilizzata (al posto di quella predefinita); e' anche vero che AFAIK se le applicazioni sono compilate per i386, ottimizzare solo il kernel e non queste applicazioni offre vantaggi limitati .. > inserirgli la scheda audio che una isapci l'audio invece credo che sia meglio lasciarlo come modulare, anche in previsione dell'eventuale utilizzo di driver alternativi (ALSA) a quelli del kernel (OSS) > e fargli fare da firewall....... anche qui direi che puoi lasciarli come moduli > quindi escludere i moduli per me > inutili.....ma la cosa che vi stupira è che non so quali siano :)) In fondo credo che bastino due accorgimenti e, anche se per ipotesi dovessi sbagliare qualcosa, gli effetti non dovrebbero essere poi cosi' dirompenti: 1) modificare il numero di versione, attribuendo a EXTRAVERSION quello che (ti pare nel file /usr/src/_versione_/Makefile): cio' evita che i moduli in /lib/modules/_versione_/ siano sovrascritti arbitrariamente con qualcosa che non e' perfettamente funzionante. 2) creare un voce apposita nel file /etc/lilo.conf per identificare quel kernel compilato di prova e poter sempre riavviare con quello funzionante, nel caso in cui le cose non dovessero andare come previsto. Se una volta riavviato non parte o ha un comportamento bizzarro, non fai altro che riavviare con il kernel precedente e tutto si sistema. Una volta fatto questo non ti resta che riprovare .. a te la palla ;) P.S. visto che sei avanti di un giorno, tra qualche ora potresti dirmi com'e' andato a finire il SuperEnalotto, che almeno metto i numeri giusti? ;) :PP -- GNU/Linux Slackware 9.0beta1 ** k 2.4.20-acpi+preempt+lowlat+pktwrt LU #210970 LM #98222 SU #12583 "Spammer Burning: le radici dell'odio"