La compilación del kernel no es hoy en día la pesadilla que era antaño.
Lo normal es incluir casi todo como módulo, compilar el kernel para que haga uso de imágenes de arranque incial en formato initramfs y dejar luego que los sistemas de autodetección de hardware (tan mejorados últimamente, dicho sea de paso, gracias a las facilidades que en este sentido suministran los kernels 2.6) hagan el resto y cargen los módulos que tienen que cargar para que funcione la máquina.
Es cierto que, en algunos casos, será necesario solicitar la carga de módulos no detectables al arranque, via /etc/modules, o --en muy raras ocasiones-- evitar la carga de otros módulos problemáticos.
Sin ir más lejos, ayer compilé e instalé el kernel 2.6.14 en menos de media hora. La única dificultad inesperada que me encontré fue que tuve que instalar un paquete que hasta ahora no había usado (yaird) para que se generase el ramdisk correspondiente.
Una buena manera de empezar es copiar el .config de las fuentes del kernel que vienen en el paquete fuente de la distribución y copiarlo en las fuentes que hayamos obtenido de kernel.org (o copiarlo de /proc/config.gz, si tenemos soporte en kernel para generar ese archivo, o copiarlo simplemente de /boot).
Por ejemplo, y por indicar todo el proceso ---a la Debian---:
cd /usr/local/src # Aquí tengo las fuentes de kernel.org
tar xjf linux-2.6.14.tar.bz2
ln -s linux-2.6.14 linux
cp <.config-de-la-distro> linux/.config
cd linux
make oldconfig # Recrea el .config para la nueva versión
[Aquí hay que responder a unas preguntas]
make-kpkg clean # No necesario ahora. Pero conviene acostumbrarse
make-kpkg --initrd --revision=mykernel1.0 kernel_image
[...] # Aquí se está compilando
dpkg -i ../kernel-image-2.6.14_mykernel1.0-<etc>
A partir de ese momento, las nuevas compilaciones se realizarían parcheando las fuentes actuales (no es necesario volver a bajarse todo el archivo completo) y haciendo siempre el make oldconfig, para recrear el .config con las nuevas funcionalidades.
Evidentemente, no hay porque hacer esto si el kernel de la distribución nos da el soporte que necesitamos o no estamos interesados en probar las nuevas funcionalidades del kernel. Por otra parte, existe también la posibilidad (al menos en Debian) de instalar el paquete de la imagen del kernel ya compilada de la rama experimental, que suele coincidir, con poco retraso, con la última de kernel.org.
[ Padre ]
|