Në 90% të rasteve, kernel i prekompiluar që gjeni në shpërndarjen GNU/Linux në përdorim, plotëson të gjitha kërkesat e kompjuterit tuaj.
Megjithatë, për konfigurime të personalizuara (rritja e shpejtësisë së ekzekutimit, ndonjë dispozitiv jo i zakonshëm, apo thjesht dëshira për të mësuar) do t'ju duhet shpeshherë të kompiloni zemrën e sistemit operativ Linux, kernel-in.
Duhet të keni parasysh që jeni duke luajtur me "jetën e pacientit": sistemi mund të mos niset më ose mund të mos punojë si duhet.
Jeni të paralajmëruar!!!
Po supozoj që ndodheni në sistemin që kemi instaluar së bashku këtu.
Futemi në sistem si përdorues root.
Instalojmë çfarë nevoitet për të kompiluar kernel e Linux:
# apt-get update
# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
desktop:~# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
Reading Package Lists... Done
Building Dependency Tree... Done
wget is already the newest version.
bzip2 is already the newest version.
Suggested packages: kernel-source libdb3-dev docbook-utils
The following NEW packages will be installed: fakeroot kernel-package libncurses5-dev0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 1466kB of archives.
After unpacking 7385kB of additional disk space will be used.
Get:1 http://debian.fastweb.it stable/main fakeroot 1.2.10 [70,5kB]
Get:2 http://debian.fastweb.it stable/main kernel-package 8.135 [357kB]
Get:3 http://debian.fastweb.it stable/main libncurses5-dev 5.4-4 [1038kB]
Fetched 1466kB in 3s (416kB/s)
Selecting previously deselected package fakeroot.
(Reading database ... 88224 files and directories currently installed.)
Unpacking fakeroot (from .../fakeroot_1.2.10_i386.deb) ...
Selecting previously deselected package kernel-package.
Unpacking kernel-package (from .../kernel-package_8.135_all.deb) ...
Selecting previously deselected package libncurses5-dev.
Unpacking libncurses5-dev (from .../libncurses5-dev_5.4-4_i386.deb) ...
Setting up fakeroot (1.2.10) ...
Setting up kernel-package (8.135) ...
Setting up libncurses5-dev (5.4-4) ...
Shkojmë tek /usr/src:
#cd /usr/src
Marrim versionin e fundit të Linux kernel source (ose versionin që ju intereson) nga http://www.kernel.org/pub/linux/kernel/v2.6/:
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.4.tar.bz2
desktop:/usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.4.tar.bz2
--16:19:30-- http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.4.tar.bz2 => `linux-2.6.15.4.tar.bz2'
Resolving www.kernel.org... 204.152.191.37, 204.152.191.5
Connecting to www.kernel.org[204.152.191.37]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 39,846,379 [application/x-bzip2]
100%[====================================>] 39,846,379 79.41K/s ETA 00:0016:26:38 (91.16 KB/s)
- `linux-2.6.15.4.tar.bz2' saved [39846379/39846379]
File i saposhkarkuar është buruesi i kernel në formatin e zip-uar tar.bz2: shpaketojmë këtë file.
# tar xjfv linux-2.6.15.4.tar.bz2
Si rrjedhim do të kemi krijimin e një kartele me emrin linux-2.6.15.4
desktop:/usr/src# ls -la
total 38972
drwxrwsr-x 3 root src 4096 2006-02-18 16:32 .
drwxr-xr-x 12 root root 4096 2006-02-18 15:06 ..
drwxrwxrwx 19 root root 4096 2006-02-10 08:22 linux-2.6.15.4
-rw-r--r-- 1 root src 39846379 2006-02-10 08:47 linux-2.6.15.4.tar.bz2
Krijojmë një lidhje simbolike me emrin linux:
# ln -s linux-2.6.15.4 linux
desktop:/usr/src# ls -la
total 38972
drwxrwsr-x 3 root src 4096 2006-02-18 16:37 .
drwxr-xr-x 12 root root 4096 2006-02-18 15:06 ..
lrwxrwxrwx 1 root src 14 2006-02-18 16:37 linux -> linux-2.6.15.4
drwxrwxrwx 19 root root 4096 2006-02-10 08:22 linux-2.6.15.4
-rw-r--r-- 1 root src 39846379 2006-02-10 08:47 linux-2.6.15.4.tar.bz2
Futemi tek kartela me buruesit e kernel:
# cd linux
M.q.s. është hera e parë që kompilojmë një kernel linux, do të marrim si pikë nisje konfigurimin e kernel ekzistues: për të kontrolluar versionin në përdorim japim komandën
# uname -a
desktop:/usr/src# uname -a
Linux desktop 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
Pra jemi duke përdorur kernel linux 2.6.8-2-386 dhe konfigurimi i tij zakonisht ndodhet në kartelën /boot me emrin config-2.6.8-2-386 (pra file i kunfigurimit ndodhet në pozicionin /boot/config-2.6.8-2-386)
Është ky file konfigurimi që do të përdorim si bazë për kompilimin tonë:
# make menuconfig
Zgjedhim Load an Alternate Configuration File dhe japim pozicionin e file tonë të vjetër të konfigurimit:
Do të lexohet konfigurimi ekzistues i kernel-it tonë dhe, po të dëshironi mund të filloni të shfletoni menunë dhe të ndryshoni konfigurimet (p.sh. të hiqni suportin për hardware që nuk ekziston në kompjuterin tuaj, etj...etj.: këtu nuk mund të jepen udhëzime, pasi secili ka kompjuterin e tij!).
Mbasi të keni mbaruar ruani ndryshimet dhe dilni:
Tani japim komandat:
# make-kpkg clean
# fakeroot make-kpkg --initrd --revision=desktop.1.0 kernel_image
Nëse për një arsye apo tjetër kompilimi ndalon me ndonjë mesazh gabimi, jepni komandën:
# make clean
dhe rifilloni proçesin e kompilimit nga komanda:
# make menuconfig
Ndryshoni konfigurimin e kernel në korrispondim me mesazhet e gabimit dhe rikompiloni.
Në rast se gjithçka shkon si duhet (pa mesazhe gabimi), pakoja e re .deb e kernel do të jetë krijuar në /usr/src me emrin kernel-image-2.6.15.4_desktop.1.0_i386.deb, gati për t'u instaluar:
# cd ..# ls -la
desktop:/usr/src# ls -la
total 52268
drwxrwsr-x 3 root src 4096 2006-02-18 18:21 .
drwxr-xr-x 12 root root 4096 2006-02-18 15:06 ..
-rw-r--r-- 1 root src 13591994 2006-02-18 18:21 kernel-image-2.6.15.4_desktop.1.0_i386.deb
lrwxrwxrwx 1 root src 14 2006-02-18 16:37 linux -> linux-2.6.15.4
drwxrwxrwx 21 root root 4096 2006-02-18 18:21 linux-2.6.15.4
-rw-r--r-- 1 root src 39846379 2006-02-10 08:47 linux-2.6.15.4.tar.bz2
Tani jemi gati për të instaluar kernel-in tonë të ri Linux:
# dpkg -i kernel-image-2.6.15.4_desktop.1.0_i386.deb
Automatikisht, mbas instalimit, do të ndryshohet edhe menuja e GRUB për të pasqyruar versionin e ri të kernel:
Futuni me kernel-in e ri, provoni që gjithçka funksionon si duhet dhe, për të liruar vend, mund të çinstaloni versionin e vjetër të kernel:
# dpkg -P kernel-image-2 2.6.8-16sarge1
Mbasi të keni krijuar eksperiencën e nevojshmë, filloni të rikompiloni çdo ditë kernel-in tuaj, duke e pastruar nga të gjithë zërat e panevojshëm për makinën tuaj, deri sa të arrini rezultatet më të kënaqshëm: ushtrimi do t'ju japë kënaqësi dhe eksperienca do të rritet çdo ditë e më shumë.