Reklame

Sammen med installation af Gentoo Gentoo: En Linux-distribution, hvor du samler din egen optimerede softwareDet store antal forskellige måder, hvorpå Linux kan køres, er forbløffende, da der er masser af muligheder at gå rundt på. Mens der er masser af distributioner, der er afhængige af enten .deb ... Læs mere , kompilering af din egen Linux-kerne er en af ​​de ting, der betragtes som meget nørdige og tekniske. Vi har allerede gjort det dækket et par grunde 3 grunde til, at du muligvis vil kompilere din egen kerne [Linux]Linux-systemer er så latterligt fleksible og konfigurerbare, det er helt vanvittigt. En enorm del af hvorfor Linux er så fleksibel er på grund af dens modulære struktur. Hver enkelt systemkomponent og program er delt op ... Læs mere hvorfor du måske ønsker at gøre dette. Før vi leder dig gennem trinnene, er her en kort oversigt over nogle vigtige begreber.

Hvad er en kerne?

Kort sagt, det er en vigtig del af dit operativsystem, hvis ikke det vigtigste. Et operativsystem er ansvarligt for at lade dine programmer fungere ved at give dem adgang til din hardware. Det er dog det

instagram viewer
kerne Hvad er en kerne i Linux, og hvordan kontrollerer du din version?Linux er et operativsystem, ikke? Nå, ikke nøjagtigt! Det er faktisk en kerne. Men hvad er Linux-kernen? Læs mere som faktisk udfører alle disse job.

Linux-kernen er speciel, idet den kan skræddersys til at passe til den hardware, du ejer. Kontrast dette med Windows NT-kernen, som generelt vil være den samme på alle computere. For at gøre dette skal kernen gennemgå en proces, der kaldes kompilering.

For mere info, tjek vores introduktion til kerner i Linux Hvad er en kerne i Linux, og hvordan kontrollerer du din version?Linux er et operativsystem, ikke? Nå, ikke nøjagtigt! Det er faktisk en kerne. Men hvad er Linux-kernen? Læs mere .

Hvad er kompilering?

Generelt er programmer skrevet i et menneskeligt læsbart format. Dette gør det lettere for folk at oprette software. For eksempel er Linux-kernen hovedsageligt skrevet på et kaldet programmeringssprog C. Computere kan imidlertid ikke forstå dette. De genkender kun et kompliceret sprog, der kaldes maskinkode. For at gøre det, skal tekstlinjerne være oversat Sådan kompileres og installeres TAR GZ & TAR BZ2-filer i Ubuntu Linux Læs mere ved hjælp af et specielt stykke software kaldet a compiler.

Forskellige compilere bruges til at konvertere forskellige programmeringssprog. For eksempel, GCC er en compiler, der oversætter C-kode til maskinkode (blandt andre). Men det er ikke alt, hvad de gør - kompilatorer kan også optimere den oversatte kode for specifikke maskiner. Sammen med dette kan de også fjerne uønskede funktioner fra programmer, mens de gør det.

Normalt er denne proces allerede udført for masser af software. I stedet downloader de konverterede binær instruktioner, der fungerer ud af kassen. F.eks webbrowser Bruger du den bedste webbrowser til Linux i 2016?Brug af den "forkerte" browser kan føre til en masse unødvendig hovedpine, spild produktivitet og endda mistede data. Så hvilken browser er bedst til din Linux-computer? Lad os finde ud af det. Læs mere du kører lige nu er allerede samlet. Dette skyldes, at det kan være lidt kompliceret og tidskrævende at samle noget. Tænk på det som at oversætte en stor bog til et fremmedsprog.

Kort sagt betyder kompilering af kernen at konvertere dens kode til noget, der faktisk kører på din computer.

At få kernekilder

Du kan ikke skabe ild uden brændstof. Ligeledes kan du ikke komponere programmer, hvis du ikke har koden til det i første omgang. Metoden er generelt den samme for de fleste Linux-operativsystemer med få undtagelser. Mange af dem leverer deres egne brugerdefinerede kernekilder. Du bør prøve og bruge det, hvis du kan. For eksempel, hvis du bruger en Debian-baseret operativsystem såsom Ubuntu, skal du installere kilderne ved hjælp af disse kommandoer:

sudo apt-get-opdatering. sudo apt-get install linux-source. 
Sådan samles din egen Linux-kerne Debian Linux-kilde

Du kan også installere forskellige versioner af denne pakke (f.eks. linux-source-4.8.0) hvis du kan lide. Du finder de installerede filer i /usr/src/ katalog, så naviger der, og se indholdet:

cd / usr / src / ls.

Du ser en fil, der slutter med .tar.bz2. Dette er den kilde, du bruger. Uddrag det med denne kommando:

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

Sørg for, at du selvfølgelig erstatter filen med det rigtige navn. Filen vil være ret stor, så processen vil tage lidt tid!

Alternativ metode

Hvis du vil, kan du hente dine kilder fra officielt Linux Kernel-websted. Jeg anbefaler dette kun, hvis dit Linux-operativsystem ikke leverer dem. Vælg den ønskede version, og download væk. Hvis du går gennem denne rute, skal du downloade den til en tom mappe. På denne måde, hvis du ønsker at samle flere kerner i fremtiden, har du en dejlig mappe til at holde dem organiseret i.

Sådan samles dine egne Linux-kernekilder fra vanilje-kerner

Når du har gjort dette, udpakk filen med denne kommando:

tar xJvf linux-4.9.11.tar.xz
Sådan samles din egen Linux-kerne-vanilla Linux-kilde

Sørg for, at du bruger det filnavn, der matcher den version, du downloadede!

Tilpas kernen

Dette er trinnet, hvor du kan vælge, hvilke dele af kernen du vil slippe af med. F.eks. Sendes kernen med mange forskellige drivere til en række forskellige enheder. Hvis du ikke har brug for denne support, kan du slippe af med dem nogle hurtige fordele sammen med en mindre kerne.

Forudsætninger

Inden du fortsætter, skal du installere nogle programmer, der giver dig mulighed for at tilpasse og kompilere det.

På Debian-baserede systemer har du brug for build-essentielt pakke, blandt andre:

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

Det libncurses5-dev pakken gør det lettere at konfigurere kernen, så sørg for at installere den. Andre Linux-operativsystemer vil have et lignende program, men dette kan være under et andet navn. For eksempel, hvis du bruger Fedora 5 grunde til at bruge ren open source distro, FedoraFedora er ikke så kendt som Ubuntu og har et ry for at være svært at bruge. Men hvis dette er sandt, hvorfor fortsætter så mange mennesker med at bruge Fedora? Læs mere , det hedder ncurses.

Hvis det ikke allerede er installeret, har du også brug for det GNU Compiler Collection (GCC). Dette er det værktøj, der er ansvarligt for at oversætte den rå kildekode til noget, der er forståeligt for computere. Det vil sige at udarbejde.

Når du har installeret disse programmer, skal du åbne din terminal, så du er inde den udpakkede Linux-kildemappe. For eksempel, hvis du brugte linux-kilde metode, ville du gøre dette:

cd /usr/src/linux-source-4.4.0

Kernekonfigurationsfil

Før du sammenstiller kernen, skal du fortælle GCC, hvordan du vil have det gjort. Du gør dette ved hjælp af et kommandolinjeværktøj, der kaldes lave. Skriv denne kommando:

sudo gør localmodconfig. 

Dette opretter en fil, der kaldes .config, der fortæller GCC, hvad de skal kompilere fra kernekilderne. Det lav localmodconfig kommando registrerer aktuelt kørende komponenter og markerer dem til kompilering. Hvis kernen er inde i en mappe, du ejer, du har ikke brug for sudo for at det fungerer.

Du kan støde på nogle meddelelser som den nedenfor. Bare tryk på Gå ind for at springe dem over - de er normalt bare nye kernefunktioner.

Sådan samles din egen Linux-kerne Gør Localmodconfig nyt

Localmodconfig er dog ikke perfekt! Hvis du ikke i øjeblikket bruger nogle dele af din computer, registrerer den muligvis ikke alle de ting, den understøtter. Som sådan skal du aktivere dem manuelt. Alternativt kan du springe dette trin helt over og bruge den næste kommando i stedet. Dette vil samle den nye kerne med de samme indstillinger som den, du i øjeblikket bruger.

Hvis du foretrækker det, men brugte kommandoen localmodconifg før, gør dette:

sudo gøre rent. 

Dette giver dig en ren bygning. Du skal også bruge denne kommando, hvis du tidligere har samlet en kerne med disse kilder.

Yderligere konfiguration

Inde i kerne-kildemappen er der en fil, der kaldes .config. Dette er, hvad GCC vil bruge til at vælge, hvad der skal udarbejdes. I stedet for at redigere det manuelt (anbefales ikke), bruger du i stedet et par terminalværktøjer. Dette gør valg af kompilationsindstillinger meget lettere.

Efter at have gjort dette, finjuster det yderligere:

sudo gør nconfig. 

Du kan se en farverig menu dukke op. Dette er kernekonfigurationsmenuen. Brug piletasterne til at navigere rundt. Du kan trykke på ret piletast for at udvide poster med a —> tegn ved siden af ​​dem. Naviger ud af disse undermenuer ved at trykke på venstre piletast.

Sådan samles din egen Linux-kerne Make Nconfig

Du kan skifte menuposter, der har <> eller [] tegn ved siden af ​​dem ved at trykke på mellemrumstasten. Dette gennemgår de forskellige menuindstillinger. Hvis du ser en * eller M indeni, vil den specifikke kernekomponent blive samlet. Den eneste forskel mellem dem er, at M indstillingen indlæses, når det er nødvendigt. Dette kan være nyttigt, hvis du f.eks. Udarbejder en driver, der ikke bruges ofte.

Hvis du vil vide mere om, hvad en bestemt switch gør, skal du trykke på F2 over det. Du kan se en nyttig beskrivelse af, hvad du udarbejder.

Sådan samles din egen Linux-kerne Make Nconfig F2

Når du er færdig, skal du trykke på F9 for at gemme og afslutte.

Sådan samles din egen Linux-kerne Gem Nconfig-gem

Kompilering og installation af kernen

Nu, hvor du har oprettet en tilpasset fabrikationsfil, skal du gøre det udarbejde Sådan kompileres og installeres TAR GZ & TAR BZ2-filer i Ubuntu Linux Læs mere kernen. Skriv denne kommando:

sudo make -j $ (nproc - alt)

Du vil ikke brug for sudo hvis du downloadede kernekilderne fra internettet. Den anden del af kommandoen hjælper med at fremskynde kerne-kompileringstiden ved at drage fordel af alle dine CPU-kerner Hvad er en processor Core? [MakeUseOf Explains]Hver computer har en processor, hvad enten det er en lille effektivitetspro eller et kraftigt kraftværk med stor ydeevne, ellers ville det ikke være i stand til at fungere. Naturligvis er processoren, også kaldet CPU eller Central Processing ... Læs mere . Du kan slippe af med dette eller ændre antallet til noget andet (f.eks. -j2), hvis du vil bruge din computer til andre opgaver uden for mange hikke. Dette vil dog også gøre samlingen langsommere!

Denne proces kan og vil tage meget lang tid. Jo mindre du valgte at samle, jo kortere vil den være. Alligevel skal du sandsynligvis være tålmodig.

Skriv derefter denne kommando bagefter for at afslutte kompilering af resten af ​​kernen:

sudo gøre modules_install. 

Hvis du faktisk bruger denne kerne, skal du indtaste denne kommando:

sudo gøre installation. 

Dette vil automatisk kopiere kernen til din /boot mappe og generere de relevante filer, så det fungerer.

Skift af kerner ved hjælp af GRUB

Hvis du genstarter efter installationen af ​​din nye kerne, dit system fungerer muligvis ikke! Dette skyldes normalt en ukorrekt kompileret kerne (dvs. ikke understøtter din computer godt nok). I givet fald min egen bærbare computer. Bare i tilfælde af at dette sker, anbefaler jeg redigering af GRUB Sådan tilpasses GRUB Boot Loader ved hjælp af BURG [Ubuntu] Læs mere så det kan skifte tilbage til ældre kerner. Brug dette kommando til at gøre dette:

sudo nano / etc / default / grub. 
Sådan samles din egen Linux-kerne Ubuntu GRUB

Placer et # skilt foran GRUB_HIDDEN_TIMEOUT og GRUB_HIDDEN_TIMEOUT_QUIET linjer. Gem derefter disse ændringer bagefter ved at køre denne kommando:

sudo grub-mkconfig -o /boot/grub/grub.cfg. 
Sådan samles din egen Linux Kernel GRUB-menu

Hvis du nu genstarter din computer, kan du skifte til en ældre kerne, hvis din nye ikke fungerer. Bare gå til Avancerede indstillinger menupunkt, og vælg den kerne, du vil starte. Hvis alt fungerer fint, tillykke! Du bruger den kerne, du selv har udarbejdet.

Er du interesseret i at samle flere kerner? Andre programmer? Synes du det er umagen værd?

Billedkreditter: chombosan / Shutterstock

I øjeblikket studerer for en BIT, er Austin Luong en ivrig Linux-entusiast, der elsker at præsentere om gratis software. Han kan også lide at skrive sci-fi, men kun i beskyttelse af hans harddisk.