En realidad, Edgy me parece una de las versiones menos recomendables de Ubuntu, pero tengo por ahí un CD de él para hacer pruebas.. (no es el oficial, sino Linux Mint 2) y por allá un tutorial de cómo compilar el kernel mencionado en Ubuntu 6.10, así que pondré aquí un resumen de los pasos necesarios, para tenerlos a mano cuando algún día me de por intentarlo, a ver qué sale. Por otra parte, aunque se ponga como ejemplo a Edgy, estas instrucciones son válidas para las otras versiones de Ubuntu, y con ligeros cambios, para cualquier distribución que use el kernel 2.6.
Antes de comenzar, si no están instalados los paquetes build-essential y kernel-package hay que hacerlo:
$ sudo apt-get install build-essential kernel-package
Las fuentes pueden encontrarse en www.kernel.org, tras descargarlas y descomprimirlas, se han de mover a /usr/src:
$ sudo mv linux-2.6.20-default /usr/src
Lo que está en rojo hay que cambiarlo por la versión exacta del kernel que se vaya a compilar.
Hecho esto, hay que entrar al /usr/src:
$ cd /usr/src
En caso de existir ya un enlace simbólico enlazado a un kernel antiguo hay que borrarlo:
$ sudo rm -R linux
A continuación, se ha de crear un enlace simbólico al directorio que contiene las fuentes para que quede como /usr/src/linux:
$ sudo ln -s linux-source-2.6.20 linux
Ya está todo preparado para poder compilar el kernel; aunque se puede hacer mediante distintas órdenes, las 2 formas más comunes para comenzar a compilarlo son: en modo texto (pero con menús) ejecutando make menuconfig o en modo gráfico, mediante make xconfig. Tanto en un caso como en el otro se necesita un paquete adicional: libncurses5-dev (con todas sus dependencias) para usar la primera opción, y libqt3-dev para la 2ª.
$ sudo apt-get install libncurses5-dev
$ sudo apt-get install libqt3-dev
Se puede partir de una configuración conocida para ahorrar trabajo (si se usa un kernel precompilado, no se ahorrará mucho) si se ha compilado un kernel anteriormente. Está en /boot, en el archivo config-2.6.17 (o la versión que sea) y hay que copiarlo a /usr/src/linux-2.6.20 renombrandolo a .config.
$ cd /usr/src/linux
$ sudo cp /boot/config-2.6.20 .config
Ahora ya puede comenzar la compilación; para ello hace falta paciencia y bastante tiempo. Hay que conocer bien la máquina para no eliminar algún modulo necesario; por ello, en caso de duda es mejor incluir más módulos de los estrictamente necesarios. Si, por ejemplo, hay una tarjeta gráfica XXXX y hay dos módulos pero no se sabe cuál de ellos es necesario, instala los dos).
Para construir el paquete o .deb para instalar el nuevo kernel, se usa la función make-kpkg. Ésta sustituye a las clásicas ordenes de antaño: make dep, make clean, make bzImage y make modules, por lo que se ahorrará trabajo y tiempo con make-kpkg. Habrá que introducir :
$ sudo make-kpkg clean
$ sudo make-kpkg –append-to-version=.XXXX –initrd kernel_image
Las XXXX representa una secuencia alfanumérica en la que se puede poner lo que se quiera; es útil poner la fecha de compilación; por ej:
Linux xoxe 2.6.20.100207 #1 SMP Sat Feb 10 16:07:05 CET 2007 i686 GNU/Linux
Conviene abstenerse de cosas como i386, i686, k6, k7, spark, o cualquier otra simbología de construcción y arquitectura.
Si se usa la fecha de compilación quedaría algo así:
$ sudo make-kpkg –append-to-version=.100207 –initrd kernel_image
Posiblemente tras introducir esta orden aparezca una advertencia diciendo que si se comete un error se puede poner en peligro la configuración o el sistema. Habrá que omitir esa advertencia y esperar, dado que la compilación dura bastante tiempo por lo que es un buen momento para tomarse un café, sacar al perro o seguir usando el PC para otras tareas mientras trabaja.
Si todo ha ido correctamente se habrá generado en /usr/src el archivo kernel-image-2.6.20.100207_10.00.Custom_i386.deb que se instala como un paquete normal:
$ sudo dpkg -i kernel-image-2.6.20.100207_10.00.Custom_i386.deb
Esto no solo lo instalará sino que tener que actualizar manualmente el initrd y el grub dado que lo hará todo solo, solo quedará borrar (opcionalmente) aquel enlace simbólico creado con la orden $ sudo rm -R linux, reiniciar y probar el nuevo kernel actualizado y personalizado.
[...] que enseña a compilar el kernel en Ubuntu Hace tiempo que publiqué un post sobre la compilación del kernel y ahora he encontrado por Youtube otro tutorial parecido, pero en vídeo. Aunque las versiones de [...]