Come compilare il kernel 2.6.36.2 in Ubuntu con la patch di 200 righe

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

.

Configurazione del kernel Linux - Configurazione generale

Configurazione del kernel Linux - Scheluding del gruppo di processi automatici

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.

Configurazione del kernel Linux: hacking del kernel

Configurazione del kernel Linux - No Compilare il kernel con le informazioni di debug

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.
Ubuntu 10.10 Maverick Meerkat con kernel 2.6.36.2 e pianificazione automatica del gruppo di processi

Possiamo già sottolineare Ubuntu al massimo ...

Questo manuale ti arriva grazie allo sforzo di FRANCOBEP.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Horacio suddetto

    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

    1.    David Gomez suddetto

      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.

    2.    David Gomez suddetto

      Horacio, il kernel PPA di Ubuntu ha attualmente la patch V4 di Mike glabraith nelle parole di se stesso Tim gardner (Sviluppatore canonico).

      Stiamo portando la V4 della patch auto-cgroup di Mike Galbraith dal 2.6.37-6.16, ma mi aspetto che cambi a favore del suggerimento a monte mentre ci spostiamo nella finestra di unione 2.6.38.

      sched: gruppi di attività automatizzati per sessione V4

      RTG

      -
      Tim gardner

  2.   kanito suddetto

    Ebbene, l'ho già compilato ed è installato,…. almeno il sistema non è morto ora per lavorare per vedere come funziona

  3.   Irving suddetto

    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

  4.   kanito suddetto

    ora mi rendo conto di aver fatto un piccolo errore quindi lo reinstallerò ... e aggiungerò la modifica di irving : Mrgreen:

  5.   sergio suddetto

    Rimango all'inizio un:
    init: processo principale non letto (362) terminato con lo stato 5
    Beh, sembra funzionare bene, cosa potrebbe essere ??? '

  6.   brian suddetto

    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

  7.   Il demone007 suddetto

    Ciao, beh, il comando mi sembra migliore

    cp / boot / config-`uname –kernel-release` ./.config

    poiché utilizza la configurazione del kernel più recente installata

  8.   Darkwolf22 suddetto

    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!