Pagina 1 di 1
3 domande sul kernel
Inviato: dom 3 set 2006, 16:49
da Akito
Dopo aver installato Slackware sul mio pc ho deciso di aggiornare il kernel di base al 2.6.13. Ci sono riuscito facilmente grazie agli innumerevoli howto disponibili su Slacky. Tuttavia essendo la prima volta ho deciso di installare un kernel precompilato (quello nel CD2) seguendo il mini-howto di PV e tutto funziona (mi sembrava più semplice e sicuro). Ma torniamo alle mie domande che per ora non hanno avuto risposta:
1 - nei due howto di Slacky (sezione Kernel) si affronta la compilazione di un nuovo kernel 2.6.xx, tuttavia in uno si procede solo con l'installazione di kernel precompilati mentre nell'altro si spiega anche come compilare un kernel scaricato da kernel.org. In quest'ultimo si specifica di creare la directory /sys ed inserire le relative entrate in fstab poiché questa directory è necessaria al kernel per svolgere non so quali funzioni. Ora nella versione precompilata non si parla di questo argomento e non viene nemmeno modificato automaticamente fstab. Dunque la domanda: è necessario creare questa directory e se si come mai nell'howto di P. non se ne parla?
2 - volevo inoltre ricompilare il kernel per "snellirlo" pensando di lascire solo ciò che serve sul mio computer (caricando il config installato con il kernel precompilato sono selezionati driver per componenti che non ho e così volevo rimuoverli). Volevo chiedervi se è in questo che consiste l'ottimizzazione per un computer e se rimuovendo driver e quant'altro che non serve sul mio pc ottengo vantaggi apprezzabili o rischio solo di compromettere il funzionamento del sistema dato che per ora funziona bene con il kernel precompilato fresco di installazione.
3 - se voglio installare un kernel successivo al 2.6.13 (che ho già) i nuovi file sovrascrivono i vecchi? Ho letto che da 2.4 a 2.6 non si corrono questi rischi ma non mi è chiaro da 2.6 a 2.6 più nuovo. Da quanto ho capito io ogni kernel crea i propri moduli in /lib/modules/<<versione kernel>> e ha i suoi sorgenti in /usr/src/<<versione kernel>>: dunque non dovrebbe sovrascrivere altri files. Ma in altri topic si dice che li sovrascriva.
Scusate per le tre domande rilasciate tutte insieme ma non ho internet a casa (maledetta copertura adsl) e non so mai con certezza quando posso usarlo (anche se in questi giorni ho più tempo).
Grazie!!
Inviato: dom 3 set 2006, 17:07
da dapuzz
2) Non l'ho mai capito. Dal momento che il kernel è modulare, i moduli non caricati non dovrebbero occupare risorse, e comunque per la mia esperienza non ci sono 'notevoli' miglioramenti di prestazioni.
3) Dipende da come lo installi. Se dai make install ti sovrascrive i file che ci sono in /boot. Se installi manualmente invece puoi benissimo chiamare i file in modo da rispecchiare la versione senza sovrascrivere nulla (es hai un vmlinuz-2.6.16.13 e un vmlinuz-2.6.17.1) Ovviamente poi devi configurare lilo inserendo i nomi dei file giusti.
Inviato: dom 3 set 2006, 17:08
da eXTreMeB4ss
Rileggiti bene l'How-To.
Comunque io ricompilo il kernel, e non ho mai fatto "la directory sys".
Poi il vecchio kernel lo lascio sempre, se per caso ti esce un kernel panic almeno hai l'altro kernel avviabile, e quindi te lo riconfiguri di nuovo.
Certo, togliendo i moduli e i driver built-in la tua macchina sarà più fulminea, ma la velocità non si nota nemmeno
Inviato: dom 3 set 2006, 17:09
da goldy
1) Non ho letto gli howto di cui parli , ma la directory /sys è stata introdotta solo dal kernel 2.6 , e serve ad avere informazioni sui dispositivi , se nei due howto ci sono differenze di modi di compilare il kernel , è probabile che uno si riferisca al 2.4 e l'altro howto al 2.6.
Credo che sia cosi'
2) No non dovrebbe sovrascrivere i moduli, le versioni del kernel hanno numeri diversi. quindi , se compili un 2.6.13
e hai già un 2.6.12
dovresti avere un /lib/modules/2.6.13
e un lib/modules/2.6.12
3) Risultati apprezzabili? bah ..... il kernel viene snellito certo , quindi già questo è apprezzabile,
magari lo compili in base alla tua architettura, metti qualche funzione in più in base al tuo hardware, ma non ti aspettare
niente di eccezionale, alla fine anche se hai un kernel con una miriade di moduli inutili , basta non caricarli all'avvio
e non ti daranno nessun fastidio, al massimo occuperanno un pò di spazio
Inviato: dom 3 set 2006, 17:12
da dapuzz
eXTreMeB4ss ha scritto:Comunque io ricompilo il kernel, e non ho mai fatto "la directory sys".
Neanche io ricordo mai di averla creata, eppure esiste. Nel fstab non c'è niente relativo a /sys eppure in mtab mi ritrovo sysfs /sys sysfs rw 0 0. Magari viene gestito tutto automaticamente
Inviato: dom 3 set 2006, 17:38
da albatros
3) I sorgenti li puoi mettere dove vuoi.
make modules_install scrive in una directory chiamata come il numero di versione del kernel (es. 2.6.17.11) in /lib/modules, sovrascrive solo su una versione identica del kernel.
Come già detto, se fai un'installazione manuale del kernel (es. bzImage o vmlinuz), non ti sovrascrive nulla.
2) Finché sono moduli non appesantiscono il kernel, però ci metti molto meno a compilarlo se non ti servono. Il funzionamento lo comprometti se togli qualcosa di essenziale (es. il supporto al filesystem, alla tua scheda madre, eccetera), se togli il supporto firewire o bluetooth quando non ce l'hai non fai che bene...
Come ottimizzazione scegli il tipo di processore che hai, che di default su slackware è un 486.
1) Ricordo di aver creato /sys appena uscito il 2.6.0rc, ma da una certa versione in poi non l'ho più fatto perché c'erano degli errori che non ho mai approfondito... Vedo che l'attuale /sys è stata creata oggi all'avvio del pc...
Inviato: dom 3 set 2006, 17:42
da gioco
2) Se snellisci componenti statici hai il vantaggio che l'immagine del kernel sarà più piccola e di conseguenza occuperà meno RAM (in alcuni casi il risparmio è però veramente irrisorio, sono i componenti fondamentali quelli che occupano di più). Se leggi l'help di alcune voci del kernel ti dice quanto risparmi se non le selezioni. Io ad esempio sto provando a compilare un kernel per un vecchio compaq con 32MB di RAM selezionando solo l'indispensabile (sarà usato solo per riproduzione audio).
Per quanto riguarda i moduli... beh sono stati introdotti per essere caricati solo quando servono quindi puoi compilarti centinaia di moduli e non caricarli senza appensantire assolutamente la macchina. Ad esempio puoi avere moduli per hardware che usi raramente e caricarli solo quando servono.
3) Nel kernel 2.6.x è stata aggiunta un'opzione che ti permette di aggiungere una stringa alla fine della versione del kernel: ad esempio puoi compilare un kernel versione 2.6.17.7prova. Questo fa si che i moduli saranno installati in /lib/modules/2.6.17.7prova. Per l'immagine del kernel, System.map e config ti consiglio di spostarli in /boot rinominadoli.
Inviato: dom 3 set 2006, 18:15
da Akito
Grazie per le risposte; ho risolto così molti dubbi (per un newbie).
Comunque ho riletto come consiglia eXTreMeB4ss l'hotwo. Provate a consultarlo (è il primo nella sezione kernel) e andate al paragrafo Compilazione kernel 2.6.xx. Alla fine del paragrafo prima di Ricompilazione kernel 2.6.xx dice:
"ora dovete modificare il file /etc/fstab per inserire il filesystem virtuale Sysfs, il quale si occupa delle informazioni sui dispositivi lasciando a Procfs il compito delle informazioni sui processi, quindi se non presente create nella root principale la dir sys
# mkdir /sys
e poi inserite in /etc/fstab (mantenendo la giusta formattazione) una riga come questa
none /sys sysfs defaults 0 0
Riavviate il sistema e godetevi il vostro nuovo Kernel."
Inviato: dom 3 set 2006, 18:19
da urka58
albatros ha scritto:
3) I sorgenti li puoi mettere dove vuoi.
make modules_install scrive in una directory chiamata come il numero di versione del kernel (es. 2.6.17.11) in /lib/modules, sovrascrive solo su una versione identica del kernel.
Come già detto, se fai un'installazione manuale del kernel (es. bzImage o vmlinuz), non ti sovrascrive nulla.
Attenzione però , se sono presenti moduli di terze parti, questi vengono cancellati e devono essere ricompilati.
Ciao
Inviato: dom 3 set 2006, 19:24
da albatros
Attenzione però , se sono presenti moduli di terze parti, questi vengono cancellati e devono essere ricompilati.
Beh, dipende...
I driver Nvidia devono essere ricompilati ogni volta che ricompili il kernel...
Re: 3 domande sul kernel
Inviato: dom 3 set 2006, 20:09
da Loris
Akito ha scritto:Dunque la domanda: è necessario creare questa directory e se si come mai nell'howto di P. non se ne parla?
Se vuoi usare sysfs (strumento inserito nei nuovi kernel 2.6 che ti aiuta a esportare verso lo spazio utente informazioni relative a dispositivi e device) si, Pat forse non ne parla perché il suo è un mini-howto e spiega l'essenziale, poi il resto dovrebbe essere approfondito a parte... se interessa.