Mange av dere ser ut til å ha hatt problemer med å installere Kjerne forhåndskompilert med patch med 200 linjer på maskinene dine, er dette å forvente, så det er alltid best å ha en Kernel direkte kompilert i maskinen vår enn i en utenlandsk maskin, slik at den tar riktig arkitektur av maskinen vår og den generelle konfigurasjonen av maskinvaren.
Av denne grunn lærer jeg her de dristigste, hvordan man lager sin egen Kernel (2.6.36.2) i Ubuntu (testet i Ubuntu 10.10) med oppdateringen på 200 linjer. Husk at denne prosessen skal gjøres på egen risiko, det krever et stort antall pakker å laste ned og en ganske lang kompileringstid.
For å begynne med er det første vi må gjøre å installere de nødvendige avhengighetene for kjernekompilering ved å utføre følgende linje i terminalen:
sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge kernel-package
La oss nå utføre følgende linje i terminalen, som er nødvendig for å kompilere kjernen (fra Intrepid)
sudo apt-get build-dep linux
Vi avslutter dette første trinnet med installasjon av andre pakker som er nødvendige for kompilering
sudo apt-get install libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
For å fortsette med installasjonen av kjernen, må vi laste ned kildene til den siste stabile kjernen (2.6.36.2) og oppdateringen Mike galbraith og finn dem i vår personlige katalog.
La oss lage en katalog for kjernekompilering, vi går til den og laster ned kjernekildene fra kernel.org:
mkdir kjerne-2.6.36.2 cd-kjerne-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz
Nå oppretter vi en ny tekstfil, og vi vil kopiere koden som vi finner i Mike Galbraiths innlegg, eller vi kan laste den ned fra MediaFire, lagre og lukke filen:
gedit ~ / autogroup.patch
Mike Galbraiths offisielle innlegg
Mike Galbraith Patch fra MediaFire
Nå skal vi pakke ut kjernen som vi nettopp lastet ned fra kernel.org:
tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 patch -p1 <~ / autogroup.patch
På dette tidspunktet skal alt gå bra og uten feil. I tilfelle feil er det nødvendig å starte prosessen på nytt.
Deretter vil vi laste den nåværende konfigurasjonen av kjernen, dette slik at den nye kjernen tar konfigurasjonen direkte fra systemet vårt, og vi har ikke noe problem når vi kompilerer den. Allikevel, hvis du har nok kunnskap, kan du tilpasse kjernekonfigurasjonen for å få et system som er mer skreddersydd for dine behov.
Hvis du ikke vet hva du gjør, er det bedre å ikke endre kjernekonfigurasjonen manuelt.
Vi kopierer konfigurasjonen ved å utføre følgende kommando i terminalen og senere utfører vi
lsmod
slik at alle modulene som er lastet inn i systemet vårt blir utført, og vi sørger for at all maskinvaren vår blir gjenkjent.
cp -vi / boot / config-`uname -r` .config gjør localmodconfig
På dette punktet vil kompileringsprosessen stille deg flere spørsmål om modulene. Fortsett å godta alle spørsmålene som blir stilt ved å trykke Enter til installasjonsprosessen er fullført.
Vi fortsetter kjernekompilering ved å utføre følgende linje i terminalen for å åpne kjernekonfigurasjonsmenyen:
cp / boot / config - $ (uname -r) .config && yes "" | lage oldconfig lage menuconfig
Nå kan vi velge oppdateringene vi vil aktivere i kjernen, siden vi er interessert i oppdateringen på 200 linjer.
For å gjøre dette, navigerer vi gjennom kjernekonfigurasjonsmenyen som vises, til
General Setup
og vi ser etter linjen med navn
Automatic process group scheduling
, vi aktiverer det ved å trykke på mellomromstasten på tastaturet vårt, vi posisjonerer oss på alternativet
Exit
ved hjelp av piltastene på tastaturet og trykker på tasten Enter fra tastaturet vårt for å gå ut av menyen
General Setup
.
Nå navigerer vi til menyen
Kernel hacking
og vi går inn ved å trykke på tasten Enter, vi ser etter alternativet
Compile the kernel with debug info
og vi fjerner valget av det ved å trykke på mellomromstasten på tastaturet vårt, igjen går vi til alternativet
Exit
og vi trykker Enter for å gå ut av hovedmenyen.
Vi har fullført kjernekonfigurasjonen, så vi trenger bare å gå tilbake til
Exit
i hovedmenyen og trykk på Enter for å fullføre kjernekonfigurasjonen. Vi godtar når den spør oss om vi vil lagre endringene som er gjort i kjernekonfigurasjonen ved å trykke Enter på Ja-alternativet.
Nå ja, vi skal kompilere kjernen ved å utføre følgende linje i terminalen:
fakeroot make-kpkg --initrd --append-to-version = -20101209 kernel-image kernel-headers
Vær oppmerksom på at byggeprosessen kan variere avhengig av maskinvaren din
Dette vil generere to .deb-pakker i kernel-2.6.36.2-katalogen, som vi vil bruke til å installere den nye kjernen i Ubuntu, slik at de kan spores av Synaptic og lett avtakbar.
Vi kommer til den siste delen av denne opplæringen, der vi skal installere og teste at den nye kjernen som vi nettopp har installert, fungerer som den skal.
For å installere de to .deb-pakkene vi nettopp har generert, må vi utføre følgende kommando i terminalen:
cd .. sudo dpkg -i * .deb
Hvis alt gikk bra, startet vi maskinen på nytt og i listen over grub, velger vi den nye kjernen (2.6.36.2) og trykker på Enter for å starte systemet.
Når vi er tilbake på skrivebordet, vil vi bekrefte at oppdateringen på 200 linjer er riktig brukt og fungerer ved å utføre følgende linje i en terminal:
cat /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i AUTOGROUP
Og det må returnere en linje som denne:
CONFIG_SCHED_AUTOGROUP = y
I så fall har vi systemet vårt kjørt med det. Kernel 2.36.6.2 og "Automatisk planlegging av prosessgrupper" aktivert.
Vi kan allerede stresse Ubuntu maksimalt ...
Denne håndboken kommer til deg takket være innsatsen fra FRANCOBEP.
Hei David
spørsmålet mitt er:
Jeg bruker vanligvis kjernene til ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)
Disse kommer ikke lenger med oppdateringen på 200 linjer inkludert?
takk
Se jeg sjekker fortsatt for å se om Ubuntu PPA-kjernen har oppdateringen inkludert, men dette er lett å finne ut selv, bare kjør kommandoen
cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP
, der du vil endre teksten i parentesene for versjonen av den siste kjernen på maskinen din.Hvis du får en svarmelding som denne
CONFIG_SCHED_AUTOGROUP=y
, så har du oppdateringen installert.Merk: for å kjenne versjonen av alle kjernene som er installert på datamaskinen din, trenger du bare å utføre kommandoen
ls /usr/src/
I terminalen.Horacio, Ubuntu PPA-kjernen har for øyeblikket V4-oppdateringen av Mike glabraith med ordene til seg selv Tim gardner (Kanonisk utvikler).
Vel, jeg har allerede samlet den, og den er installert,…. i det minste døde ikke systemet nå for å se hvordan det fungerer
Utmerket opplæring. Jeg fulgte trinnene til punkt og prikke, og alt fungerte perfekt. Jeg har den nye kjernen min.
Merk: Jeg gjorde bare en endring som hørtes logisk ut for meg, og den var her:
cp -vi / boot / config-`uname -r` .config
lage localmodconfig
Jeg gjorde det slik:
cp -vi / boot / config-`uname -r` .config
lsmod
lage localmodconfig
nå innser jeg at jeg gjorde en liten feil, så jeg vil installere den på nytt ... og legge til irving-modifikasjonen
Jeg blir i begynnelsen a:
init: ulest hovedprosess (362) avsluttet med status 5
Vel, det ser ut til å fungere bra, hva kan det være ??? '
Vel veldig bra manualen, de la den også ut på taringa, for øyeblikket kompilerer den kjernen. Jeg håper det har gått bra. Jeg endrer bare prosessortype i menukonfigurasjonen. Jeg håper du har valgt godt ved å velge Intel-kjerne / nyere xeon siden jeg har en Intel Core i3-prosessor, hilsen og takk for innspillet
Hei, vel, kommandoen virker bedre for meg
cp / boot / config-`uname –kernel-release` ./.config
siden den bruker den siste installerte kjernekonfigurasjonen
Hei, hvordan har du det? Jeg er bare i tvil ... i kjernefilen kommer både 32-biters og 64-biters versjoner? eller for å få amd64-versjonen, trenger jeg å laste ned en annen? ... Ved fradrag skal begge versjonene ha samme rett? ... veldig god forklaring!
Takk!