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
.
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.
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.
Vi kan redan betona Ubuntu maximalt ...
Denna handbok kommer till dig tack vare ansträngningen från FRANCOBEP.
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
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.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).
Tja, jag har redan sammanställt den och den är installerad, .... åtminstone dog systemet inte nu för att se hur det fungerar
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
nu inser jag att jag gjorde ett litet misstag så jag installerar om det ... och lägger till irvingmodifieringen
Jag stannar i början a:
init: oläst huvudprocess (362) avslutad med status 5
Tja, det verkar fungera bra, vad kan det vara ??? '
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
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
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!