Perfezionare kernel monolitico

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Perfezionare kernel monolitico

Messaggio da Mario Vanoni »

ragnetto ha scritto:@Mario Vanoni: non ho capito niente di quello che hai scritto. Potresti essere più chiaro?
- con kernel statico, le macchine collegate via ethernet sono veloci il doppio

- il titolo kernel monolitico e` sbagliato, giusto sarebbe kernel statico

Mario Vanoni

ragnetto
Linux 1.x
Linux 1.x
Messaggi: 178
Iscritto il: sab 2 feb 2008, 22:07

Re: Perfezionare kernel monolitico

Messaggio da ragnetto »

Ok ma come devo fare per fare un kernel statico? Io ho cercato ma non ho trovato niente di utile? Conoscete della documentazione?

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Perfezionare kernel monolitico

Messaggio da conraid »

ragnetto ha scritto:Ok ma come devo fare per fare un kernel statico? Io ho cercato ma non ho trovato niente di utile? Conoscete della documentazione?
Non metti moduli, metti tutto *quello che ti serve* built-in nel kernel in fase di compilazione.

Offtopic: Valuta bene la scelta che fai. IMHO non troppo giustificata in ambito home.
I driver di periferiche che uso raramente, filesystem che possono servirmi ogni tanto, alcune componenti di networking che uso solo per alcuni test le metto e le metterò sempre come modulo.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Perfezionare kernel monolitico

Messaggio da Mario Vanoni »

ragnetto ha scritto:Slackware12, ho creato un kernel monolitico ultraleggero e sembra che nonstante abbia tutto incorporato non trovi i supporti necessari.
La tua domanda iniziale di questo topic.

Fai come ti spiega Conraid, built-in significa [*], _NON_ [M]!

Non esiste documentazione specifica, Sherlock Holmes: elementare Dr. Watson.

L'OFFTOPIC di Conraid giusto, ma per esperimentare, non ti serve.

Mario Vanoni

Avatar utente
FireEater
Linux 3.x
Linux 3.x
Messaggi: 508
Iscritto il: sab 5 feb 2005, 0:00
Nome Cognome: Giuseppe M.
Slackware: Current
Kernel: 2.6.32.7-smp
Desktop: kde 4.3.4
Località: Cagliari <---> Torino

Re: Perfezionare kernel monolitico

Messaggio da FireEater »

Offtopic: Scusate l'ignoranza, ma il kernel modulare non è stato "inventato" per "alleggerire" il kernel stesso e rendere il sistema più rapido?

Ok. Un driver compilato built-in è più veloce rispetto ad un modulo, ma anche compilare un kernel con supporto firewire built-in quando io non ho MAI usato la firewire(nonostante sia nel portatile) non mi pare abbia senso, anzi mi pare finisca solo per "appesantire" il kernel.

Per questo in ambito home mi pare inutile.

Illuminatemi.

Avatar utente
slucky
Iper Master
Iper Master
Messaggi: 2420
Iscritto il: mar 1 mag 2007, 15:30
Slackware: 15.0
Desktop: xfce4
Distribuzione: FreeBSD

Re: Perfezionare kernel monolitico

Messaggio da slucky »

La via più semplice e sicura, parti da un config "huge" del mitico Pat + make oldconfig, l'output ti restituirà molte nuove funzioni del nuovo kernel (NEW) o (Experimental) che decidi tu se configurare statici- moduli o non-inserire affatto, alla fine ti ritrovi un kernel scattante e sopratutto "funzionante" ed è ciò che conta ;)

Keep It Simple Stupid :D

lgiancri
Linux 0.x
Linux 0.x
Messaggi: 35
Iscritto il: gio 22 set 2005, 20:00

Re: Perfezionare kernel monolitico

Messaggio da lgiancri »

L'unica ragione che conosco per cui vale la pena di costruire un kernel monolitico è la sicurezza. Un kernel monolitico non è modificabile a runtime, non è possibile caricare alcun modulo (e questo ci mette al riparo da rootkit vari). E' quindi un kernel apprezzabile se vuoi assemblare un host su cui girano dei server (apache, ftp, ssh, ecc). Soprattutto se un tale computer deve rimanere acceso 24h, 7 giorni su 7. Un kernel monolitico è meno necessario per il pc casalingo, specialmente se cambi spesso configurazione (scheda grafica, dischi, schede di rete, ecc). Nel caso citato, infatti saresti costretto a ricompilare ogni volta il tuo kernel.
In ogni caso, il primo passo è capire come è equipaggiato il tuo pc: lspci -v (e prendi appunti), cpuinfo, lsusb, consulta anche quello che linux ti dice con dmesg.
Con l'elenco di tutti i dispositivi contenuti nel tuo pc, scarica l'ultima versione completa del kernel di linux (2.6.24), scompatta e preparati a compilare da zero (o quasi il kernel). Naturalmente , la prima cosa da NON selezionare è la possibilità di caricare moduli (Loadable Kernel Module), poi pian piano cerca di trovare tutte le sezioni dove ci sono i driver per le tue periferiche. Procedi per tentativi ed errori, fin quando tutto funziona. La rete è piena di tutorial su come ricompilare il kernel di Linux. Good Luck
lgiancri

first
Linux 3.x
Linux 3.x
Messaggi: 677
Iscritto il: gio 23 giu 2005, 0:00

Re: Perfezionare kernel monolitico

Messaggio da first »

consiglio: quando dai make menuconfig usa la funzione search ( / ) in cui ti da utili consigli sulle varie dipendenze e cosi vai sul sicuro he tutto funzionera

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Perfezionare kernel monolitico

Messaggio da Mario Vanoni »

Fire_eater ha scritto:Offtopic: Scusate l'ignoranza, ma il kernel modulare non è stato "inventato" per "alleggerire" il kernel stesso e rendere il sistema più rapido?

Ok. Un driver compilato built-in è più veloce rispetto ad un modulo, ma anche compilare un kernel con supporto firewire built-in quando io non ho MAI usato la firewire(nonostante sia nel portatile) non mi pare abbia senso, anzi mi pare finisca solo per "appesantire" il kernel.

Per questo in ambito home mi pare inutile.

Illuminatemi.
Un kernel statico e` sempre piu` "grasso" di uno con moduli,
dipende da quante cose (inutili) ci metti,
io metto solo quello della mia HW che mi serve.
Esempio 2.4.24: statico = 4532000 bytes, con moduli = 2421880 bytes.
Il giorno che mi serve altro, ricompilo il kernel, no pigrizia/no problems.
Top adesso dice 4GB di memoria, 0.9GB used, viaggiano KDE ed amarok.

Un kernel statico e` sempre piu` veloce di uno con moduli.
E` tutto in memoria, non ci sono meccanismi di caricare/scaricare moduli.
E non avrai mai problemi che ???NN??? ti carichi un modulo che non vuoi.

Per esperienza un kernel statico e` sempre piu` veloce di uno con moduli.

Mario Vanoni

Avatar utente
aLvArO
Linux 4.x
Linux 4.x
Messaggi: 1201
Iscritto il: mer 30 mar 2005, 0:00
Nome Cognome: alessio
Slackware: current64
Kernel: 2.6.30-rc8-smp
Desktop: kde 4.2.4
Località: Catanzaro Lido (CZ)

Re: Perfezionare kernel monolitico

Messaggio da aLvArO »

Mario Vanoni ha scritto:
ragnetto ha scritto:@Mario Vanoni: non ho capito niente di quello che hai scritto. Potresti essere più chiaro?
- con kernel statico, le macchine collegate via ethernet sono veloci il doppio

- il titolo kernel monolitico e` sbagliato, giusto sarebbe kernel statico

Mario Vanoni
concordo.
infatti anche io nel mio primo post sono stato poco chiaro, e dopo ne ho dovuto riscrivere uno per spiegarmi meglio.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Perfezionare kernel monolitico

Messaggio da targzeta »

Mario Vanoni ha scritto:...- il titolo kernel monolitico e` sbagliato, giusto sarebbe kernel statico...
Esatto, finalmente qualcun altro che sottolinea la differenza :).

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Perfezionare kernel monolitico

Messaggio da targzeta »

Offtopic:
Mario Vanoni ha scritto:Offtopic: ...Per esperienza un kernel statico e` sempre piu` veloce di uno con moduli....
Offtopic:
Non dimentichiamoci che un kernel puramente statico non ha in memoria il supporto per il carico/scarico di moduli, ovvero, codice in meno.
D'altro canto, un kernel dinamico non ha "per forza" codice in memoria che potrebbe essere non utilizzato mai.

La questione è questa:
tutta la memoria utilizzata dal kernel non è swappabile, questo vuol dire che rimarrà sempre in memoria.

Ora, se una macchina è una macchina server, allora ha senso fare un kernel puramente statico, compilato solo con il supporto necessario per tutto l'hardware che ha e che usa.
Ma se d'altro canto la macchina è una macchina "home" ha senso anche farsi un kernel dinamico. In questo caso infatti si può creare un kernel minimale con tutto ciò che è necessario affinché la macchina si avvii, ad esempio driver del disco, filesystem della root dir, frame buffer e tastiera. Una volta avviata la macchina, a seconda di quello che l'utente poi utilizzerà si caricheranno automaticamente i vari moduli necessari.

Questa è l'dea di fondo, personalmente, per utilizzare la seconda strada, quella del kernel dinamico, uso ancora hotplug e il modprobe.conf.
Quello che però ho notato con la slackware 12 è che ha lasciato stare hotpulg (che è effettivamente obsoleto) per il passaggio a udev, l'unica pecca che ho trovato, e correggetemi se sbaglio, è che all'avvio della macchina, tutti i moduli sono comunque caricati in memoria dal sistema udev, che quindi vanifica l'uso del kernel dinamico. Vi prego di smentirmi perchè vorrei passare a udev ma non l'ho mai fatto proprio per questo motivo.


Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Perfezionare kernel monolitico

Messaggio da conraid »

spina ha scritto: Quello che però ho notato con la slackware 12 è che ha lasciato stare hotpulg (che è effettivamente obsoleto) per il passaggio a udev, l'unica pecca che ho trovato, e correggetemi se sbaglio, è che all'avvio della macchina, tutti i moduli sono comunque caricati in memoria dal sistema udev, che quindi vanifica l'uso del kernel dinamico. Vi prego di smentirmi perchè vorrei passare a udev ma non l'ho mai fatto proprio per questo motivo.
No, no, non fa così.
Carica i moduli che servono.
Per esempio a me in questo momento mica ha caricato in memoria il modulo della usbwireless, di alcuni filesystem, il modulo per il bridge o quello della webcam
Appena servono li carica.
Offtopic: Anche se ho notato che per esempio ultimamente mi tocca fare "modprobe loopback" per usare il loopback device, prima si caricava da solo, devo aver modificato qualcosa

L'unico modulo che vedo caricato e che non mi servirebbe è "floppy"

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Perfezionare kernel monolitico

Messaggio da targzeta »

conraid ha scritto:...
L'unico modulo che vedo caricato e che non mi servirebbe è "floppy"
A me se non ricordo male caricava anche tutti i moduli usb e il driver audio, che non mi servono spesso. comunque mi aggiornerò.

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Perfezionare kernel monolitico

Messaggio da conraid »

spina ha scritto: A me se non ricordo male caricava anche tutti i moduli usb e il driver audio, che non mi servono spesso. comunque mi aggiornerò.
Beh scusa, usb trova il controller, e l'audio lo carichi con alsa.
Prova a rendere non eseguibile rc.alsa per esempio, e guarda se ti carica i moduli lo stesso.

Rispondi