Compilazione kernel

Pubblicità
devi conoscere il tuo hardware e rimuovere tutto il resto che non ti serve.
[ ] non compilato
[M] compilato come modulo. verrà caricato solo se il sistema ne richiede il funzionamento.
[*] compilato staticamente e inserito nel initrd.

fatti bene due conti con filesystem di rete ed eventuali periferiche "particolari" usb.

per avere un pc che si avvia in 3 secondi metti come statico solo chipset della tua scheda madre e il filesystem che usi normalmente.
senza questi hai un kernel panic.

conserva sempre i sorgenti compilati in /usr/src.
se devi aggiungere qualcosa questo si compila in pochi secondi senza rifare tutto da capo.
basta richiamare il "vecchio" config con make menuconfig.
eventualmente ti serviranno anche se installi driver nvidia
 
Ma come risolverai le dipendenze? Spesso i moduli richiedono altri moduli per poter funzionare, o forse anche per poter essere compilati.
 
Ma come risolverai le dipendenze? Spesso i moduli richiedono altri moduli per poter funzionare, o forse anche per poter essere compilati.
bisogna sapere quello che si sta facendo. nessun sistema che risolva le dipendenze.

lasciatemi dire una cosa.
prima si compilava un kernel estremamente mirato solo per una macchina; i vantaggi erano solo di un avvio del pc ultraveloce.
per il resto, un kernel rifatto su slackware o gentoo e uno precompilato su ubuntu 4.10 facevano funzionare la macchina alla stessa maniera.
anzi, magari non si compilava qualche modulo che poi sarebbe servito per la nuova webcam.
 
e ora con ssd (sataIII o NVMe poco importa) è più che altro una questione di esercizio scolastico o di 'pulizia' mentale applicata (mi è venuto in mente paranoia ma ci sono molte cose peggiori a questo mondo:hihi:).
 
Sì sì diciamo che è appunto un esercizio scolastico, non ho particolari motivi per farlo. Sono più che altro curioso di capire come fare per sapere cosa serve e cosa no


Anche perché magari un domani, se installo tipo qualche distro strana, tipo exherbo, in cui bisogna prendere il sorgente da kernel.org, vorrei ottimizzare i tempi di compilazione

Inviato da MI 9 tramite App ufficiale di Tom\'s Hardware Italia Forum
 
Ultima modifica:
Io lo sto ricompilando su un portatile perché ho modificato un file che non mi fa riconoscere il trackpad ma vista la modularità ormai d e l kernel, secondo me ti conviene prenderti il config del kernel che hai in esecuzione, piazzarlo nella cartella del kernel che vuoi compilare, poi vai di make menuconfig per fargli aggiornare i nuovi parametri con valori default e poi di make -j$(nproc)
 
Ciao Marco,

su pc il kernel in genere non si snellisce, perche' quasi tutti i device sono rilevati dinamicamente nei bus (PCI, USB) etc, quindi si compilano tantissimi moduli da caricare runtime [M] che vengono caricati solo se serve, se inserisci una chiavetta, un modem, o un giorno monti una diversa scheda pci, etc, i moduli da caricare (.ko) son gia tutti disponibili in /lib/modules/versione etc. Ecco perche la compilazione (make, make modules_install etc) nel totale, per pc, e' molto lunga. Ovviamente puoi divertirti a snellirlo, sapendo questo.

Su schedine embedded invece, cambia tutto, l'ottimizzazione del kernel e' spesso anche se non sempre "fondamentale", si compilano [*] o [M] solo i driver che servono per l'hardware presente definito nel "devicetree". Poi piu piccolo viene il kernel, ovviamente, se non ci sono errori grossolani o problemi di "probe", per una serie di motivi, piu veloce sara' il boot. Poi ci sono tutta una serie di strategie per boot veloce, e/o ridurre la dimensione del binario.


per far prove puoi partire o dai default
make x86_64_defconfig
o dalla configurazione che hai
make olddefconfig

Il kernel ufficiale "mainline", o vanilla, o upstream lo trovi sempre su kernel.org, mainline master e' la testa dello sviluppo.

Se sei interessato la kernel, questo e' un wiki scritto da me e un altro amico, per collezionare info utili, puoi vedere se ci trovi qualcosa di interesante

http://solidground.baselinux.net/doku.php
http://solidground.baselinux.net/doku.php?id=knowledge-base:compiling-mainline-pc
 
Ultima modifica da un moderatore:
questo e' un wiki scritto da me e un altro amico
[OT]scusatemi l'ot: colgo solo l'occasione per ringraziare chi scrive wiki "for free", ne ho letti parecchi e ho potuto imparare molte cose più velocemente.[/OT]

PS se poi mi compili nei ritagli di tempo un kernel per asus zenfone 3...??
 
ciao rebellilon, grazie, si un wiki come tanti, era stato scritto per collezionare un po di cose e quindi studiarle, e per poi ricordarle allo stesso tempo.

Se tu fossi interessato, riguardo il kernel c'e' anche un canale telegram che ho creato per gioco tempo fa, mancano ancora gli esperti che vorrei, ma sta prendendo abbastanza piede. Casomai se mi scrivi in privato ti do il link.
 
Pubblicità
Pubblicità
Indietro
Top