Arch Linux - Kompajliranje kernela iz izvornog koda

Postoje dva načina da kompajlirate Linux kernel na Arch-u. Prvi, kompajliranje custom kernela iz nemodifikovanog izvornog koda sa kernel.org. Drugi, preko ABS (Arch Build System) sistema za izgradnju softvera iz izvornog koda.

U ovom tutorialu ćemo opisati prvi način, koji je ujedno i zajednički metod kompajliranja kernela za sve Linux distribucije.

Preuzmite najnoviju stabilnu verziju Linux kernela sa http://kernel.org/ sajta (u trenutku pisanja ovog tutoriala to je 2.6.38.4 verzija):

$ wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.4.tar.bz2

Raspakujte preuzetu tar.bz2 arhivu u /usr/src direktorijum:

$ su
# tar -xvjf linux-2.6.38.4.tar.bz2 -C /usr/src

Prebacite se u raspakovani linux-2.6.38.4 direktorijum:

# cd /usr/src/linux-2.6.38.4

Pripremite kernel za kompajliranje pokretanjem komande:

# make mrproper

Navedena komanda proverava da li je kernel stablo apsolutno čisto, tj. da nije došlo do neke greške prilikom raspakivanja.

Iskopirajte .config fajl trenutnog kernela kako biste u znatnoj meri olakšali kompajliranje novog:

# zcat /proc/config.gz > .config

Započnite konfigurisanje kernela. Za tu namenu možete koristiti neku od sledećih alatki: menuconfig, xconfig (Qt) i gconfig (Gtk). Ukoliko ste početnik u kompajliranju kernela, zbog jednostavnosti upotrebe preporučujem xconfig. Da biste mogli da pokrenete xconfig, potrebno je da imate instaliran qt paket:

# pacman -S qt
# make xconfig

Nakon pokretanja navedene komande, otvoriće se prozor sa puno konfiguracionih opcija, koje u zavisnosti od potrebe možete uključiti ili isključiti. Ono što je važno, je da u General setup meniju pronađete i uključite Optimize for size funkciju. Zatim, pokrenite kombinaciju tastera Ctrl+F i u prozoru za pretragu koji se otvorio unesite kernel debug i kliknite na Search. Isključivanje kernel debug funkcije će u značajnoj meri smanjiti veličinu kernel-a.

Kada završite sa podešavanjima, kliknite na Save ikonicu i izađite iz prozora aplikacije.

Započnite kompajliranje pokretanjem komande:

# make

Ako imate multi-core procesor, dodajte komandi make -j opciju. Na primer, ukoliko imate dual core pokrenućete make -j3.

Nakon završenog kompajliranja, instalirajte module komandom:

# make modules_install

Navedena komanda će kopirati kompajlirane module u /lib/modules direktorijum.

Kopirajte kernel i System.map u /boot direktorijum:

# cp -v arch/x86/boot/bzImage /boot/vmlinuz-2.6.38.4
# cp -v System.map /boot/System.map-2.6.38.4

Kreirajte kernel sliku:

# mkinitcpio -k 2.6.38.4 -g /boot/kernel-2.6.38.4.img

I na kraju, dodajte novi kernel u /boot/grub/menu.lst fajl, koji bi trebao da izgleda nalik na sledeće:

# (2) Arch Linux
title  Arch Linux Custom
root   (hd0,0)
kernel /boot/vmlinuz-2.6.38.4 root=/dev/sda1 ro
initrd /boot/kernel-2.6.38.4.img

Ili, ako koristite GRUB 2, samo pokrenite:

# update-grub

Kategorija članka: 

Dodaj novi komentar