Hur man kompilerar Kernel 2.6.36.2 i Ubuntu med 200-linjers patch

Många av er verkar ha haft problem med att installera Kärnan förkompilerad med 200-linjens patch på dina maskiner är detta att förvänta sig, så det är alltid bäst att ha en Kärna direkt sammanställt i vår maskin än i en utländsk maskin, så att den tar korrekt arkitektur för vår maskin och den allmänna konfigurationen av hårdvaran.

Av den anledningen lär jag här de vågaste, hur man sammanställer sin egen Kärna (2.6.36.2) i Ubuntu (testad i ubuntu 10.10) med 200-linjers lapp ingår. Kom ihåg att denna process ska göras på egen risk, det kräver ett stort antal paket att ladda ner och en ganska lång sammanställningstid.

Till att börja med är det första vi måste göra att installera nödvändiga beroenden för kärnkompilering genom att köra följande rad i terminalen:

sudo apt-get install fakeroot build-essential krasch kexec-tools makedumpfile kernel-wedge kernel-package

Låt oss nu utföra följande rad i terminalen, som är nödvändig för att kompilera kärnan (från Intrepid)

sudo apt-get build-dep linux

Vi avslutar detta första steg med installationen av andra paket som är nödvändiga för sammanställningen

sudo apt-get installera libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev

För att fortsätta med kärninstallationsprocessen måste vi ladda ner källorna till den senaste stabila kärnan (2.6.36.2) och korrigeringsfilen för Mike galbraith och hitta dem i vår personliga katalog.
Låt oss skapa en katalog för kärnkompilering, vi går till den och laddar ner kärnkällorna från kernel.org:

mkdir kärna-2.6.36.2 cd-kärna-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz

Nu skapar vi en ny textfil och vi kopierar koden som vi hittar i Mike Galbraiths inlägg eller så kan vi ladda ner den från MediaFire, spara och stänga filen:

gedit ~ / autogroup.patch

Mike Galbraiths officiella inlägg
Mike Galbraith Patch från MediaFire

Nu ska vi packa upp kärnan som vi just laddat ner från kernel.org:

tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 patch -p1 <~ / autogroup.patch

Vid denna tidpunkt bör allt gå bra och utan fel. Om du har ett fel är det nödvändigt att starta om processen.
Därefter laddar vi den aktuella kärnkonfigurationen, detta så att den nya kärnan tar konfigurationen direkt från vårt system och vi har inga problem när vi kompilerar den. Ändå, om du har tillräckligt med kunskap kan du anpassa kärnkonfigurationen för att få ett system som är mer anpassat efter dina behov, du kan göra det.

Om du inte vet vad du gör är det bättre att inte ändra kärnkonfigurationen manuellt.

Vi kopierar konfigurationen genom att utföra följande kommando i terminalen och senare kör vi

lsmod

så att alla moduler som laddas i vårt system körs och vi ser till att all vår hårdvara känns igen.

cp -vi / boot / config-`uname -r` .config gör localmodconfig

Vid denna tidpunkt kommer samlingsprocessen att ställa dig flera frågor om modulerna, fortsätt att acceptera alla frågor som ställs genom att trycka på ange tills installationsprocessen är klar.
Vi fortsätter kärnkompileringen genom att köra följande rad i terminalen för att öppna kärnkonfigurationsmenyn:

cp / boot / config - $ (uname -r) .config && yes "" | gör oldconfig gör menuconfig

Nu kan vi välja de korrigeringsfiler som vi vill aktivera i vår Kärna, eftersom vi är intresserade av patch med 200 rader.
För att göra detta navigerar vi genom kärnkonfigurationsmenyn som visas, tills

General Setup

och vi letar efter raden med namn

Automatic process group scheduling

, vi aktiverar det genom att trycka på mellanslagstangenten på vårt tangentbord, vi positionerar oss på alternativet

Exit

med piltangenterna på tangentbordet och tryck på knappen ange från vårt tangentbord för att lämna menyn

General Setup

.

Linux Kernel Configuration - Allmän installation

Linux-kärnkonfiguration - Automatisk schemaläggning av processgrupper

Nu navigerar vi till menyn

Kernel hacking

och vi går in genom att trycka på knappen ange, vi letar efter alternativet

Compile the kernel with debug info

och vi avmarkerar det genom att trycka på mellanslagstangenten på tangentbordet, igen går vi till alternativet

Exit

och vi trycker ange för att lämna huvudmenyn.

Linux Kernel Configuration - Kernel hacking

Linux-kärnkonfiguration - Nej Kompilera kärnan med felsökningsinformation

Vi har slutfört kärnkonfigurationen, så vi behöver bara gå tillbaka till

Exit

i huvudmenyn och tryck på ange för att avsluta kärnkonfigurationen. Vi accepterar när den frågar oss om vi vill spara ändringarna i kärnkonfigurationen genom att trycka på Enter på alternativet Ja.

Nu ja, vi ska kompilera kärnan genom att köra följande rad i terminalen:

fakeroot make-kpkg --initrd --append-to-version = -20101209 kernel-image kernel-headers

Observera att byggprocessen kan variera beroende på din hårdvara

Detta genererar två .deb-paket i kärnan-2.6.36.2-katalogen, som vi kommer att använda för att installera den nya kärnan i vår Ubuntu så att de kan spåras av synaptic och lätt avtagbar.

Vi kommer till den sista delen av denna handledning, där vi ska installera och testa att den nya kärnan som vi just har installerat fungerar korrekt.

För att installera de två .deb-paketen som vi just har genererat måste vi utföra följande kommando i terminalen:

cd .. sudo dpkg -i * .deb

Om allt gick bra startade vi om vår maskin och i listan över Röjaväljer vi den nya kärnan (2.6.36.2) och trycker på ange för att starta systemet.
När vi väl är tillbaka på skrivbordet kommer vi att verifiera att patch med 200 rader är korrekt applicerad och fungerar genom att köra följande rad i en terminal:

cat /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i AUTOGROUP

Och det måste returnera en rad så här:

CONFIG_SCHED_AUTOGROUP = y

Om så är fallet har vi vårt system igång med det. Kernel 2.36.6.2 och "Automatisk schemaläggning av processgrupper" aktiverad.
Ubuntu 10.10 Maverick Meerkat med Kernel 2.6.36.2 och automatisk schemaläggning av processgrupper

Vi kan redan betona Ubuntu maximalt ...

Denna handbok kommer till dig tack vare ansträngningen från FRANCOBEP.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Horacio sade

    hej David

    min fråga är:

    Jag använder vanligtvis kärnorna i ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)

    Dessa kommer inte längre med 200-linjers lapp ingår?

    Tack

    1.    David Gomez sade

      Se, jag kollar fortfarande för att se om Ubuntu PPA-kärnan har korrigeringen inkluderad, men det här är lätt att ta reda på själv, kör bara kommandot cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP, där du skulle ändra texten inom parenteserna för versionen av den senaste kärnan på din maskin.

      Om du får ett svarsmeddelande som detta CONFIG_SCHED_AUTOGROUP=y, då har du korrigeringsfilen installerad.

      Obs: för att känna till versionen av alla kärnor som är installerade på din dator måste du bara utföra kommandot ls /usr/src/ I terminalen.

    2.    David Gomez sade

      Horacio, Ubuntu PPA Kernel har för närvarande V4-patch av Mike glabraith med ord från sig själv Tim Gardner (Kanonisk utvecklare).

      Vi bär V4 av Mike Galbraiths auto-cgroup patch sedan 2.6.37-6.16, men jag förväntar mig att det kommer att förändras till förmån för uppströms spets när vi går framåt i 2.6.38 sammanslagningsfönstret.

      schema: automatiserad per session uppgiftsgrupper V4

      RTG

      -
      Tim Gardner

  2.   kanito sade

    Tja, jag har redan sammanställt den och den är installerad, .... åtminstone dog systemet inte nu för att se hur det fungerar

  3.   Irving sade

    Utmärkt handledning. Jag följde stegen till punkt och pricka och allt fungerade perfekt. Jag har min nya kärna.

    Obs: Jag gjorde bara en ändring som lät logisk för mig och den var här:

    cp -vi / boot / config-`uname -r` .config
    gör localmodconfig

    Jag gjorde det så här:

    cp -vi / boot / config-`uname -r` .config
    lsmod
    gör localmodconfig

  4.   kanito sade

    nu inser jag att jag gjorde ett litet misstag så jag installerar om det ... och lägger till irvingmodifieringen : Mrgreen:

  5.   sergio sade

    Jag stannar i början a:
    init: oläst huvudprocess (362) avslutad med status 5
    Tja, det verkar fungera bra, vad kan det vara ??? '

  6.   brian sade

    Tja väldigt bra manualen, de publicerade den också på taringa, just nu kompilerar den kärnan. Jag hoppas att den har gått bra. Jag byter bara typ av processor i menuconfig. Jag hoppas att du har valt bra genom att välja Intel core / newer xeon eftersom jag har en Intel Core i3-processor, hälsningar och tack för inmatningen

  7.   thedemon007 sade

    Hej, ja, kommandot verkar bättre för mig

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

    eftersom den använder den senaste installerade kärnkonfigurationen

  8.   Darkwolf22 sade

    Hej, hur mår jag? Jag tvivlar bara ... i kärnfilen kommer både 32-bitars och 64-bitarsversionerna? eller för att få amd64-versionen behöver jag ladda ner en annan? ... Avdrag bör båda versionerna ha samma rätt? ... mycket bra förklaring!

    Tack!