Molti di voi sembrano aver avuto problemi con l'installazione di Kernel precompilato con la patch da 200 righe sulle vostre macchine, c'è da aspettarselo, quindi è sempre meglio avere un file nocciolo compilato direttamente nella nostra macchina che in una macchina estranea, in modo che prenda correttamente l'architettura della nostra macchina e la configurazione generale dell'hardware.
Per questo motivo qui insegno ai più arditi come compilare il proprio Kernel (2.6.36.2) in Ubuntu (testato in Ubuntu 10.10) con la patch da 200 righe inclusa. Ricorda che questo processo dovrebbe essere fatto a tuo rischio, richiede un gran numero di pacchetti da scaricare e un tempo di compilazione abbastanza lungo.
Per iniziare, la prima cosa che dobbiamo fare è installare le dipendenze necessarie per la compilazione del kernel eseguendo la seguente riga nel terminale:
sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge pacchetto kernel
Ora eseguiamo la seguente riga nel terminale, necessaria per compilare il Kernel (da Intrepido)
sudo apt-get build-dep linux
Concludiamo questo primo passaggio con l'installazione di altri pacchetti necessari per la compilazione
sudo apt-get install libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
Per continuare con il processo di installazione del kernel, dobbiamo scaricare i sorgenti dell'ultimo kernel stabile (2.6.36.2) e la patch di Mike galbraith e individuarli nella nostra directory personale.
Creiamo una directory per la compilazione del kernel, andiamo su di essa e scarichiamo i sorgenti del kernel da kernel.org:
mkdir kernel-2.6.36.2 cd kernel-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz
Ora creiamo un nuovo file di testo e copieremo il codice che troveremo nel post di Mike Galbraith oppure possiamo scaricarlo da MediaFire, salvare e chiudere il file:
gedit ~ / autogroup.patch
Post ufficiale di Mike Galbraith
Mike Galbraith Patch di MediaFire
Ora decomprimeremo il kernel che abbiamo appena scaricato kernel.org:
tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 patch -p1 <~ / autogroup.patch
A questo punto dovrebbe andare tutto bene e senza errori, in caso di errore è necessario riavviare il processo.
Successivamente caricheremo la configurazione corrente del Kernel, questo in modo che il nuovo Kernel prenda la configurazione direttamente dal nostro sistema e non abbiamo alcun problema durante la sua compilazione. Anche così, se hai abbastanza conoscenze puoi personalizzare la configurazione del kernel per ottenere un sistema più su misura per le tue esigenze, puoi farlo.
Se non sai cosa stai facendo, è meglio non modificare manualmente la configurazione del kernel.
Copiamo la configurazione eseguendo il seguente comando nel terminale e successivamente eseguiamo
lsmod
in modo che tutti i moduli caricati nel nostro sistema vengano eseguiti e ci assicuriamo che tutto il nostro hardware venga riconosciuto.
cp -vi / boot / config-`uname -r` .config crea localmodconfig
A questo punto il processo di compilazione ti farà diverse domande sui moduli, continua ad accettare tutte le domande che ti vengono poste premendo entrare fino al completamento del processo di configurazione.
Continuiamo la compilazione del kernel eseguendo la seguente riga nel terminale per aprire il menu di configurazione del kernel:
cp / boot / config - $ (uname -r) .config && yes "" | make oldconfig make menuconfig
Ora possiamo scegliere le patch che vogliamo abilitare nel nostro kernel, dato che siamo interessati alla patch da 200 righe.
Per fare ciò, navighiamo attraverso il menu di configurazione del kernel che appare, fino a quando
General Setup
e cerchiamo la riga con il nome
Automatic process group scheduling
, lo abilitiamo premendo la barra spaziatrice sulla nostra tastiera, ci posizioniamo sull'opzione
Exit
utilizzando i tasti freccia sulla tastiera e premere il tasto entrare dalla nostra tastiera per uscire dal menu
General Setup
.
Ora passiamo al menu
Kernel hacking
ed entriamo premendo il tasto entrare, cerchiamo l'opzione
Compile the kernel with debug info
e lo deselezioniamo premendo la barra spaziatrice sulla nostra tastiera, di nuovo andiamo all'opzione
Exit
e premere entrare per uscire dal menu principale.
Abbiamo terminato la configurazione del kernel, quindi dobbiamo solo tornare a
Exit
nel menu principale e premere entrare per completare la configurazione del kernel. Accettiamo quando ci chiede se vogliamo salvare le modifiche apportate alla configurazione del kernel premendo Invio sull'opzione Sì.
Ora sì, compileremo il kernel eseguendo la seguente riga nel terminale:
fakeroot make-kpkg --initrd --append-to-version = -20101209 kernel-image kernel-headers
Tieni presente che il processo di creazione può variare a seconda del tuo hardware
Questo genererà due pacchetti .deb all'interno della directory kernel-2.6.36.2, che useremo per installare il nuovo kernel nella nostra Ubuntu permettendo loro di essere rintracciabili da Synaptic e facilmente rimovibile.
Arriviamo alla parte finale di questo tutorial, dove installeremo e testeremo il corretto funzionamento del nuovo Kernel che abbiamo appena installato.
Per installare i due pacchetti .deb che abbiamo appena generato dobbiamo eseguire il seguente comando nel terminale:
cd .. sudo dpkg -i * .deb
Se tutto è andato bene, abbiamo riavviato la nostra macchina e nell'elenco dei file larva, selezioniamo il nuovo Kernel (2.6.36.2) e premiamo entrare per avviare il sistema.
Una volta tornati sul desktop, verificheremo che la patch di 200 righe sia correttamente applicata e funzionante eseguendo la seguente riga in un terminale:
cat /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i GRUPPO AUTOMATICO
E deve restituire una riga come questa:
CONFIG_SCHED_AUTOGROUP = y
Se è così, abbiamo il nostro sistema in esecuzione con esso. kernel 2.36.6.2 e il "Pianificazione automatica del gruppo di processi" attivato.
Possiamo già sottolineare Ubuntu al massimo ...
Questo manuale ti arriva grazie allo sforzo di FRANCOBEP.
ciao David
la mia domanda è:
Di solito uso i kernel di ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)
Questi non vengono più forniti con la patch da 200 righe inclusa?
grazie
Vedi, sto ancora controllando se il kernel PPA di Ubuntu ha la patch inclusa, ma è facile scoprirlo da solo, basta eseguire il comando
cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP
, dove cambieresti il testo tra parentesi per la versione dell'ultimo kernel sulla tua macchina.Se ricevi un messaggio di risposta come questo
CONFIG_SCHED_AUTOGROUP=y
, quindi hai la patch installata.Nota: per conoscere la versione di tutti i kernel installati sul tuo computer, devi solo eseguire il comando
ls /usr/src/
Nel terminal.Horacio, il kernel PPA di Ubuntu ha attualmente la patch V4 di Mike glabraith nelle parole di se stesso Tim gardner (Sviluppatore canonico).
Ebbene, l'ho già compilato ed è installato,…. almeno il sistema non è morto ora per lavorare per vedere come funziona
Ottimo tutorial. Ho seguito i passaggi alla lettera e tutto ha funzionato perfettamente. Ho il mio nuovo kernel.
Nota: ho apportato solo una modifica che mi sembrava logica ed era qui:
cp -vi / boot / config-`uname -r` .config
crea localmodconfig
L'ho fatto così:
cp -vi / boot / config-`uname -r` .config
lsmod
crea localmodconfig
ora mi rendo conto di aver fatto un piccolo errore quindi lo reinstallerò ... e aggiungerò la modifica di irving
Rimango all'inizio un:
init: processo principale non letto (362) terminato con lo stato 5
Beh, sembra funzionare bene, cosa potrebbe essere ??? '
Bene molto buono il manuale, l'hanno postato anche su taringa, in questo momento sta compilando il kernel spero sia andato bene cambio solo il tipo di processore nel menuconfig spero tu abbia scelto bene optando per Intel core / più recente xeon da quando ho un processore Intel Core i3, saluti e grazie per l'input
Ciao, beh, il comando mi sembra migliore
cp / boot / config-`uname –kernel-release` ./.config
poiché utilizza la configurazione del kernel più recente installata
Ciao, come stai? Ho solo un piccolo dubbio ... nel file del kernel arrivano sia la versione a 32 bit che quella a 64 bit? o per ottenere la versione amd64 devo scaricarne una diversa? ... Per deduzione, entrambe le versioni dovrebbero avere lo stesso diritto? ... spiegazione molto buona!
Grazie!