Slik gjør du bygge Siste Linux Kernel på Debian fra Linus git Repo

Her er en how-to for å bygge en fersk 2.6 Linux-kjernen på Debian GNU /Linux-boksen.

Du må gjøre alt dette som rot. Det er seriøs bedrift å bygge nye Linux-kjerner :)

 su -. 

strek etter su kommandoen gjør det oppfører seg som om du hadde logget inn som root direkte, er en full innlogging miljø påføres
< p> Kontroller at du har de nødvendige verktøy og biblioteker installert:

 apt-get install build-essential modul init-tools initramfs-tools \\ procps libncurses5-dev kernel-package fakeroot git-core skjermen \\ zlib1g- dev 

Bruk git å klone Linus 'nyeste git repo:

 cd /usr /srcgit klone git: //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux- 2.6.git linux-2.6cd linux-2.6 

Dette vil ta lang tid.

Når du har kilden du er klar for konfigurasjon. Jeg basere min nye kjernen konfigurasjonen på en vet fungerer konfigurasjon, deretter klippe den ned derfra. Sjekk for å se hva konfigurasjoner du har i /boot:

 ls /boot /config * 

Konfigurer nye kjernen kilde med den valgte config filen:

 gjøre menuconfig 

Velg " Legge en Alternativ konfigurasjon File ", skriv inn din config fil banen, for eksempel brukte jeg /boot/config-2.6.26-2-686. Hit exit og lagre

Bygg kjernen og pakke det.

 make-kpkg cleanCONCURRENCY_LEVEL = 9-skjerm fakeroot make-kpkg --revision = 1 --initrd kernel_image 

make-kpkg ren renser opp kjernen kilde.

CONCURRENCY_LEVEL = 9 settes til `gjøre -j9` senere. gjøre -j9 midler til å kompilere ting parallelt med alle prosessorer, så justere deretter for selve systemet. Jeg går vanligvis 2x det faktiske antall prosessorer +1.

skjermen er en kommando brukes til å kjøre en annen kommando i en virtuell skjerm. Den nye virtuelle skjermen slutter ikke hvis du kobler fra. `mannen screen` hvis du ikke er kjent, er det et svært nyttig verktøy.

fakeroot gir en falsk rot miljø der å bygge en pakke.

make-kpkg er en kjerne av emballasje verktøy.

--revision er hva du vil, jeg øke mine ved en hver gang jeg bygge en ny kjerne, og starter som regel over når Linus lanserer en "stabil" kernel.

Den --initrd alternativet gjør dpkg bygge en ny initrd bilde når du installerer kernel pakken senere. Initrd inneholder drivere systemet ditt behov før dine kjerne belastninger, for eksempel raid og ext3.

Bygg en ny kjerne bruker en distro-tallet (Debian i mitt tilfelle) default config tar en stund. Alt vil vanligvis arbeider på første forsøk å bruke en distro config siden alt er bygget som moduler så mye som mulig, og alle modulene få bygget. Du stå en god sjanse til å lykkes med å starte en ny kjerne bygget på denne måten. Senere kan du fjerne ting fra config og gjenoppbygge. Vask, skyll og gjenta til du får din kernel config ned til bare maskinvaren du faktisk har i systemet ditt

Installer den nye kjernen.

 cd ..dpkg -i linux-image . -2.6.31-rc7_1_i386.deb 

Reboot

Når systemet kommer opp igjen

 >.; uname -aLinux saturn.localdomain 2.6.31-RC7 # 2 SMP man 24 august 21:53:19 CDT 2009 i686 GNU /Linux