
Autore: takedown
Semplice articolo che illustra come ricompilare il kernel 2.6 alla maniera debian. In più verrà illustrato anche come includere i driver per le schede grafiche nvidia.
Prima di tutto vediamo di installare tutti i pacchetti di cui abbiamo bisogno per ricompilare il kernel 2.6
PACCHETTO, VERSIONE, COMANDO
Gnu C, 2.95.3, # gcc --version
Gnu make, 3.78, # make --version
binutils, 2.12, # ld -v
util-linux, 2.10, # fdformat --version
module-init-tools, 0.9.10, # depmod -v
e2fsprogs, 1.29, # tune2fs
jfsutils, 1.1.3, # fsck.jfs -V
reiserfsprogs, 3.6.3, # reiserfsck -V
xfsprogs, 2.6.0, # xfs_db -V
pcmcia-cs, 3.1.21, # cardmgr -V
quota, 3.09, # quota -V
ppp, 2.0.4, # pppd --version
isdn4k-utils, 3.1pre1, # isdnctrl 2>&1|grep version
nfs-utils, 1.0.5, # showmount --version
procps, 3.1.13, # ps --version
oprofile, 0.5.3, # oprofiled --version
Installate anche module-init-tools e kernel-package.
debian:~# apt-get install module-init-tools kernel-package
Consiglio vivamente a tutti di puntare il vostro source.list alla versione unstable di debian così avrete le ultimissime versioni dei programmi sopraelencati.
Dopo aver fatto questo create la cartella /sys:
debian:~# mkdir /sys
poi modificate il file /etc/fstab come segue:
none /sys sysfs defaults 0 0
questo per avere il montaggio automatico del file system virtuale sys.
Adesso cerchiamo il pacchetto del kernel che vogliamo installare:
debian:~# apt-cache search kernel-source-2.6
otterrete la lista di tutti i kernel-source della versione 2.6
scegliete quello che preferite e installatelo:
debian:~# apt-get install kernel-source-2.6.11
una volta scaricato spostiamoci in /usr/src e scompattiamo il pacchetto:
debian:~# tar jxvf kernel-source-2.6.11.tar.bz2
creiamo il link "linux"
debian:~# ln -s kernel-source-2.6.11 linux
scarichiamo i sorgenti per la nostra scheda grafica nvidia:
debian:~# apt-get install nvidia-kernel-source
sempre in /usr/src troveremo il pacchetto nvidia-kernel-source.tar.gz, che andrà scompattato
debian:~# tar -zxvf nvidia-kernel-source.tar.gz
otterremo così la directory modules
Spostiamoci ora nella directory linux con # cd linux
debian:~# make-kpkg clean
debian:~# make menuconfig
(oppure #make xconfig o #make gconfig).
con questo ultimo comando andiamo a configurare il nostro kernel, cioè a includere i pacchetti che ci interessano
debian:~# make-kpkg clean
ripuliamo il tutto poi:
debian:~# make-kpkg --revision 1.Custom --append-to-version -k1 kernel_image modules_image
Spiegazione:
make-kpkg -> comando per la compilazione
--revision 1.Custom -> il kernel è alla prima compilazione, se non si mette il default è 10.00.Custom
--append-to-version -k1 aggiunge -k1 al nome del kernel (potete mettere ciò che volete)
kernel_image e modules_image crea 2 pacchetti .deb: il primo è il pacchetto del kernel con i moduli compresi, il secondo dei pacchetti esterni, in questo caso i moduli per la scheda nvidia.
Se tutto è andato liscio in /usr/src (spostatevi con # cd ../) troverete i 2 pachetti .deb pronti all'installazione.
Installiamoli con:
debian:~# dpkg -i kernel-image-2.6.11-k1_1.Custom_i386.deb nvidia-kernel-2.6.11-k1_1.0.7174-3+1.Custom_i386.deb
adesso dovrete andare a modificare il vostro lilo per avere il nuovo kernel:
debian:~# vi /etc/lilo.conf
Aggiungete questo:
default=Linux-2_6
image=/vmlinuz.new label=Linux-2_6 read-only #restricted #alias=1
image=/vmlinuz.old label=Linux-2_4 read-only optional #restricted #alias=2
Controllate comunque, prima di modificare, nella directory / i due link che avete e fate puntare "image=/nomeimmagine" a quello che avete:
nel mio caso:
vmlinuz.new -> boot/vmlinuz-2.6.11-tk
vmlinuz.old -> boot/vmlinuz-2.4.18-bf2.4
Adesso per i moduli nvidia installate questi 2 pacchetti:
debian:~# apt-get install nvidia-kernel-common nvidia-glx
debian:~# echo "nvidia">>/etc/modules
Adesso nel file /etc/X11/XF86Config-4 trovate la Section "Device" della scheda grafica e sostituite la dicitura "nv" con "nvidia".
Inoltre nella Section "Modules" aggiungete se non c'è:
Load "glx"
e commentate con un # le righe:
# Load "dri"
# Load "GLcore"
Reboottate e incrociate le dita!






