[LinuxFocus-icon]
Home  |  Map  |  Index  |  Search

News | Archives | Links | About LF
Este documento está disponible en los siguientes idiomas: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Portugues  Russian  Turkce  Korean  

convert to palmConvert to GutenPalm
or to PalmDoc


by Subhasish Ghosh

About the author:

Mi nombre es Subhasish Ghosh, tengo 20 años, y actualmente vivo en India. Soy estudiante de ingeniería en sistemas informáticos así como un profesional de la informática. Actualmente poseo 6 Certificados Microsoft Certified Professional (MCP), y también un Certificado Microsoft Certified Professional en NT 4.0 Track. He trabajado con Linux durante mucho tiempo, especialmente con Red Hat Linux. Actualmente me estoy preparando para el exámen de Ingeniero Certificado de Red Hat (RHCE) y en el futuro pienso trabajar principalmente sobre Linux.


Content:

 

Compilar, configurar e instalar un Kernel de Linux Personalizado comletamente operativo

[illustration]

Abstract:

Hola a todos, este artículo proporciona una información muy detallada y un proceso paso a paso describiendo cómo compilar, configurar y posteriormente instalar un kernel Red Hat Linux personalizado. Como todos sabemos, un kernel personalizado es necesario por muchas razones, y no me gustaría entrar en esos detalles farragosos. Sólo mostraré cómo compilar, configurar e instalar un Kernel personalizado. Aunque los pasos mencionados más abajo están orientados fundamentalmente a los usuarios de Red Hat Linux, el mismo procedimiento se aplica a los usuarios de otras distribuciones de Linux, aunque naturalmente, con unas pequeñas modificaciones cuando sea necesario.



 

Introducción

Esta es una guía para compilar el Kernel de Linux en 27 pasos. Yo he llevado a cabo todos los pasos comentados más abajo sobre un sistema informático con la siguiente configuración: Compaq Presario 4010 Series, 15.5 GB de espacio en disco duro, 96 MB RAM, procesador Intel Celeron 400 MHz, distribución Red Hat Linux 7.0 con kernel subyacente: 2.2.16-22. Nuestro objetivo debería ser obtener un Kernel Personalizado completamente operativo tras completar los pasos que se detallan posteriormente, por ejemplo, yo tengo un Kernel Personalizado al que he denominado "2.2.16-22ghosh" corriendo en mi sistema (porque mi nombre es Subhasish Ghosh, usted podría tener cualquier otra cosa, de hecho podría tener un par de ellos corriendo simultáneamente). Por lo tanto, feliz compilado de Kernel Linux.

 

Los pasos

Paso 1: Registrarse como "root" y continuar con los soguientes pasos.

Paso 2: En el prompt, teclear: rpm -q kernel-headers kernel-source make dev86

Paso 3: Si estos RPMs ya están instalados, saltar al paso 4. Si no, montar el CD-ROM de Red Hat Linux y ejecutar un rpm -Uvh para instalar estos RPMs

Paso 4: Si tiene un sistema X Window, teclee startx en el prompt. Si no tiene un sistema X Window configurado, le recomendaría personalmente que lo tuviera antes de continuar, ya que sería extremadamente beneficioso. Si el sistema X Window NO está configurado, teclee config o make menuconfig en la línea de comandos. Por favor, tenga en cuenta que he asumido que tiene un sistema X Window corriendo en su sistema, y por esa razón teclee simplemente startx.

Paso 5: Una vez dentro de entorno GNOME, abra el Terminal GNOME y teclee: cd /usr/src/linux y pulse enter.

Paso 6: Desde /usr/src/linux, teclee make xconfig.

Paso 7: La versión GUI de make config aparecerá en la pantalla. Le ofrecerá varias opciones para obtener un Kernel Personalizado.

Paso 8: Ahora, le recomendaría que dejara, por el momento, la mayoría de las opciones tal y como están. La configuración por defecto es bastante pesada. Por otra parte, es probablemente una que funciona en todas las computadoras. Mi recomendación es que primero finalice los pasos para aprender cómo funciona el proceso. Después puede usted familiarizarse con el hardware de su propia computadora y sus características para obtener la suficiente experiencia y poder modelar su kernel para llegar a un pequeño y óptimo kernel. Un buen lugar para aprender más sobre las cosas internas de su PC son los ficheros en /proc como /proc/pci, /proc/interrupts, /proc/modules etc ... Para el propósito de este experimento, simplemente asegurese de realizar los siguiente cambios:

1.Tipo y características del procesador: Elija el procesador correcto dependiendo de si usted está trabajando sobre un Pentium II, III, o un Intel Celeron como yo. Por ejemplo, yo hice lo siguiente: Familia de procesadores: PPro/686MX, Máxima memoria física: 1 GB, Emulación matemática: si, MTRR: si, SMO: si.

2.Abra el diálogo Filesystems y haga los siguientes cambios: Por ejemplo yo hice: soporte fs FAT DOS: si (y), soporte fs MSDOS: si(Y), UMSDOS: m, soporte UFAT(Windows 95): si(y), soporte de sistema de ficheros NTFS(sólo lectura): si(y), soporte de lectura-escritura en NTFS (PELIGROSO): No(n). Tras realizar estos cambios, por favor, asegúrese de que no ha cambiado los otros en el proceso. Todos los cambios mencionados anteriormente son bastante inofensivos y no causarán ningún daño a su Kernel Linux.

3.Salvar y salir del diálogo principal.

Paso 9: Ahora, ejecutar ls -al desce el path: /usr/src/linux.

Paso 10: Estoy seguro de que puede ver un fichero llamado: "Makefile". Es un fichero extremadamente importante para el proceso completo de la compilación. Por lo tanto, asegúrese de que crea un backup de este fichero utilizando: cp Makefile Makefile.bak

Paso 11: Ahora haga: (desde /usr/src/linux) vi Makefile.

Paso 12: Vaya a la línea EXTRAVERSION y cámbiela por algo como esto, por ejemplo yo cambié EXTRAVERSION=-22, por EXTRAVERSION="-22ghosh". Es usted libre de llamarlo de la forma que quiera.

Paso 13: Salvelo y cierre el fichero.

Paso 14: Todos los pasos siguientes deben ejecutarse desde: /usr/src/linux. Teclee: make dep clean, y pulse enter.

Paso 15: Entonces teclee: make bzImage modules. Esto llevará algún tiempo, vaya a tomarse algo mientras compila los ficheros necesarios. Yo normalmente me echo una cabezada durante este tiempo, ya que suelo hacer estas cosas en medio de la noche.

Paso 16: Tras terminar este paso, un fichero "bzImage" se creará en el directorio /usr/src/linux/arch/i386/boot, simplemente vaya a este directorio y compruebe si ha aparecido otro fichero llamado "bzImage" o no. SI Y SOLO SI todos los pasos de la compilación se han ejecutado correctamente y todas las opciones que hemos elegido en make xconfig son correctas, este fichero será creado. Si encuentra usted este fichero, y estoy seguro de que lo hará, bien, ya puede empezar a disfrutar, porque ha ganado el 75% de la batalla. Si usted no puede ver este fichero, lo siento pero ha debido de cometer algún error en algún lugar, tómese un respiro y repita todos los pasos desde el principio. Estoy seguro de que lo conseguirá.

Paso 17: Teclee (desde /usr/src/linux): cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.2.16-22ghosh y pulse enter.

Paso 18: Ahora teclee: cp System.map /boot/System.map-2.2.16-22ghosh
Aunque no es obligatorio, le recomendaría que salvase el fichero de configuración del kernel (/usr/src/linux/.config) para que tenga una referencia para construir más kernels posteriormente sin tener que volver a configurar todo de nuevo. La ventana de configuración gráfica (make xconfig) ofrece la posibilidad de cargar un fichero de configuración. Para salvar el fichero de configuración, teclee:
cp /usr/src/linux/.config /boot/Config-2.2.16-22ghosh

Paso 19: Entonces teclee: make modules_install y pulse enter. Verá que todos los módulos se instalan en un nuevo directorio personalizado.

Paso 20: Ahora teclee: mkinitrd /boot/initrd-2.2.16-22ghosh.img 2.2.16-22ghosh

Paso 21: A continuación teclee: vi /etc/lilo.conf y añada la siguiente entrada:

image=/boot/vmlinuz-2.2.16-22ghosh

label=GhoshKernel
initrd=/boot/initrd-2.2.16-22ghosh.img
root=/dev/hdc5
read-only

Paso 22: Salve y salga. Por favor, tenga en cuenta que puede cambiar las entradas en el fichero lilo.conf como deseee y la raiz debería ser la raiz en su sistema; en mi máquina está en /dev/hdc5. Entonces, inserte la información de su propio sistema. El comando
df | grep '/$'
le dirá dónde está la raiz de su sistema de ficheros. Tenga en cuenta las comillas simplesen la expresión que sigue a grep.

Paso 23: Teclee: /sbin/lilo -v -v

Paso 24: Lea toda la información en la pantalla. Si no ha ocurrido ningún error, bien, ya está todo el trabajo hecho. ¡¡¡¡Felicidades!!!!

Paso 25: Rearranque el sistema tecleando: /sbin/reboot o /sbin/shutdown -r now.

Paso 26: En la pantalla de arranque , pulse Tab (o Control-X, si tiene usted la pantalla de arranque LILO), y podrá ver la entrada:"GhoshKernel" junto con las otras entradas que ya existían.

Paso 27: Teclee: GhoshKernel y pulse enter. El completamente operativo Kernel personalizado se verá arrancar en su sistema. De manera que, ya tiene un Kernel Personalizado completamente operativo trabajando sobre su sistema.

 

El resultado

Observe el proceso de arranque, los mensajes en la pantallas y compruebe si hay errores. Posteriormente, compruebe también los mensajes en el fichero /var/log/boot.log y el comando dmesg. Si no hay errores, bien, el kernel trabaja perfectamente en su hardware. ¡¡Muy bien!!

Tras loguearse de nuevo, teclee:uname -a y pulse enter. Usted puede ver la siguiente entrada en la pantalla: 2.2.16-22ghosh seguido por la fecha de compilación y alguna información más. Esto prueba que está corriendo un Kernel Personalizado. Y esto es todo. Recuerde también que puede tener todas las versiones de Kernel que desee. En caso de que esto no funcione o encuentra problemas, no dude en enviarme un correo electrónico a [email protected] para preguntas y sugerencias. Me gustaría mucho tener noticias suyas y ayudarles, y espero que este artículo ayude a todo el mundo que quiera tener un Kernel Personalizado completamente operativo. Cuídense.
Subhasish Ghosh

 

Talkback form for this article

Every article has its own talkback page. On this page you can submit a comment or look at comments from other readers:
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Subhasish Ghosh, FDL
LinuxFocus.org

Click here to report a fault or send a comment to LinuxFocus
Translation information:
en -> -- Subhasish Ghosh
en -> es Begoña Blanco

2001-07-23, generated by lfparser version 2.17