Explico en esta entrada la forma de instalar el kernel más reciente - a día de hoy- en Ubuntu (10.10) al estilo Debian es decir, generando paquetes .deb pero descargando el núcleo desde kernel.org (fuera de los repos de Ubuntu).
Primero habrá que comprobar que tenemos instalados los siguientes paquetesgit-core kernel-package fakeroot build-essential libncurses5-dev
Si no los tenemos, los instalamos:
$sudo apt-get install git-core kernel-package fakeroot build-essential libncurses5-dev
Después hay que seguir los siguentes pasos:
1) Ir al directorio home
$ cd $HOME
2) Obtener el kernel -fuentes- de la línea principal (torvalds) mediante git:
$git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
3) Una vez descargadas las fuentes del kernel el paso siguiente sería configurar el kernel con las opciones idóneas para nuestro hardware. Este proceso exige un buen conocimiento del hardware de nuestro equipo, por lo que una buena opción es tomar la configuración del kernel anterior -uno que funcione- ya que tendrá la mayoría de las opciones hardware configuradas correctamente. Después sólo queda indicar las nuevas funcionalidades que nos vaya pidiendo el nuevo kernel. Ante la duda conviene tomar las que vienen por defecto. Así, para configurar el kernel de esta manera, haremos lo siguiente:
Obtener la configuración del kernel antiguo:
$cp /boot/config-`uname -r` .config
Configurarlo:
$make oldconfig
4) El siguiente paso será comentar las líneas "echo "+"" del archivo scripts/setlocalversion con #, de lo contrario fallará la compilación.
Lo podemos hacer de forma automática con:
$sed -rie 's/echo "\+"/#echo "\+"/' scripts/setlocalversion
5) Construimos los archivos linux-image and linux-header .deb mediante:
CONCURRENCY_LEVEL=`getconf _NPROCESSORS_ONLN` fakeroot make-kpkg --initrd --append-to-version=-jorgeroden kernel_image kernel_headers
*nota: cambia -jorgeroden por lo que quieras.
Probablemente salgan algunos errores de hardware que no impedirán que funcione.
6) Instalamos los paquetes .deb generados en el nivel superior del directorio (en mi caso):
$sudo dpkg -i linux-image-3.1.0-rc1-jorgeroden_3.1.0-rc1-jorgeroden-10.00.Custom_i386.deb $sudo dpkg -i linux-headers-3.1.0-rc1-jorgeroden_3.1.0-rc1-jorgeroden-10.00.Custom_i386.deb7) Hacemos que el kernel sea arracable en nuestro sistema con grub2
$sudo update-initramfs -ck 3.1.0-rc1-jorgeroden $sudo update-grub28) Reiniciamos el sistema y arrancamos con el nuevo kernel y ¡a disfrutar de lo más cool!.
*nota: En la versión release candidate 1 (-rc1) sale un error durante el arranque: Error: Driver 'mdio-gpio' is already registered, aborting... pero sin ninguna repercusión en el buen funcionamiento del sistema. Ya he informado del error. Supongo que en breve habrá alguna explicación.
De momento las impresiones son buenas, parece que arranca más rápido y que las aplicaciones funcionan correctamente.
Actualización:
Si alguien quiere probar mis .deb generados y ahorrarse los pasos de arriba, los puede descargar desde los siguientes enlaces:
linux-headers
linux-image
Se admiten todo tipo de comentarios (gracias).
Obviamente no ofrezco ninguna garantía de funcionamiento (como no podía ser de otra forma).
Fuente: https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
No hay comentarios:
Publicar un comentario