Hjemmeside » hvordan » Sådan tilpasser du din Ubuntu-kerne

    Sådan tilpasser du din Ubuntu-kerne

    Kernel tilpasning er ikke for alle. Vær opmærksom på, før du prøver noget af det, at det kan ødelægge dit system.

    Der er mange grunde til, at du vil tilpasse din kerne. Du kan måske trimme din kerne til kun de nødvendige tjenester, især hvis du kører en server eller dedikeret enhed, der kun kræver det væsentlige. Du skal muligvis også patchere din kerne for at understøtte hardware, der ikke understøttes i øjeblikket med kernen du kører på.

    Denne artikel forklarer ikke, hvordan du laver din kerne, bare hvordan du tilpasser din nuværende. Jeg har en anden opfølgningsartikel, der forklarer, hvordan du laver din kerne, og nogle praktiske grunde til, at du vil gøre det.

    For at starte, skal vi finde ud af hvilken version af kernen vi kører. Vi bruger kommandoen uname til det

    $ uname -r

    2.6.17-10-generisk

    Nu skal vi installere Linux-kilden til din kerne, bemærk at jeg kører 2.6.17-10 kernen, så installeringslinjen afspejler det. I denne artikel kan du erstatte kernenummeret for det, du kører. Vi skal også installere curses biblioteket og nogle andre værktøjer til at hjælpe os med at kompilere.

    sudo apt-get install linux-source-2.6.17 kernel-pakke libncurses5-dev fakeroot

    Hvis du er nysgerrig, hvor Linux-kilden bliver installeret til, kan du bruge kommandoen dpkg til at fortælle filerne i en pakke. Her er output på mit system:

    $ dpkg -L linux-source-2.6.17
    /.
    / usr
    / Usr / src
    /usr/src/linux-source-2.6.17.tar.bz2
    / Usr / share
    / Usr / share / doc
    /usr/share/doc/linux-source-2.6.17
    (Trimmes)

    Vi kan se, at kilden er blevet installeret til / usr / src-mappen i en zip-fil.

    For at gøre tingene lettere, sætter vi os i root-tilstand ved at bruge sudo til at åbne en ny skal. Der er andre måder at gøre dette på, men jeg foretrækker denne måde.

    sudo / bin / bash

    Skift nu mappe til kildeplaceringen, så vi kan installere. Bemærk, at du måske skal installere bunzipværktøjet, hvis det ikke er installeret. (det var på min)

    cd / usr / src

    bunzip2 linux-source-2.6.17.tar.bz2

    tjære xvf linux-source-2.6.17.tar

    ln -s linux-source-2.6.17 linux

    Lav en kopi af din eksisterende kernekonfiguration til brug for den tilpassede kompileringsproces. Bemærk, at 'tegn er den ene under tilde ~

    cp / boot / config-'uname -r '/usr/src/linux/.config

    Nu lancerer vi værktøjet, der vil lade os tilpasse kernen:

    cd / usr / src / linux

    lav menuconfig

    Først skal du gå ned til Indlæse en alternativ konfigurationsfil, og indlæse .config-filen. (bare tryk enter)

    Nu hvor vi er inde i hjælpeprogrammet, kan vi indstille mulighederne for vores brugerdefinerede kerne. Navigation er ret simpel, der er en legende på toppen, hvis du går tabt. Jeg besluttede at vælge netværk og trykke på Enter-tasten for at gå ned i denne kategori.

    Amatørradio support? Hvad i helvede er det installeret til? Du bemærker ved * at den er indbygget i kernen.

    Ved at trykke på? nøgle, vi kan se hjælpen til det pågældende emne. Her er forklaringen:

    Nå, jeg skal deaktivere det med det samme. Hvorfor i alverden er det installeret i min kerne alligevel? Jeg rammer Esc for at forlade hjælpeskærmen og derefter trykke N for at udelukke det fra min kerne.

    Når du er færdig med at vælge det ønskede valg, skal du trykke på Afslut og gemme konfigurationen, når du bliver bedt om det.

    Nu har vi en konfiguration klar til kompilering. Først gør vi en ren ren, bare for at sikre, at alt er klar til kompilering.

    make-kpkg ren

    Næste vil vi faktisk kompilere kernen. Dette vil tage lang tid, så find noget interessant at lave.

    fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers

    Denne proces vil oprette to .deb filer i / usr / src, der indeholder kernen. Linux-image ****-filen er det faktiske kernebillede, og den anden fil indeholder Du kan installere begge med dpkg. Filnavnet vil sandsynligvis være anderledes på dit system.

    Bemærk, at når du kører disse kommandoer, sætter den den nye kerne som den nye standardkerne. Dette kunne bryde ting! Hvis din maskine ikke starter, kan du ramme Esc på GRUB-indlæsningsmenuen, og vælg din gamle kerne. Du kan derefter deaktivere kernen i /boot/grub/menu.lst eller prøv at kompilere igen.

    dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

    dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

    Genstart nu din maskine. Hvis alt fungerer, skal du køre din nye brugerdefinerede kerne. Du kan tjekke dette ved hjælp af uname. Bemærk, at det præcise nummer vil være anderledes på din maskine.

    uname -r

    2.6.17.14-ubuntu1-skik

    Jeg planlægger at skrive en række artikler om kernejustering, så abonner på RSS-feed til opdateringer.

    Også, med henblik på fuld offentliggørelse, lærte jeg, hvordan man gør det fra artiklen på HowtoForge, hvilket er en fantastisk hjemmeside til nogle meget avancerede tutorials om Linux. Du vil bemærke, at mange af trinene i denne artikel er ens, selvom jeg forsøgte at gøre denne artikel mere "Ubuntu".