Uno de los mayores atractivos de utilizar Linux es su fácil personalización y una de las cosas más divertidas de personalizar es el núcleo en sí, el corazón del sistema operativo Linux . Lo más probable es que lo más probable es que nunca tenga que compilar su propio kernel. El que viene con su distribución y actualizaciones a través de su sistema de gestión de paquetes es generalmente bastante bueno, pero hay ocasiones en las que podría ser necesario volver a compilar el kernel.
Algunas de estas razones podría ser especiales de hardware necesidades, el deseo de crear un núcleo monolítico en lugar de modular una, optimizar el núcleo eliminando controladores no usados, correr un kernel en desarrollo, o simplemente aprender más sobre Linux . En este caso, vamos a compilar una recién estrenada kernel 3.12 , en Debian Wheezy . El recientemente lanzado Kernel 3.12 tiene varias características nuevas, incluyendo algunos nuevos controladores de la NVIDIA Optimus , y el núcleo Radeon Graphics Driver . También ofrece grandes mejoras a la EXT4 sistema de archivos, y algunos cambios a XFS y Btrfs .
Cómo compilar e instalar el kernel 3.12 en Debian
Para empezar, vamos a necesitar algunos paquetes, es decir, fakeroot y kernel-package :
Ahora, vamos a tomar un último tarball fuente de www.kernel.org o puede utilizar siguiente comando wget para descargarlo.
Ahora, vamos a descomprimir el archivo.
Después, la extracción, se creará un nuevo directorio de fuentes del núcleo.
Ahora, vamos a querer configurar el kernel. Lo mejor es comenzar con una configuración que está utilizando actualmente y trabajar desde allí. Para ello, vamos a copiar la configuración actual de la / boot en el directorio de trabajo actual y guardarlo como . config .
a mi esto no me funciono, me funciono :
Para comenzar con la configuración actual, tiene una de dos opciones. Si ha X11 instalado, puede ejecutar make xconfig , y tienen una buena GUI menú para ayudar a usted como a configurar su núcleo . Si está ejecutando en un CLI entorno, puede ejecutar make menuconfig . Usted necesitará el libncurses5-dev paquete instalado para utilizar menuconfig :
Como se puede ver, una vez que esté en la configuración de su elección, que hay un montón de diferentes opciones disponibles para su núcleo . De hecho, hay demasiados para el alcance de este tutorial. Al seleccionar Kernel opciones, la mejor manera es por ensayo y error, y hacer un montón de buscar en Google. Es la mejor manera de aprender. Si usted está simplemente tratando de actualizar el kernel a la versión más reciente, usted no tiene que cambiar nada y puede simplemente seleccionar " Guardar configuración ". Dado que hemos copiado el archivo de configuración del kernel actual para el nuevo kernel . config file.
Tenga en cuenta que " Kernel module loader "está seleccionado en" Loadable module support ". Si no lo es, y está utilizando los módulos del núcleo, que puede meterse en serio las cosas.
Una vez que es recto, es el momento de limpiar el árbol de código fuente.
Por último, es el momento de compilar el núcleo.
si quieren ponerle nombre a su kernel solo cambien customkernel por lo que quieran Como se puede ver arriba, hemos exportado una variable llamada CONCURRENCY_LEVEL . Una regla del pulgar con esta variable es para establecerlo como el número de núcleos que su equipo tiene + 1 . Por lo tanto, si usted está usando un quad core, lo haría:
Esto acelerará el tiempo de compilación. El resto del comando de compilación es bastante auto-explicativo. Con fakeroot , estamos haciendo paquetes del kernel ( make-kpkg ), añadiendo una serie de nombrar nuestro kernel (" customkernel ", que le da un número de revisión (" 1 " y le estamos diciendo a make-kpkg para crear a la vez un paquete de imagen y un paquete de cabecera . Una vez que la compilación está terminada, y en función del equipo y el número de módulos que se compila, puede tardar bastante tiempo, cambie los directorios a una vuelta desde el directorio fuente de Linux, y usted debería ver dos nuevos * deb. archivos - uno linux-image de archivo y un linux-headers archivo:
Ahora puede instalar estos archivos como lo haría instalar ningún deb *. archivo con comando dpkg .
El nuevo kernel, ya que es un Debian paquete, se actualizará todo lo necesario, incluido el gestor de arranque . Una vez instalado, sólo tiene que reiniciar y seleccionar el nuevo kernel desde el GRUB / LILO menú.
Asegúrese de prestar mucha atención a los mensajes de error durante el proceso de arranque para que pueda solucionar los problemas. Si, por cualquier motivo, el sistema no arranque, siempre se puede recurrir a su último trabajo Kernel y vuelva a intentarlo. El no funcional del núcleo siempre se puede quitar con apt comando.
asi me quedo a mi

Algunas de estas razones podría ser especiales de hardware necesidades, el deseo de crear un núcleo monolítico en lugar de modular una, optimizar el núcleo eliminando controladores no usados, correr un kernel en desarrollo, o simplemente aprender más sobre Linux . En este caso, vamos a compilar una recién estrenada kernel 3.12 , en Debian Wheezy . El recientemente lanzado Kernel 3.12 tiene varias características nuevas, incluyendo algunos nuevos controladores de la NVIDIA Optimus , y el núcleo Radeon Graphics Driver . También ofrece grandes mejoras a la EXT4 sistema de archivos, y algunos cambios a XFS y Btrfs .
Cómo compilar e instalar el kernel 3.12 en Debian
Para empezar, vamos a necesitar algunos paquetes, es decir, fakeroot y kernel-package :
apt-get install fakeroot kernel-package
Ahora, vamos a tomar un último tarball fuente de www.kernel.org o puede utilizar siguiente comando wget para descargarlo.
wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz
Ahora, vamos a descomprimir el archivo.
tar -xvJf linux-3.12.tar.xz
Después, la extracción, se creará un nuevo directorio de fuentes del núcleo.
cd linux-3.12
Ahora, vamos a querer configurar el kernel. Lo mejor es comenzar con una configuración que está utilizando actualmente y trabajar desde allí. Para ello, vamos a copiar la configuración actual de la / boot en el directorio de trabajo actual y guardarlo como . config .
cp /boot/config-`uname –r`.config
a mi esto no me funciono, me funciono :
cp /boot/config-`uname -r`* .config
Para comenzar con la configuración actual, tiene una de dos opciones. Si ha X11 instalado, puede ejecutar make xconfig , y tienen una buena GUI menú para ayudar a usted como a configurar su núcleo . Si está ejecutando en un CLI entorno, puede ejecutar make menuconfig . Usted necesitará el libncurses5-dev paquete instalado para utilizar menuconfig :
apt-get install libncurses5-dev
make menuconfig
Como se puede ver, una vez que esté en la configuración de su elección, que hay un montón de diferentes opciones disponibles para su núcleo . De hecho, hay demasiados para el alcance de este tutorial. Al seleccionar Kernel opciones, la mejor manera es por ensayo y error, y hacer un montón de buscar en Google. Es la mejor manera de aprender. Si usted está simplemente tratando de actualizar el kernel a la versión más reciente, usted no tiene que cambiar nada y puede simplemente seleccionar " Guardar configuración ". Dado que hemos copiado el archivo de configuración del kernel actual para el nuevo kernel . config file.
Tenga en cuenta que " Kernel module loader "está seleccionado en" Loadable module support ". Si no lo es, y está utilizando los módulos del núcleo, que puede meterse en serio las cosas.
Una vez que es recto, es el momento de limpiar el árbol de código fuente.
make-kpkg clean
Por último, es el momento de compilar el núcleo.
export CONCURRENCY_LEVEL=3
fakeroot make-kpkg --append-to-version "-customkernel" --revision "1" --initrd kernel_image kernel_headers
si quieren ponerle nombre a su kernel solo cambien customkernel por lo que quieran Como se puede ver arriba, hemos exportado una variable llamada CONCURRENCY_LEVEL . Una regla del pulgar con esta variable es para establecerlo como el número de núcleos que su equipo tiene + 1 . Por lo tanto, si usted está usando un quad core, lo haría:
export CONCURRENCY_LEVEL=5
Esto acelerará el tiempo de compilación. El resto del comando de compilación es bastante auto-explicativo. Con fakeroot , estamos haciendo paquetes del kernel ( make-kpkg ), añadiendo una serie de nombrar nuestro kernel (" customkernel ", que le da un número de revisión (" 1 " y le estamos diciendo a make-kpkg para crear a la vez un paquete de imagen y un paquete de cabecera . Una vez que la compilación está terminada, y en función del equipo y el número de módulos que se compila, puede tardar bastante tiempo, cambie los directorios a una vuelta desde el directorio fuente de Linux, y usted debería ver dos nuevos * deb. archivos - uno linux-image de archivo y un linux-headers archivo:
Ahora puede instalar estos archivos como lo haría instalar ningún deb *. archivo con comando dpkg .
dpkg -i linux-image-3.12.0-customkernel_1_i386.deb linux-headers-3.12.0-customkernel_1_i386.deb
El nuevo kernel, ya que es un Debian paquete, se actualizará todo lo necesario, incluido el gestor de arranque . Una vez instalado, sólo tiene que reiniciar y seleccionar el nuevo kernel desde el GRUB / LILO menú.
Asegúrese de prestar mucha atención a los mensajes de error durante el proceso de arranque para que pueda solucionar los problemas. Si, por cualquier motivo, el sistema no arranque, siempre se puede recurrir a su último trabajo Kernel y vuelva a intentarlo. El no funcional del núcleo siempre se puede quitar con apt comando.
sudo apt-get remove linux-image-(non-working-kernel)
asi me quedo a mi


