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ë.