- instalar los siguientes paquetes de los repos oficiales:
- El directorio de trabajo sera el usr/src:
- Descargar la imagen del kernel que deseamos compilar:
- Descomprimir el kernel recien descargado:
- Creamos un enlace simbolico a la carpeta del kernel recien desempacado:
- Cambiamos a dicho directorio de trabajo:
- Comando para limpiar todos los archivos de compilaciones anteriores y restaurar el directorio de compilacion a su estado original:
- Copiamos el archivos de configuracion que el kernel actualmente instalado usa -esto nos ahorra un mundo de configuraciones en el menu de configuracion del kernel que viene mas adelante-:
- Ahora si, vamos al menu de configuracion del kernel:
Dentro del menu, vamos al final y escogemos la opcion "Load an alternate configuration file", luego le das Aceptar en la nueva pantallas, puesto que nuestro archivo config ya esta seleccionado. Luego presionamos EXIT y respondemos que si queremos guardar los cambios en nuestro "config" file.
- Ahora para compilar el kernel vienen estas dos lineas:
#> fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Unas notas:
1. donde dice "custom" ahi podes poner algun nombre que te ayuda a distinguir esta compilacion de otras versiones de kernel que tengamos instalados, en mi caso siempre uso htamayo
2. sentite comodo, trae tu bebida favorita o encende la TV porque el proceso de compilacion se tarda, depende mucho de tu CPU, en mi caso, se tardo 1 hora y 40 minutos :-)
- Troubleshooting: al finalizar la compilacion obtuve este error: The UTS Release version in include/linux/version.h does not match current version: 2.6.34.7-htamayo, please correct this...". Investigue por ahi y al parecer es un bug que solo esta documentado para la version del kernel del 2.6.33, pero bueno, yo use una version mayor y me dio error , en caso que te suceda segui estos pasos:
- #> unlink linux
- #> rm -r linux-2.6.34-7
- #> tar xjf linux-2.6.34.7.tar.bz2
- #> ln -s linux-2.6.34.7 linux
- #> cd linux
- #> cp include/generated/utsrelease.h include/linux
- y luego continuas con los pasos anteriormente descritos
happy coding