PDA

View Full Version : Kernel Newbie


Fugazi
20-09-2006, 17:29
Pensavo di installare una distro su una partizioncina libera che ho per fare esperimenti....
il primissimo sarebbe quello di ricompilare il Kernel, cosa che non ho mai fatto nè capito come fare.

Ho cercato una guida in giro ma non ne trovo, almeno non di comprensibili per un niubbo, me ne sapete consigliare qualcuna ?

Soprattutto:
Che moduli ho installato ora ?
Quali compilati staticamente e quali caricati dinamicamente ?
Quali mi servono e quali no ? Cioè dove trovo una lista che mi dica a che serve il modulo XYZ per sapere se inserirlo nel nuovo Kernel o è assolutamente inutile ?

inoltre....
Ho sentito dire che SuSE, Arch, Debian e altre distro usano Kernel Patchati:
In cosa consistono queste Patch ?
Posso inserirle nel mio Kernel ?
Se si come ?

Grassssie :D

Gremo
20-09-2006, 23:59
Pensavo di installare una distro su una partizioncina libera che ho per fare esperimenti....
il primissimo sarebbe quello di ricompilare il Kernel, cosa che non ho mai fatto nè capito come fare.

Ho cercato una guida in giro ma non ne trovo, almeno non di comprensibili per un niubbo, me ne sapete consigliare qualcuna ?

Soprattutto:
Che moduli ho installato ora ?
Quali compilati staticamente e quali caricati dinamicamente ?
Quali mi servono e quali no ? Cioè dove trovo una lista che mi dica a che serve il modulo XYZ per sapere se inserirlo nel nuovo Kernel o è assolutamente inutile ?

inoltre....
Ho sentito dire che SuSE, Arch, Debian e altre distro usano Kernel Patchati:
In cosa consistono queste Patch ?
Posso inserirle nel mio Kernel ?
Se si come ?

Grassssie :D

il modo migliore è:
1) conservarsi un kernel funzionante per fare il boot
2) configurare grub o lilo per bootare con nuovi kernel
3) cercare su google il tuo hardware e le configurazioni che usa la gente

compilare il kernel non è difficile.

# cd /usr/src/linux
# cp .config /home/<utente>/kernel_config (salva la configurazione attuale
# make menuconfig

disabiliti o abiliti quello che ti serve in base alle tue ricerche. Inizia con cose semplici tipo il suono e alsa, abilitando solo il supporto al tua sk audio ad esempio

una volta che pensi di aver finito, esci, salva la nuova configurazione (ti viene chiesto all'uscita). dai
#make install & make modules_install
# cp arch/i386/boot/bzImage /boot/<nome kernel nuovo>

subito dopo configura grub per usare il nuovo kernel (trovi molte guide per far questo)


se qualcosa va storto, fai il boot dal kernel vecchio salvato.

per guardare quali sono i moduli caricati al momento puoi dare:
# lsmod

io preferisco i kernel monolitici in ogni caso

kernel patchati: non conosco la tua distribuzione (uso gentoo) ma se il kernel è installato con il gestore d pacchetti dovrebbe includere già tutte le patch principali (a meno che non sia stato installato un kernel vanilla, cioè pulito). Per gentoo esiste il kernel "gentoo-sources" che dovrebbe essere il vanilla + patch gentoo.

le patch ti servono in base in genere a supporto hw/nuove funzioni. Io installo solo 2 patch, 1 per abilitare il controllo luminosità dello schermo, l'altra per far andare il mio centrino (1.6ghz) a 533mhz (utile d'estate :muro: )

cmq le tue domande necessitano di risposte troooppo lunghe :D :)

Pardo
21-09-2006, 11:32
Soprattutto:
Che moduli ho installato ora ?
Quali compilati staticamente e quali caricati dinamicamente ?
Quali mi servono e quali no ? Cioè dove trovo una lista che mi dica a che serve il modulo XYZ per sapere se inserirlo nel nuovo Kernel o è assolutamente inutile ?
Ho sentito dire che SuSE, Arch, Debian e altre distro usano Kernel Patchati:
In cosa consistono queste Patch ?
Posso inserirle nel mio Kernel ?
Se si come ?


La config del kernel in uso e` /proc/config.gz

Cosa serve e cosa no ti devi arrangiare con l'help contestuale di ogni opzione, con la roba nella directory Documentation/ del kernel stesso, googlando, e facendo esperimenti.

Le patch d solito nn sn fondamentali, cmq suppongo basti cercare nei siti delle distro o googlare.

Fugazi
21-09-2006, 18:11
conservarsi un kernel funzionante per fare il bootQuesto è poco ma sicuro ;) e comunque finchè non ci capisco qualcosa smanetto solo sulla distro "da esperimenti"

configurare grub o lilo per bootare con nuovi kernelQuesto non è un problema :D

cercare su google il tuo hardware e le configurazioni che usa la genteQuesta sinceramente non l'ho capita.... cosa mi consigli di cercare ?

La config del kernel in uso e` /proc/config.gzMolto interessante se non fosse scritta in nippocoreano arcaico :D

per guardare quali sono i moduli caricati al momento puoi dare:
# lsmodLa colonna "used by" come si legge ?
0 significa non usato ?
3 significa usato da 3 processi ?
sul man non c'è scritto :(

Come faccio a sapere quali moduli sono attualmente compilati nel kernel e quali caricati come moduli ?

Pardo
21-09-2006, 18:28
zcat /proc/config.gz > config.txt

( la vedo grigia per il kernel se t perdi ancora in ste cose :D )

cmq e` tutto li` completo. va caricata dal prog d configurazione del kernel.

Fugazi
21-09-2006, 20:26
zcat /proc/config.gz > config.txt

( la vedo grigia per il kernel se t perdi ancora in ste cose :D )

cmq e` tutto li` completo. va caricata dal prog d configurazione del kernel.
Il file di testo dentro al .gz l'ho aperto.... è proprio lui che è scritto in una strana lingua che non capisco :eek:

Non dirmi che lo dovrei riscrivere da capo per il nuovo kernel :eekk:

Scoperchiatore
22-09-2006, 20:28
Il file di testo dentro al .gz l'ho aperto.... è proprio lui che è scritto in una strana lingua che non capisco :eek:

Non dirmi che lo dovrei riscrivere da capo per il nuovo kernel :eekk:

No, quello viene automaticamente creato facendo
make menuconfig
e spuntando qua e là.

Fallo, e così capirai che livello di conoscenza ti è richiesto per compilare u kernel. IMHO non è alto, perchè spesso basta fidarsi di quello che dice la documentazione (premi h su una voce per accedere all'help relativo alla voce stessa).

Cosa inserire o non inserire è questione di esperienza. Ti consiglio di inserire come moduli tutto ciò che riguarda l'audio e poi le cose che non usi o non pensi di usare spesso (tipo PCMCIA o lettori di schede MMC o particolari periferiche USB e via dicendo) mentre di mettere nel kernel i driver della tua scheda di rete, iptables, e via dicendo...