wake-up-neo.net

Il modo migliore per compilare un kernel per un processore i7?

Ho compilato i miei kernel per un po 'di tempo. Ho iniziato quando ho ottenuto il mio processore i7 e volevo che il suo turbo boost funzionasse correttamente. Da allora ho acquistato un SSD, quindi continuate a beneficiare di un kernel più recente rispetto alla versione repo.

Con le mie build più recenti, ho iniziato a ottenere strani picchi di CPU. Anche se potrebbe essere una serie di cose diverse a causare questo, mi piacerebbe concentrarmi su come ottenere il kernel "giusto" e, se possibile, più ottimizzato che mai.

Seguo il "Old-Fashioned Debian" sul kernel/compilazione wiki. Lo faccio perché sto compilando da un download diretto da kernel.org . Prime domande: dovrei ottenere la mia fonte da qualche altra parte e dovrei usare un metodo di compilazione diverso?

La guida suggerisce di ottenere l'attuale .config così:

cp -vi /boot/config-`uname -r` .config

Questo va bene se la tua configurazione attuale funziona bene, ma sono preoccupato che il mio contenga un problema ... Seconda domanda: esiste un buon default per Ubuntu e i7 .config file posso scaricare da qualche parte?

Al momento ci sono molte patch del kernel che fluttuano intorno. Alcuni promettono un sistema più reattivo attraverso l'applicazione di patch IO, alcuni offrono programmatori "migliori" (BFS, et al), ma è difficile trovare benchmark decenti per vedere se queste sono caratteristiche utili se ' sei solo spazzatura instabile. Terzo: ci sono patch da applicare a 2.6.35 per renderlo più compatibile con Lucid?

Temo che sia make menuconfig dove ho rovinato tutto. Cerco di disattivare i driver che non mi servono e di selezionare opzioni che sembrano ottimizzare le cose ma, a dire il vero, non sono uno sviluppatore del kernel; Non so per certo se un'opzione romperà tutto o addirittura aiuterà. Quarto: come ottimizzeresti il ​​.config/processo di compilazione per un i7 e SSD?

4
Oli

Dal mio punto di vista kernel.org è il posto giusto per ottenere un kernel. Di solito clonare il repository git dalla linea principale. Forse potresti anche usare un kernel Vanilla recente e applicare le patch da Ubuntu. Troverai il diff nella pagina del pacchetto immagine linux . Tieni presente che potrebbero esserci dei conflitti che devi risolvere. Quindi la prima versione è probabilmente migliore.

Immagino che non troverai nulla di buono .config nella natura selvaggia. Quello che trovo utile è make localmodconfig nel sorgente del kernel. Per prima cosa copi la tua vecchia configurazione in /usr/src/linux-2.6 (o il luogo in cui si trovano i sorgenti del kernel) e quindi esegui questo comando. Disabiliterà tutti i moduli che non sono stati caricati. In questo modo ottieni maggiore personalizzazione.

Non sono a conoscenza di eventuali patch che siano buone per Lucid.

Sono un membro di un locale LUG . Facciamo di tanto in tanto seminari sul kernel. Qui tutti i membri si incontrano. Configuriamo un kernel e parliamo della nostra conoscenza di voci diverse. Alla fine tutti ne traggono profitto e questo aiuta a costruire kernel migliori. Quindi, se cerco l'ottimizzazione, chiederei ai nostri membri. Se questa non è un'opzione, leggere la mailing list del kernel Linux potrebbe anche aiutare a trovare una soluzione. Troverai spesso alcune discussioni utili.

4
qbi

Esiste un PPA del kernel mainline: https://wiki.ubuntu.com/Kernel/MainlineBuilds

A meno che tu non stia provando a risolvere un problema specifico (che riscontri con un ekernel stock di Ubuntu) o stai provando a usare una funzione/opzione specifica non disponibile sul kernel di Ubuntu, probabilmente perderai semplicemente tempo.

In caso di problemi con il kernel corrente, si prega di presentare una segnalazione di bug su launchpad.

3
João Pinto

Non menzioni la versione del kernel che stai creando. Perché hai chiesto delle patch per Lucid, suppongo che sia quello che stai cercando di modificare.

Il mio consiglio è di non perdere tempo. Il team del kernel Ubuntu applica a Lucid tutte le patch rilasciate dal team di versioni stabili a monte (e anche altre versioni). Potresti essere in grado di ottenere un po 'più di prestazioni dal kernel modificando manualmente i parametri di configurazione, ma dovresti dedicare molto più tempo a provare a misurare il miglioramento se ce n'è davvero uno. Sarebbe molto meglio stare su un kernel stock e raccogliere i kernel con patch da Ubuntu. Queste patch possono contenere miglioramenti delle prestazioni man mano che i bug vengono rilevati e corretti.

Il motivo per cui potresti riscontrare picchi di CPU potrebbe essere dovuto ad alcuni bug del kernel che sono stati recentemente corretti a monte e le patch stanno entrando in Lucid proprio ora.

Una volta che inizi a creare il tuo kernel, ora ti stai assumendo la responsabilità di mantenerlo patchato e ricostruito. Questo è ciò che Canonical paga alla gente, quindi non è necessario. Hai davvero cose migliori da fare con il tuo tempo.

2
Brad Figg