Compilacio dels kernels estandard 2.6.19 i 2.6.20 en Debian

  • warning: tempnam(): open_basedir restriction in effect. File() is not within the allowed path(s): (/srv/www/gilug.org/www/site.tree/) in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 802.
  • warning: fopen(): Filename cannot be empty in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 803.
  • El fitxer no s'ha pogut crear.
Des de fa temps que he trobat la necessitat de recompilar el kernel perquè els kernels estàndard no portaven tota la funcionalitat que necessita el meu equip. I ara a més a més els desenvolupadors Debian triguen molt per fer els paquets per les últimes versions del kernel.

Com sempre es diu quan es canvia una part essencial del sistema operatiu: Aneu amb compte ja que hi pot haver algun perill fent aixó!, pot passar que la vostre màquina no arranqui i haureu d'arrancar amb algun Recovery Disk per mirar d'arreglar el sistema. Aquest document no porta garantia de cap tipus, lo que feu es sota la vostra responsabilitat! Si no accepteu aquestes condicions, no heu de seguir!

Començar

Primer heu de treballar en el vostre equip Debian com l'usuari root. assegureu-vos de tenir instal.lats els paquets pre-requisits per compilar el kernel:

apt-get install build-essential kernel-package ncurses-dev fakeroot wget bzip2

Després en el directori /usr/src :

cd /usr/src

Descarregueu els fonts de Linux que necessiteu des de http://www.kernel.org/pub/linux/kernel/v2.6/

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.4.tar.bz2

si voleu la versió 2.6.19 o sinó, si voleu la 2.6.20:

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.1.tar.bz2

Desempaqueteu els fonts:

tar xjf linux-2.6.20.1.tar.bz2

Canvieu el nom del directori perquè es vegi que és una versió personalitzada:

mv linux-2.6.20.1 linux-2.6.20.1-std
cd linux-2.6.20.1-std/

Editeu el fitxer Makefile per afegir el nom de la versió personalitzada.

vi Makefile
Extraversion = .1-std

Configurar

Ara necessitem un fitxer .config, a vegades es pot agafar de la versió anterior i, si no hi ha gaires canvis entre les diferents versions, normalment va bé. Peró ara les versions 2.6.19 i, sobretot la 2.6.20 són molt diferents a la 2.6.18. Ja no es pot copiar directament el fitxer config-2.6.xxxx que es troba en el directori /boot. S'ha de mirar quines son les noves característiques del kernel i arreglar la configuració per tal d'aprofitar-les i no perdre cap funcionalitat. Us dono les configuracions que he revisat per el kernel 2.6.19 i també per el 2.6.20 Guardeu la que correspongui amb el nom ”.config” al directori arrel dels vostres fonts.

Veureu que aquestes configuracions porten suport per el Linux boot Logo, Full NAT, i més.

Entreu en la pantalla de configuració del kernel per verificar els valors.

make menuconfig

Guardeu la configuració i sortiu.

Compilar

Deprés executeu les ordres següents, per compilar el nou kernel (si no heu descarregat móduls addicionals, no poseu el text -added-modules xxx,yyy,zzz

make-kpkg--added-modules xxx,yyy,zzz --initrd debian && \
make-kpkg --added-modules xxx,yyy,zzz --initrd clean && \
make-kpkg –added-modules xxx,yyy,zzz --initrd kernel_image

Si la compilació dona un error, normalment és degut a un mòdul que no ha compilat, executeu

make-kpkg clean

i després torneu a fer, i desactiveu aquest mòdul,

make menuconfig

Repetiu la compilació. Quan hagi compilat correctament, podeu compilar els mòduls addicionals:

make-kpkg --added-modules xxx,yyy,zzz --initrd modules_clean && \
make-kpkg --added-modules xxx,yyy,zzz –initrd modules_image

i, si voleu fer el paquet linux-headers per distribuir aquest kernel o tant sols per instal.lar-lo i guanyar espai suprimint els fonts,

make-kpkg --added-modules xxx,yyy,zzz --initrd  kernel_headers

Instal·lar

Instal·lem el nostre kernel:

dpkg -i ../*-2.6.20.1-std*.deb

Si el sistema està ben configurat, farà la instal.lació al directori /boot, i també crearà el ramdisk del nou kernel i modificarà el gestor d'arrancada.

Si heu instal.lat el linux-headers i voleu guanyar espai podeu suprimir els fonts.

cd /usr/src
rm -rf /usr/src/linux-2.6.20.1-std
ln -sf /usr/src/linux-headers-2.6.20.1-std /lib/modules/2.6.20.1-std/build

Si teniu una targeta gràfica Nvidia podeu configurar-la ara.

../NVIDIA-Linux-x86-1.0-9755-pkg1.run -K -k 2.6.20.1-std

Reiniceu l'ordinador i proveu-ho.

Molta Sort! (moltes vegades la sort és dels que la busquen amb cura)

Referències

Debian Kernel 2.6 Compile. Howto per compilar el kernel

Pàgina man make-kpkg

bona!!!

Bona recepta per recompilar kernel amb gnu/linux debian!!!! :)
DEBIAN POGUER!! :P

costellam realtime modules lsm

ok esta molt be, pero ara tens el kernel novet i tal pero si vols fer algo mes que ser un usuari et serveix de poc, ja que si vols abandonar el windows erupta per fer musiqueta o videos o el dj, o el pd freaky, necesitas tenir activats els moduls real time i per que no sigui dit ara us dic com es fa ja, a si si voleu se algu mes que usuaris despres no us foteu una ubuntu o una knopig, ja que de cara a ser usuaris pelat van molt be i tot funciona a la primera pero si volguesis fer quelcom mes ho tens fotut, mes val trigar 5 dies mes en tenir una maquina ben configurada que et permet creixar, que tnir un sistema que va molt be pero ue en realitat no et fara aprendre mes ni anar me enlla us paso la chuleta per posar els moduls realtime lsm al vostre kernel i despres poder flipar fent musiqueta amb el linux.

(1) copiar el config del kernel que os funciona
cp /boot/config-2.6.17 /usr/src/linux/.config

Processor type and features
-> Preemption Model
-> Preemptible Kernel (Low-Latency Desktop)

[*] Preempt The Big Kernel Lock

Timer frequency (1000 HZ) --->

esto es en el .config:
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y

CONFIG_HZ_1000=y
CONFIG_HZ=1000

Luego usar el realtime-lsm.

salut i sort

hhhmmm, és diferent

és diferent de lo que diu el realtime-lsm,

"The default configuration gives you maximum security and performance."
"just make sure that CONFIG_SECURITY_CAPABILITIES=m, thats the whole point of it."

el realtime-lsm son dos parts,
una les utilitats que son una serie de programes que s'instal.len amb el paquet realtime-lsm
i l'altre el realtime-lsm-source que és un mòdul per compilar amb un nou kernel, perquè l'estandard no el preparen amb aquest paràmetre.

i en el config que us dono hi ha:
CONFIG_SECURITY_CAPABILITIES=y
seria millor:
CONFIG_SECURITY_CAPABILITIES=m

Actualitzo .config

He actualitzat els fitxers .config a les versions 2.6.19.7 i 2.6.20.7.
El de la versió 2.6.20.7 l'he revisat novament per incloure gran part dels drivers i funcionalitat nous en 2.6.20, igualment potser soluciona el problema amb el controlador JMicron ja que no inclou el driver IDE generic.