| Despabilando la MonoNeurona::Internet es de todos [Inicio] [Regresar] |
|
Debian \ Compilando un nuevo kernel Este artículo ha sido consultado en 1,121 ocasiones. Compilar el kernel, a diferencia de lo que mucha gente piensa, es un proceso sencillo que todo linuxero debería de conocer. Para compilar el kernel es necesario descargar las fuentes del kernel, esto, como se supondrá, se hace através de apt-get, como yo uso la version unstable instalaré y compilaré las fuentes del kernel 2.6.9. Las fuentes constan de dos paquetes, las fuentes y los cabezales (headers). Un extra al trabajar con debian es que los cabezales están optimizados según nuestro procesador y posen más parches de seguridad. Para buscar los cabezales que le corresponden teclee: root@Debian# apt-cache search kernel-headers-2.6* Ignore los cabezales que terminen con smp (symmetric multi-processing), pues estos son headers especiales para kerneles que manejaran varios CPUs (clusters). En la lista verá headers para Athlon-k7, AMD64, 686, 386, Intel64. Seguramente usted necesitará los headers i686, que corresponden a los procesadores Intel Celeron Coppermine, Pentium III y posteriores o los K7, que son para procesadores AMD que no son a 64 bits. Los 386 corresponden a equipos Pentium I y viejos sistemas 486. Una vez que haya identificado que headers le corresponden a su procesador obtenga más información con apt-cache show, por ejemplo dado que mi procesador es un AMD Athlon necesitaré los cabezales K-7: root@Debian:# apt-cache show kernel-headers-2.6.9-1-k7 las fuentes (contenidas en el paquete kernel-source-2.6.9) son las mismas para todos los tipos de procesadores, luego entonces debo descargar mis paquetes así: root@Debian:# apt-get install kernel-headers-2.6.9-1-k7 kernel-source-2.6.9 Las fuentes se instalan en el directorio /usr/src. El kernel viene comprimido en formato tar.bz2 así que será necesario descomprimirlo: root@Debian:/usr/src# tar -jxvf kernel-source-2.6.9.tar.bz2 Una vez descomprimido debemos asegurarnos que contamos con los paquetes necesarios para la compilación: root@Debian:# apt-get install gcc libc6-dev make libncurses5-dev tk8.2 kernel-package module-init-tools Los programas a compilar buscan las fuentes del kernel en el directorio /usr/src/linux, para que las fuentes se ubiquen en la ruta debida creamos una liga simbólica: root@Debian# ln -s /usr/src/kernel-source-2.6.9 /usr/src/linux Nos cambiamos al directorio con las fuentes y limpiamos la memoria del compilador: root@Debian# cd /usr/src/linux && make clean Después indicamos el lugar donde se encuentran las fuentes: root@Debian# make mrproper Ahora pasamos a la parte interesante de la compilación, la selección de nuestras opciones de kernel, tenemos tres métodos, config, menuconfig y xconfig. La opción config nos hace una pregunta a la vez en cada opción del kernel, podemos seleccionar si (*), no ( ) y módulo (m), esta última opción se usa para manejar las capacidades del kernel como unidades que se pueden incrustar y retirar del kernel según lo necesitemos, en general es recomendable seleccionar cada opción cómo módulo siempre que nos sea posible pues así podemos lograr un kernel más esbelto. El método config es muy engorroso, tiene la enorme desventaja de que si por una distracción nos equivocamos, no es posible rectificar y debemos iniciar de nuevo. config es opción que nadie usa pero que los primerizos deberían recorrer varias veces para conocer las opciones del kernel a detalle. La opción menuconfig nos presenta las opciones en una ventana textual, es bastante más cómoda que config y presenta la gran ventaja de que podemos salvar nuestras opciones en un archivo para no seleccionar todo de nuevo cada vez que necesitamos agregar o retirar una opción al kernel. Por último, la opción xconfig es la más agradable de todas pues nos permite configurar a través del ratón, posee el incoveniente de depender del ambiente X para poder funcionar lo cual lo hace poco práctico.
Entonces tecleamos: root@Debian# make menuconfig una vez que hemos seleccionado nuestras opciones es tiempo de la compilación e instalación de nuestro nuevo kernel: root@Debian# make-kpkg --revision=custom.MANUELITO2004 kernel_image Puede cambiar la parte "MANUELITO2004", que es mi versión del kernel, sin embargo, esta parte debe ser una mezcla de números y letras como "gasparin666". Aquí podemos ir por una taza de café pues se tarda alrededor de veinte minutos. Si todo resulto bien obtendremos un paquete deb en /usr/src. Sólo basta instalarlo: root@Debian#dpkg -i ../kernel-image-*.deb El paquete intentará actualizar LILO o GRUB para agregar nuestro kernel. Es muy importante no eliminar las entradas del antiguo kernel de lilo pues este nos servirá como tabla de rescate en caso de que algo salga mal. ¡Ahora es tiempo de rebootear con nuestro nuevo kernel! ¿cómo instalo un módulo? Los módulos se encuentran en el directorio /lib/modules/version-del-kernel. Para agregar un modulo usamos el comando insmod (insert module): #insmod nombre_modulo Para conocer los módulos que ya están agregados al kernel usamos el comando lsmod. Por último, para retirar un módulo usamos el comando rmmod: root@Debian #rmmod nombre_modulo Debian posee una útil herramienta para insertar y retirar módulos, modconf, para instalarlo en nuestro sistema tecleamos: root@Debian #apt-get install modconf
Última actualización: 2007-04-29 10:56:59-05 |
| Este trabajo está licenciado bajo la MonoNeurona Commons License. 2002-2008 © :: Colectivo MonoNeurona.org :: |