compilazione del kernel

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.
slackquerano
Linux 0.x
Linux 0.x
Messaggi: 33
Iscritto il: sab 6 dic 2008, 16:50
Nome Cognome: diego crimaudo
Slackware: 12.2
Kernel: 2.6.27.7
Desktop: kde 3.5.10
Località: roma

compilazione del kernel

Messaggio da slackquerano »

scusate per questo post.
ho sentito che si può compilare un kernel nostro per velocizzare il sistema.
come fare?
grazie in anticipo per l' aiuto!

Avatar utente
raffaele181188
Packager
Packager
Messaggi: 789
Iscritto il: ven 7 set 2007, 21:40
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu
Località: DearSkin (FG)

Re: compilazione del kernel

Messaggio da raffaele181188 »

leggi nel wiki, ricompilare_il_kernel

Ma sinceramente i vantaggi in termini di prestazioni non sono poi tanti

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: compilazione del kernel

Messaggio da danix »

più che altro noterai notevoli miglioramenti una volta che l'avrai fatto "dimagrire" di tutti i moduli che ti sono inutili... :D

Oltre al wiki ti consiglio, sopratutto se è la prima volta che ricompili di fare tesoro di questi 2 link: Non te ne pentirai... ;)
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: compilazione del kernel

Messaggio da submax82 »

kernelpkg = ottimo consiglio 8) :lol:

Avatar utente
algol
Linux 3.x
Linux 3.x
Messaggi: 969
Iscritto il: gio 7 set 2006, 1:19
Slackware: 12.1
Kernel: 2.6.26.1
Desktop: xfce4.4.2

Re: compilazione del kernel

Messaggio da algol »

Beh è utile tra l'altro scegliere un'architettura ottimizzata per il proprio sistema, ma soprattutto è un gran esercizio per "conoscere" Linux e lo hardware della propria macchina! :thumbright:

Avatar utente
raffaele181188
Packager
Packager
Messaggi: 789
Iscritto il: ven 7 set 2007, 21:40
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu
Località: DearSkin (FG)

Re: compilazione del kernel

Messaggio da raffaele181188 »

algol ha scritto:ma soprattutto è un gran esercizio per "conoscere" Linux e lo hardware della propria macchina!
Già... mentre la velocità del sistema in generale non viene influenzata più di tanto... I programmi restano quelli compilati per i486, senza ulteriori ottimizzazioni.. Poi tutta questa foga di ottimizzare e riottimizzare l'assembly... Fatevi un paio di settimana su Gentoo (perchè tanto ci vuole a installare :D :D ) e vedete come le cose quasi non cambino, nonostante le migliori ottimizzazioni di questo mondo

@Danix Togliere i moduli inutili può far stare il kernel in una manciata di MB sull'hard disk, ma la velocità del sistema è sempre quella perchè di solito non vengono caricati moduli inutili. E poi i moduli non è che consumino tanta RAM o tempo CPU

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: compilazione del kernel

Messaggio da danix »

Senza l'opzione compact di lilo con il kernel huge ci stavo una decina di secondi a caricare prima che apparisse il pinguino... stessa situazione con un kernel "dimagrito" ci mettevo 3 0 4 secondi, con l'opzione compact è istantaneo... ;)
Hai ragione che i moduli inutili non occupino altro che spazio su disco, ma è altrettanto inutile averli se non ne hai bisogno... ;)
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

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: compilazione del kernel

Messaggio da Mario Vanoni »

raffaele181188 ha scritto: Già... mentre la velocità del sistema in generale non viene influenzata più di tanto... I programmi restano quelli compilati per i486, senza ulteriori ottimizzazioni.. Poi tutta questa foga di ottimizzare e riottimizzare l'assembly... Fatevi un paio di settimana su Gentoo (perchè tanto ci vuole a installare :D :D ) e vedete come le cose quasi non cambino, nonostante le migliori ottimizzazioni di questo mondo
Hai ragione ed hai torto allo stesso tempo.

Uso solo kernel puramente statici,
le utilities (livello shell) preferite compilate a mano con
-O2 -s -static
la differenza si nota.

[OT] usare -Os al posto di -O2 rallenta,
anche se il codice generato e` piu` piccolo.
Ottimizzazioni sbagliate?
[\OT]

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: compilazione del kernel

Messaggio da targzeta »

raffaele181188 ha scritto:...E poi i moduli non è che consumino tanta RAM o tempo CPU
Ricorda solo che i moduli del kernel non vengono mai swappati ;). Detto questo, se un modulo serve va caricato....

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

Avatar utente
raffaele181188
Packager
Packager
Messaggi: 789
Iscritto il: ven 7 set 2007, 21:40
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu
Località: DearSkin (FG)

Re: compilazione del kernel

Messaggio da raffaele181188 »

Io dico che la differenza la fa più ricompilarsi un programma che ricompilarsi il kernel. Detto questo, è comunque poca. Non so se esistano dei tool per quantificarla, ma a occhio non si nota. Per quanto riguarda i moduli caricati in RAM (che come dice giustamente emanuele non vengono swappati)
1) Non sono pesanti (a livello di MB)
2) Servono comunque a far funzionare la macchina
3) Udev carica tutti e solo quelli che servono a far funzionare l'hardware, quindi non c'è "spreco" di ram
Volevo solo far presente a Slackwerano che non avrà un computer più veloce ricompilandosi il kernel.. Le ottimizzazioni a livello di assembly (che pure ci sono, certo) sul kernel si sentono poco. Su un applicativo, invece, hanno più senso. Ma molto dipende da come è stato scritto il programma e dal compilatore a disposizione

Anche Danix ha ragione quando dice che non serve portarsi dietro moduli inutili. Ma il vantaggio non è nella reattività del sistema; l'unica cosa che mi viene in mente è che con un configure appropriato si guadagna tempo a ricompilare e non si spreca spazio su hard disk

Offtopic: Per quella che è la mia esperienza personale, ricompilarsi un kernel non porta nessun aumento di prestazioni, tanto è vero che ho smesso di ricompilarmeli. Secondo me quella di ricompilare per avere un computer più prestazionale è una leggenda metropolitana che è ora di dimenticare, alimentata solo dall'effetto placebo :D

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: compilazione del kernel

Messaggio da Mario Vanoni »

raffaele181188 ha scritto:Io dico che la differenza la fa più ricompilarsi un programma che ricompilarsi il kernel. Detto questo, è comunque poca. Non so se esistano dei tool per quantificarla, ma a occhio non si nota. Per quanto riguarda i moduli caricati in RAM (che come dice giustamente emanuele non vengono swappati)
1) Non sono pesanti (a livello di MB)
2) Servono comunque a far funzionare la macchina
3) Udev carica tutti e solo quelli che servono a far funzionare l'hardware, quindi non c'è "spreco" di ram
Volevo solo far presente a Slackwerano che non avrà un computer più veloce ricompilandosi il kernel.. Le ottimizzazioni a livello di assembly (che pure ci sono, certo) sul kernel si sentono poco. Su un applicativo, invece, hanno più senso. Ma molto dipende da come è stato scritto il programma e dal compilatore a disposizione

Anche Danix ha ragione quando dice che non serve portarsi dietro moduli inutili. Ma il vantaggio non è nella reattività del sistema; l'unica cosa che mi viene in mente è che con un configure appropriato si guadagna tempo a ricompilare e non si spreca spazio su hard disk

Offtopic: Per quella che è la mia esperienza personale, ricompilarsi un kernel non porta nessun aumento di prestazioni, tanto è vero che ho smesso di ricompilarmeli. Secondo me quella di ricompilare per avere un computer più prestazionale è una leggenda metropolitana che è ora di dimenticare, alimentata solo dall'effetto placebo :D
Si vede la differenza di gente che viene da UNIX
e quella che viene da M$, migrata a Linux.

Perche`?

Anche sotto AT&T SVR3 compilare con cc -lc_s
risparmiava spazio sul HD, ma era piu` lento che con il solo cc.

Un kernel puramente statico carica tutto in memoria,
non perde tempo a caricare tot moduli.

Visto che parli di tempo, con gcc:
un kernel statico sotto i 6 minuti,
+ make modules
+ make modules_install
un kernel con moduli impiega 15 minuti,
e sempre con un kernel ridotto al minimo.

_NON_ _E`_ _UNA_ _FLAME_,
ma denigrare a leggenda metropolitana (a` la masalapianta) esperienze vissute?

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: compilazione del kernel

Messaggio da conraid »

Mario Vanoni ha scritto: ma denigrare a leggenda metropolitana (a` la masalapianta) esperienze vissute?
che se usi per esempio lvm2 hai bisogno "per forza" di creare un initrd, ed a volte un kernel troppo grande (non so cosa ci metti dentro) non riesce ad essere caricato insieme all'initrd. Non è significativo, ma huge non ci riesce.
Esperienze vissute? Proprio in questi giorni.
Leggi i README nel cd/dvd/ftp della Slackware

Avatar utente
urka58
Linux 3.x
Linux 3.x
Messaggi: 543
Iscritto il: mer 7 dic 2005, 23:29

Re: compilazione del kernel

Messaggio da urka58 »

Compilare un kernel ad hoc per la macchina in uso da vantaggi solo in termini di uso della memoria, inteso come quantità usata, non modalità d'uso, visto che in questo periodo i discorsi sull'utilizzo sono di moda qui nel forum (niente di male, sia chiaro). Quindi, a meno di disporre di una macchina con una quantità di memoria limitata, non serve ad aumentare le prestazioni.
Se uno vuole cominciare ad avere una maggiore conoscenza del sistema sul quale lavora è un esercizio utile.
Questa almeno è la mia esperienza...
Ciao

Avatar utente
urka58
Linux 3.x
Linux 3.x
Messaggi: 543
Iscritto il: mer 7 dic 2005, 23:29

Re: compilazione del kernel

Messaggio da urka58 »

conraid ha scritto:
Mario Vanoni ha scritto: ma denigrare a leggenda metropolitana (a` la masalapianta) esperienze vissute?
che se usi per esempio lvm2 hai bisogno "per forza" di creare un initrd, ed a volte un kernel troppo grande (non so cosa ci metti dentro) non riesce ad essere caricato insieme all'initrd. Non è significativo, ma huge non ci riesce.
Esperienze vissute? Proprio in questi giorni.
Leggi i README nel cd/dvd/ftp della Slackware
Conraid, il tuo discorso non fa una grinza, ma è una particolarità di Slackware, non mi pare possa valere in generale.
Mi spiego: nel caso di lvm2, nel README si dice appunto della necessità di creare un'immagine RAM e di usare il kernel generic in modo da assicurarsi che non vi siano problemi nel caricare kernel e immagine, ma ciò è dovuto alla scelta della distro di rilasciare un kernel huge, molto pesante, verosimilmente adatto a tutti i sistemi, lasciando all'utente la possibilità di usare un kernel generic, più leggero in combinazione con l'initrd.
Altre distro, Debian ad esempio, dispongono di un installer più "sofisticato" che crea un kernel di 1,4 MB e un initrd ad hoc per il sistema (o almeno ci provano).
E' vero che qui si parla di Slackware, ma se non ho male interpretato il tuo discorso, non esiste una "necessità in assoluto" di creare un'immagine RAM.
NOTA: il paragone con Debian è stato fatto solo perchè è la distro che conosco meglio, che non significa bene, oltre a Slackware.

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: compilazione del kernel

Messaggio da conraid »

Per questo dicevo "non so cosa ci metti dentro", se usa un kernel statico con pochi moduli allora ok. Ma alla fine in una macchina desktop mi "serve" anche la possibilità di caricare filesystem vari, periferiche usb varie, varie opzioni di rete, etc... Poi se vuoi un kernel il più snello possibile, ma che non può "vedere" un hard disk esterno o una periferica usb che ti hanno dato libero di farlo. Ma un utente comune o uno che voglia testare qualcosa, alla fine ha bisogno di queste cose.
Se poi vogliamo parlare di particolare contesti di sicurezza ok discutiamone, ma non mi sembra questo il caso.

Per lvm l'initrd mi sembra necessario comunque, visto che non inserisce solamente i moduli in initram ma anche le utility per caricare i device lvm (vgscan e vgchange) che sono link a lvm.static, e non credo che sia una questione "solo slackware" questa.
Se mi fai sapere come fare per non usare initrd per caricare una root in lvm mi fai un favore.

Rispondi