Annons

Tillsammans med installerar Gentoo Gentoo: En Linux-distribution där du sammanställer din egen optimerade programvaraDet stora antalet olika sätt på vilka Linux kan köras är häpnadsväckande eftersom det finns många alternativ att gå runt. Även om det finns gott om distributioner som är beroende av antingen .deb ... Läs mer , att sammanställa din egen Linux-kärna är en av de saker som anses vara mycket nördiga och tekniska. Vi har redan gjort det täckte några orsaker 3 skäl till varför du kanske vill kompilera din egen kärna [Linux]Linux-system är så löjligt flexibla och konfigurerbara att det är helt galet. En enorm del av varför Linux är så flexibel beror på dess modulära struktur. Varje systemkomponent och program delas upp ... Läs mer varför du kanske vill göra detta. Innan vi går igenom stegen, här är en kort översikt över några viktiga begrepp.

Vad är en kärna?

Kort sagt, det är en viktig del av ditt operativsystem, om inte det viktigaste. Ett operativsystem ansvarar för att låta dina program fungera genom att ge dem åtkomst till din hårdvara. Men det är det

instagram viewer
kärna Vad är en kärna i Linux och hur kontrollerar du din version?Linux är ett operativsystem, eller hur? Tja, inte exakt! Det är faktiskt en kärna. Men vad är Linux-kärnan? Läs mer som faktiskt utför alla dessa jobb.

Linux-kärnan är speciell i att den kan skräddarsys för att passa den hårdvara du äger. Kontrast detta med Windows NT-kärnan, som i allmänhet kommer att vara densamma på alla datorer. För att göra detta måste kärnan gå igenom en process som kallas kompilering.

För mer info, kolla in vår introduktion till kärnor i Linux Vad är en kärna i Linux och hur kontrollerar du din version?Linux är ett operativsystem, eller hur? Tja, inte exakt! Det är faktiskt en kärna. Men vad är Linux-kärnan? Läs mer .

Vad är sammanställning?

Generellt är program skrivna i ett mänskligt läsbart format. Detta gör det lättare för människor att skapa programvara. Till exempel är Linux-kärnan huvudsakligen skriven på ett programmeringsspråk som heter C. Datorer kan dock inte förstå detta. De känner igen bara ett komplicerat språk som heter maskinkod. För att göra det måste raderna med text vara översatt Hur man sammanställer och installerar TAR GZ & TAR BZ2-filer i Ubuntu Linux Läs mer med hjälp av en speciell programvara som kallas a kompilator.

Olika kompilatorer används för att konvertera olika programmeringsspråk. Till exempel, GCC är en kompilator som översätter C-kod till maskinkod (bland andra). Men det är inte allt de gör - kompilatorer kan också optimera den översatta koden för specifika maskiner. Tillsammans med detta kan de också ta bort oönskade funktioner från program medan de gör det.

Vanligtvis är denna process redan utförd för massor av programvara. Istället laddar ner de konverterade binär instruktioner, som fungerar ut ur lådan. Till exempel webbläsare Använder du den bästa webbläsaren för Linux 2016?Att använda den "fel" webbläsaren kan leda till mycket onödigt huvudvärk, slösad produktivitet och till och med förlorade data. Så vilken webbläsare är bäst för din Linux-dator? Låt oss ta reda på. Läs mer du kör just nu är redan sammanställd. Det beror på att det kan vara lite komplicerat och tidskrävande att sammanställa något. Tänk på det som att översätta en stor bok till ett främmande språk.

Kort sagt betyder kompilering av kärnan att konvertera sin kod till något som faktiskt kommer att köras på din dator.

Att få kärnkällor

Du kan inte göra eld utan bränsle. På samma sätt kan du inte sammanställa program om du inte har koden för det i första hand. Metoden är i allmänhet densamma för de flesta Linux-operativsystem med några få undantag. Många av dem levererar sina egna egna källkällor. Du bör försöka använda det om du kan. Om du till exempel använder en Debian-baserat operativsystem som Ubuntu, bör du installera källorna med hjälp av dessa kommandon:

sudo apt-get-uppdatering. sudo apt-get install linux-source. 
Hur man sammanställer din egen Linux Kernel Debian Linux-källa

Du kan också installera olika versioner av detta paket (t.ex. linux-source-4.8.0) om du vill. Du hittar de installerade filerna i /usr/src/ katalogen, så navigera dit och visa innehållet:

cd / usr / src / ls.

Du ser en fil som slutar med .tar.bz2. Det här är källan du kommer att använda. Extrahera det med detta kommando:

sudo tar xjvf linux-source-4.4.0.tar.bz2. 

Se till att du naturligtvis byter ut filen med rätt namn. Filen blir ganska stor, så processen kommer att ta lite tid!

Alternativ metod

Om du vill kan du hämta dina källor från officiell Linux Kernel-webbplats. Jag rekommenderar detta endast om ditt Linux-operativsystem inte tillhandahåller dem. Välj den version du vill ha och ladda ner bort. Om du går igenom den här rutten bör du ladda ner den till en tom mapp. På det här sättet, om du vill sammanställa fler kärnor i framtiden, har du en trevlig mapp för att hålla dem organiserade i.

Hur man sammanställer dina egna Linux-kärnor med vaniljkärnor

Efter att ha gjort detta, extrahera filen med det här kommandot:

tar xJvf linux-4.9.11.tar.xz
Hur man sammanställer din egen Linux-kärnan Vanilla Linux-källa

Se till att du använder filnamnet som matchar den version du laddade ner!

Anpassa kärnan

Detta är steget där du kan välja vilka delar av kärnan du vill bli av med. Till exempel skickas kärnan med många olika drivrutiner för olika enheter. Om du inte behöver det stödet kan du få några snabba fördelar tillsammans med en mindre kärna genom att bli av med dem.

förutsättningar

Innan du fortsätter måste du installera några program som låter dig anpassa och sammanställa det.

På Debian-baserade system behöver du build-essential paket, bland andra:

sudo apt-get install build build-essential gcc libncurses5-dev libssl-dev. 

De libncurses5-dev paketet gör det enklare att konfigurera kärnan, så se till att installera den. Andra Linux-operativsystem kommer att ha ett liknande program, men det kan vara under ett annat namn. Om du till exempel använder Fedora 5 skäl att använda ren öppen källkod Distro, FedoraFedora är inte så välkänd som Ubuntu och har ett rykte för att vara svårt att använda. Men om detta är sant, varför fortsätter så många människor att använda Fedora? Läs mer , det heter ncurses.

Om den inte redan är installerad behöver du också GNU Compiler Collection (GCC). Detta är det verktyg som ansvarar för att översätta den råa källkoden till något förståeligt för datorer. Det vill säga sammanställning.

Efter att ha installerat dessa program öppnar du din terminal så att du är det inuti den extraherade Linux-källmappen. Om du till exempel använde linux-source metod, du skulle göra detta:

cd /usr/src/linux-source-4.4.0

Kärnkonfigurationsfil

Innan du sammanställer kärnan måste du berätta för GCC hur du vill ha det. Du gör detta med ett kommandoradsverktyg som heter göra. Skriv in det här kommandot:

sudo gör localmodconfig. 

Detta skapar en fil som heter .config, som berättar för GCC vad de ska kompilera från källkällorna. De gör localmodconfig kommandot upptäcker kärnkomponenter som för närvarande körs och markerar dem för sammanställning. Om kärnan finns i en mapp du äger, du behöver inte sudo för att det ska fungera.

Du kanske stöter på några meddelanden som nedan. Tryck bara på Stiga på för att hoppa över dem - de är vanligtvis bara nya kärnfunktioner.

Hur man sammanställer din egen Linux-kärna Gör Localmodconfig nytt

Localmodconfig är dock inte perfekt! Om du för närvarande inte använder vissa delar av din dator kanske det inte upptäcker alla saker den stöder. Som sådan måste du aktivera dem manuellt. Alternativt kan du hoppa över detta steg helt och använda nästa kommando istället. Detta kommer att sammanställa den nya kärnan med samma alternativ som den du för närvarande använder.

Om du föredrar det men använde kommandot localmodconifg tidigare, gör detta:

sudo gör rent. 

Detta ger dig en ren byggnad. Du bör också använda det här kommandot om du har sammanställt en kärna med dessa källor tidigare.

Ytterligare konfiguration

Inne i källkällmappen finns en fil som heter .config. Detta är vad GCC kommer att använda för att välja vad man ska sammanställa. Istället för att redigera det manuellt (rekommenderas inte) använder du istället några terminalverktyg. Detta gör det lättare att välja sammanställningsalternativ.

Efter att ha gjort det, finjustera det ytterligare:

sudo gör nconfig. 

Du ser en färgglad meny dyka upp. Detta är kärnkonfigurationsmenyn. Använd piltangenterna för att navigera runt. Du kan trycka på höger piltangenten för att utöka poster med a —> skylt bredvid dem. Navigera ur dessa undermenyer genom att trycka på vänster piltangent.

Hur man sammanställer din egen Linux Kernel Make Nconfig

Du kan växla menyposter som har <> eller [] skylt bredvid dem genom att trycka på mellanslagsfältet. Detta går igenom de olika menyalternativen. Om du ser en * eller M inuti kommer den specifika kärnkomponenten att sammanställas. Den enda skillnaden mellan dem är att M alternativet kommer att laddas när det behövs. Detta kan vara användbart om du till exempel sammanställer en drivrutin som inte kommer att användas ofta.

Om du vill veta mer om vad en specifik switch gör, tryck på F2 över det. Du ser en användbar beskrivning av vad du sammanställer.

Hur man sammanställer din egen Linux Kernel Make Nconfig F2

När du är klar trycker du på F9 för att spara och avsluta.

Hur man sammanställer din egen Linux-kärna Spara Nconfig

Kompilera och installera kärnan

Nu när du har skapat en anpassad fabriksfil måste du göra det sammanställa Hur man sammanställer och installerar TAR GZ & TAR BZ2-filer i Ubuntu Linux Läs mer kärnan. Skriv in det här kommandot:

sudo make -j $ (nproc - allt)

Du kommer behöver inte sudo om du laddade ner kärnkällorna från webben. Den andra delen av kommandot hjälper till att påskynda kärnans sammanställningstid genom att dra fördel av alla dina CPU-kärnor Vad är en processorkärna? [MakeUseOf Explains]Varje dator har en processor, oavsett om det är en liten effektivitetspro eller ett kraftfullt kraftverk, annars skulle den inte kunna fungera. Naturligtvis processorn, även kallad CPU eller Central Processing ... Läs mer . Du kan bli av med detta eller ändra antalet till något annat (t.ex. -j2), om du vill använda din dator för andra uppgifter utan för många hicka. Men detta kommer också att göra sammanställningen långsammare!

Denna process kan och kommer att ta mycket lång tid. Ju mindre du valde att sammanställa, desto kortare blir det. Ändå kommer du förmodligen att behöva vara tålamod.

Skriv sedan in detta kommando för att slutföra kompilera resten av kärnan:

sudo make modules_install. 

För att faktiskt använda den här kärnan måste du ange det här kommandot:

sudo make install. 

Detta kommer automatiskt att kopiera kärnan till din /boot mapp och generera lämpliga filer för att det ska fungera.

Byta kärnor med GRUB

Om du startar om efter att ha installerat din nya kärna, ditt system kanske inte fungerar! Detta beror oftast på en felaktig sammanställd kärna (det vill säga att du inte stöder din dator tillräckligt bra). I fallet, min egen bärbara dator. Bara om detta händer rekommenderar jag redigering GRUB Hur man anpassar GRUB-startladdaren med BURG [Ubuntu] Läs mer så att den kan växla tillbaka till äldre kärnor. För att göra detta, använd detta kommando:

sudo nano / etc / default / grub. 
Hur man sammanställer din egen Linux-kärna Ubuntu GRUB

Placera ett #-tecken framför GRUB_HIDDEN_TIMEOUT och GRUB_HIDDEN_TIMEOUT_QUIET rader. Spara sedan dessa ändringar genom att köra det här kommandot:

sudo grub-mkconfig -o /boot/grub/grub.cfg. 
Hur man sammanställer din egen Linux Kernel GRUB-meny

Om du startar om din dator kan du byta till en äldre kärna om din nya inte fungerar. Gå bara till Avancerade alternativ menypost och välj kärnan du vill starta. Om allt fungerar bra, grattis! Du kommer att använda kärnan som du själv har sammanställt.

Är du intresserad av att sammanställa fler kärnor? Andra program? Tycker du att det är värt?

Bildpoäng: chombosan / Shutterstock

För närvarande studerar för en BIT, är Austin Luong en ivrig Linux-entusiast som älskar att proselytize om gratis programvara. Han gillar också att skriva sci-fi, men bara i privatlivet på sin hårddisk.