Cómo personalizar tu kernel de Ubuntu
La personalización del kernel no es para todos. Por favor, tenga en cuenta, antes de intentar nada de esto, que puede romper su sistema..
Hay muchas razones por las que querría personalizar su kernel. Es posible que desee reducir su kernel solo a los servicios necesarios, especialmente si está ejecutando un servidor o dispositivo dedicado que solo requiere lo esencial. Es posible que también necesite parchear su kernel para que sea compatible con hardware que actualmente no es compatible con el kernel en el que está ejecutando.
Este artículo no explicará cómo aplicar parches a su kernel, solo cómo personalizar su actual. Tendré otro artículo de seguimiento que explica cómo parchear tu kernel y algunas razones prácticas por las que querrías hacerlo..
Para empezar, necesitamos averiguar qué versión del kernel estamos ejecutando actualmente. Usaremos el comando uname para eso
$ uname -r
2.6.17-10-genérico
Ahora necesitamos instalar la fuente de Linux para su kernel, tenga en cuenta que estoy ejecutando el kernel 2.6.17-10, así que la línea del instalador refleja eso. A los efectos de este artículo, puede sustituir el número de kernel por lo que esté ejecutando. También necesitamos instalar la biblioteca de curses y algunas otras herramientas para ayudarnos a compilar.
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
Si tiene curiosidad por saber dónde se instala la fuente de Linux, puede usar el comando dpkg para informarle los archivos dentro de un paquete. Aquí está la salida en mi sistema:
$ dpkg -L linux-source-2.6.17
/.
/ usr
/ usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ usr / share
/ usr / share / doc
/usr/share/doc/linux-source-2.6.17
(recortado)
Podemos ver que la fuente se ha instalado en el directorio / usr / src en un archivo comprimido.
Para facilitar las cosas, nos pondremos en modo raíz utilizando sudo para abrir un nuevo shell. Hay otras formas de hacer esto, pero yo prefiero esta manera.
sudo / bin / bash
Ahora cambie el directorio a la ubicación de origen para que podamos instalar. Tenga en cuenta que es posible que necesite instalar la utilidad bunzip si no está instalada. (estaba en el mio)
cd / usr / src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Haga una copia de la configuración de su kernel existente para usarla en el proceso de compilación personalizado. Tenga en cuenta que el 'carácter es el que está debajo de la tilde ~
cp / boot / config -uname -r '/usr/src/linux/.config
Ahora lanzaremos la utilidad que nos permitirá personalizar el kernel:
cd / usr / src / linux
hacer menuconfig
Primero, vaya a Cargar un archivo de configuración alternativo y cargue el archivo .config. (solo pulsa enter)
Ahora que estamos dentro de la utilidad, podemos configurar las opciones para nuestro kernel personalizado. La navegación es bastante simple, hay una leyenda en la parte superior si te pierdes. Decidí seleccionar Redes y presionar la tecla Intro para ir a esa categoría.
¿Soporte de radio amateur? ¿Para qué diablos está instalado? Notarás por el * que está integrado en el núcleo.
Al presionar la tecla? Clave, podemos ver la ayuda para ese artículo en particular. Aquí está la explicación:
Bueno, voy a deshabilitar eso inmediatamente. ¿Por qué diablos está eso instalado en mi núcleo de todos modos? Presiono Esc para salir de la pantalla de ayuda, y luego presiono N para excluir eso de mi núcleo.
Cuando haya terminado de tomar las decisiones que desee, presione Salir y guarde la configuración cuando se le solicite.
Ahora tenemos una configuración lista para compilar. Primero haremos una limpieza, solo para asegurarnos de que todo esté listo para la compilación.
make-kpkg limpio
A continuación vamos a compilar el kernel. Esto tomará un TIEMPO LIBRE DE TIEMPO, así que busque algo interesante que hacer.
fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers
Este proceso creará dos archivos .deb en / usr / src que contienen el núcleo. El archivo linux-image **** es la imagen real del kernel, y el otro archivo contiene el archivo Puede instalar ambos con dpkg. Los nombres de archivo probablemente serán diferentes en tu sistema.
Tenga en cuenta que cuando ejecute estos próximos comandos, esto establecerá el nuevo kernel como el nuevo kernel predeterminado. ¡Esto podría romper cosas! Si su máquina no arranca, puede presionar Esc en el menú de carga de GRUB y seleccionar su antiguo kernel. Luego puede deshabilitar el kernel en /boot/grub/menu.lst o intentar compilar nuevamente..
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
Ahora reinicie su máquina. Si todo funciona, deberías estar ejecutando tu nuevo kernel personalizado. Puedes verificar esto usando uname. Tenga en cuenta que el número exacto será diferente en su máquina.
uname -r
2.6.17.14-ubuntu1-custom
Planeo escribir una serie de artículos sobre la personalización del kernel, así que suscribirme a la fuente RSS para actualizaciones.
Además, en aras de la divulgación completa, aprendí cómo hacerlo a través del artículo en HowtoForge, que es un excelente sitio web para algunos tutoriales muy avanzados sobre linux. Notarás que muchos de los pasos en este artículo son similares, aunque intenté hacer este artículo más "Ubuntu".