Como compilar un kernel
La forma que voy a mostrarle para configurar un kernel
nuevo, tiene la ventaja de mantener el kernel que estábamos utilizando hasta ese
momento , por eso es una manera segura de compilar kernels, dado que si falla
algo en la compilación del kernel nuevo, lo peor que nos puede pasar es volver a
configurarlo. Hay otras maneras de compilar un kernel, pero esta es la que me
gusta. Antes de empezar tienen que asegurarse que tienen las librerías ,
programas .etc que necesita el kernel que van a utilizar. Generalmente si el
cambio no es muy grande , no van a tener ningún problema. Otra cosita, para
hacer todo lo que viene a continuación , o sea compilar el kernel, deben estar
como root.
1) conseguir las fuentes del kernel, y vamos a suponer
que lo guardan en /tmp y es el linux.2.2.9.tar.gz
2) cd /usr/src (en este
directorio vamos a poner luego el kernel que queremos
compilar)
3) rm
linux
4) tar -zxvf /tmp/linux.2.2.9.tar.gz (con esto lo
descomprimimos)
5) ln -s linux-2.2.9 linux
6) make
mrproper
Ahora llega el momento de configurar el Kernel
Para
configurar el Kernel tienen varios opciones para hacer, yo recomiendo o make
xconfig o make menuconfig, dado que en estas la configuración es mas intuitiva ,
es a través de ventanas, las cuales tienen Helps. Mientras que make config es
muy parca, además las primeras dos nos permiten volver atrás en la
configuración, mientras , por lo que yo se, make config no nos lo permite.
Entonces decididos por alguna tecleen:
7a) make
xconfig
7b) make menuconfig
7c) make config
8)
make dep
9) make clean
10) make bzImage (toma su
tiempo)
11) make modules (genera el sistema de módulos)
12) make
modules_install ( las instala en /lib/modules/2.2.9)
13) cp
/usr/src/linux-2.2.9/arch/i386/boot/bzImage /boot/vmlinuz-2.2.9
14) cp
/usr/src/linux-2.2.9/System.map /boot/System.map-2.2.9
15) cd
/boot
16) rm System.map
17) ln -s System.map-2.2.9
System.map
Cambiar el archivo lilo.conf
Generalmente este archivo
tendrá una configuración tipo
esta:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.6
label=linux
root=/dev/hda6
read-only
other=/dev/hda1
label=dos
table=/dev/hda
Bueno
nosotros debemos agregar los cambios que hicimos, lo que yo recomiendo es que al
nuevo kernel lo dejen en segundo lugar hasta estar seguros que funciona
bien.
Entonces el lilo.conf que tendrían que crear seria
asi:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.6
label=linux
root=/dev/hda6
read-only
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.9
label=linux.nuevo
root=/dev/hda6
read-only
other=/dev/hda1
label=dos
table=/dev/hda
una
vez hecho esto, deben correr lilo para que queden los cambios.
18) lilo
-v
Bueno una vez hecho todo esto ustedes dispondrán de dos kernels
instalados en su computadora, y podran decidir cual usar en el momento del
arranque. Como dejamos las cosas si ponen enter o linux, bootearía el linux de
siempre, mientras que si ponen linux.nuevo bootearía el que acabamos de
crear.
Entonces
19) shutdown -r
now