Logo de AulaDigital

Kernel Como 3

Kernel-Como: Cómo configurar el núcleo. Anterior Siguiente Indice

3. Cómo configurar el núcleo.

3.1 Obtención de los fuentes.

Se pueden obtener las fuentes por FTP anónimo de ftp://ftp.funet.fi/pub/OS/Linux/PEOPLE/Linus/, en un ``mirror'' En España contamos con el veloz y magnífico ftp://sunsite.rediris.es o en otros servidores. Típicamente tienen el nombre linux-x.y.z.tar.gz, donde x.y.z es el número de versión. Las versiones se encuentran en directorios v1.1, v1.2 y v1.3 Y 2.0 y 2.1 . El número mayor es el de la última versión, en este caso versión de desarrollo. Le sugerimos que utilice un servidor ``mirror'' de ftp.funet.fi, por ejemplo:

Si no tiene acceso FTP, encontrará una lista de BBS con lo mismo en el grupo comp.os.linux.announce de USENET News.

3.2 Descompresión de los fuentes

Entre en la cuenta root y vaya al directorio /usr/src. Si instaló las fuentes cuando instaló Linux, habrá aquí un directorio linux, con las fuentes antiguas. Si quiere preservar esas fuentes (y tiene espacio de sobra), renombre (con mv) ese directorio a linux-x.y.z (la versión actual x.y.z la puede obtener con el comando uname -r). Es importante que antes de descomprimir las nuevas fuentes no haya ningún directorio /usr/src/linux.

Ahora, en /usr/src, descomprima las fuentes con

tar xvfzp linux-x.y.z.tar.gz 

(si sólo tiene un fichero .tar, sin .gz, elimine la z del comando tar). Los contenidos del fichero se expandirán en /usr/src/linux. Vaya ahora a ese directorio y lea el fichero README. Encontrará una sección ``INSTALLING the kernel''. Siga las instrucciones que allí se digan (aunque en las siguientes líneas le diremos cómo tiene que hacer casi todo esto).

3.3 Configuración del núcleo

Nota: Este texto es parcialmente una repetición de lo que hay en el fichero README de las fuentes.

El comando

make config 

invocado en el directorio /usr/src/linux inicia un programa shell-script de configuración que le preguntará bastantes cosas. Requiere que esté instalado bash, con lo que debe existir /bin/bash, /bin/sh o la variable $BASH.

Anexo de la revisión 2.1.

Si los fuentes que posee son superiores al 2.0.x, existen dos métodos bastante más agradables e interactivos de llevar a cabo la configuración; invocando desde modo texto, en el mismo directorio mencionado anteriormente

make menuconfig

Iniciará un colorido programa (escrito con lxdialog) muy agradable y bastante más funcional que el make config a secas, para llevar a cabo la configuración del kernel.

Observará que su uso es bastante intuitivo; las opciones con un < > indican la posibilidad de modularizar; si en ella presionamos M la seleccionaremos como módulo. Si presionamos ESPACIO aparecerá un * indicando que será incluido en el kernel. Finalmente, si presionamos N lo deseleccionaremos.

Las opciones marcadas con [ ] no son modularizables.

Si Vd. es un fan de las X, entonces puede arrancar desde un xterm el script equivalente, ejecutando

make xconfig

Aparecerá ante sus ojos un maravilloso y gráfico programa de selección y configuración del kernel bajo X Window ;-).

Aquí seguro que sabrá manejarse a golpe de ratón sin problema alguno; las opciones modularizables tendrán tres casillas posibles a rellenar: y indica que se incluirá en la parte monolítica del kernel; m que lo hará como módulo, y n que no será seleccionado.

3.4 Continuación

Ahora Lo que sigue está dirigido a los usuarios (¿masoquistas? del make config, si emplea make menuconfig o make xconfig encontrará mucho más intuitiva la configuración, si bien debe leer a continuación qué significan las opciones. se trata de contestar las preguntas, normalmente con sí (`y') o no (`n'). Los manejadores de dispositivos incorporan, además, la opción de módulo (`m'), opción interesante puesto que no incorpora el manejador al núcleo en tiempo de compilación, sino que se hace durante la ejecución del mismo, cuando sea necesario (por ejemplo, cargar el módulo PPP solo cuando vayamos a usar el módem).

Algunas otras opciones obvias o poco importantes no son descritas aquí. Vea la sección otras para descripciones de otras muchas.

Además, cuando configure el núcleo 2.0.x, podrá poner la opción `?', lo que le dará una breve descripción de la misma.

Emulación de coprocesador (Kernel math emulation)

Si no tiene coprocesador matemático (o un 486), debe contestar `y' a esto. Si tiene coprocesador y contesta `y' la emulación será instalada pero no usada; funcionará, pero le ocupará memoria innecesariamente. Además, he oído que la emulación es lenta, lo que se traducirá en unas pesadas X-Window.

Soporte de discos IDE y MFM/RLL normales (Normal (MFM/RLL) diskand IDE disk/cdrom support)

Normalmente necesitará este soporte, pues es el de los discos habituales en los PCs. Este manejador no gestiona discos SCSI, para eso está la opción específica que luego veremos.

Ahora se le preguntará si quiere usar ``old disk-only'' y manejadores ``new IDE''. Tiene que elegir uno de ellos. La diferencia principal es que el nuevo (new IDE) maneja controladoras secundarias y CD-ROMs IDE/ATAPI, hasta cuatro dispositivos, pero ocupa 4 KB más que el antiguo. Se supone que los nuevos manejadores mejoran también velocidad y fiabilidad, en especial si dispone de dispositivos EIDE.

Soporte de redes (Networking support)

En principio, contestaría afirmativamente si la máquina estuviera en una red local o conectada a la Internet con SLIP/PPP. Sin embargo, muchos programas, como ocurre con el sistema X Window, requieren el soporte de red, así que lo mejor es contestar `y' siempre. Después se le preguntará si quiere soporte TCP/IP: conteste afirmativamente aun no estando seguro.

Limitar memoria a 16 Mb (Limit memory to low 16MB)

Hay controladores de DMA en 386 con problemas para direccionar más de 16 MB de RAM. Contestar `y' en el caso (raro) de que tenga uno de éstos.

Comunicación entre procesos System V (System V IPC)

Una de las mejores definiciones del IPC está en el glosario del libro del Perl. Curiosamente, los programadores de Perl suelen usar IPC para comunicar sus procesos, así como muchas otras aplicaciones (como DOOM, sobre todo), por lo que no es buena idea contestar `n' si no se está seguro de lo que hace.

Tipo de CPU (386, 486, Pentium, PPro) (Processor type (386,486, Pentium, PPro) )

Nota: En anteriores núcleos, la opción era "Usar el parámetro -m486 en el compilador" (Use -m486 flag for 486-specific optimizations)

Tradicionalmente, esto era una optimización compatible con todos los chips, aunque más rápido en la CPU elegida (y en todo caso, ocupaba algo más). Actualmente, esto puede no ser cierto, con lo que deberá elegir siempre la CPU que tenga (aunque la versión de 386 funcionará en todas las máquinas).

Soporte SCSI (SCSI support)

Si tiene dispositivos SCSI, conteste `y'. Se le preguntarán entonces más cosas: soporte de CD-ROM, discos y qué clase de adaptador utiliza. Vea el documento SCSI-HOWTO para más detalle.

Soportes de tarjetas de red (Network device support)

Si tiene tarjeta de red, o quiere usar PPP, SLIP o PLIP (puerto paralelo usado para conectarse a Internet), conteste afirmativamente. El script le preguntará ahora qué tarjeta tiene y qué protocolo usar.

Sistemas de ficheros (Filesystems)

El programa le preguntará si quiere soporte para los siguientes sistemas de ficheros:

Standard (minix) - Las nuevas distribuciones no crean sistemas Minix, y mucha gente no las usa para nada, pero puede convenir elegirla. Algunos ``discos de rescate'' usan el sistema Minix como formato de sus disquetes, ya que da menos problemas.

Extended fs - Fue la primera versión del sistema extendido, pero ya no se usa. No necesita seleccionarla.

Second extended - Este es el sistema más usado. Seguramente lo usará Vd. también. Seleccione `y'. Ojo con seleccionarlo como módulo; aunque se puede, el sistema de ficheros en el que esté su partición / debe estar incluido el el kernel no-modularmente, ya que de lo contrario no podrá arrancar.

xiafs filesystem - Hace mucho pudo ser usado, pero ahora mismo no conocemos a nadie que lo utilice.

msdos - Selecciónelo si quiere acceder desde Linux a sus particiones de MS-DOS o quiere montar disquetes de ese sistema.

umsdos - Este sistema permite añadir a un sistema MS-DOS las características típicas de Unix como nombres largos o enlaces. Sirve para quienes quieran instalar Linux en la partición DOS, pero nada más.

/proc - Uno de los grandes inventos desde la leche condensada. (una idea robada descaradamente a Bell Labs, si no me equivoco) No se trata de algo que se guarde en el disco, sino de una interfaz por medio de ficheros con la tabla de procesos del núcleo, usada por programas como `ps'. Pruebe a teclear `cat /proc/meminfo' o `cat /proc/devices'. Algunos shells (rc, concretamente) hacen uso de /proc/self/fd (en lugar de /dev/fd) para E/S. Debe contestar afirmativamente a la pregunta: muchas utilidades de Linux lo necesitan.

NFS - Si su máquina está en red y quiere acceder a sistemas de ficheros remotos con NFS, conteste `y' a esta pregunta.

ISO9660 - Típico en los CD-ROMs. Si tiene un CD-ROM, seleccione esta opción.

OS/2 HPFS - En el momento de escribir esto, el soporte HPFS es de sólo lectura. Y por lo que se ``oye'', así se quedará...

System V and Coherent - para particiones de sistemas Coherent y System V (otras variantes de Unix para PC).

Adiciones desde la edición del Howto original (Rev. 2.1):

quota support - Selecciónelo si quiere administrar el espacio que consumen en disco los usuarios del sistema; necesitará además las utilidades quotas-1.55, disponibles en:

ftp://ftp.funet.fi/pub/Linux/kernel/src/subsystems/quota/all.tar.gz

Tenga en cuenta que este tipo de control restrictivo sólo funcionará sobre sistemas de ficheros ext2.

mandatory lock support: Cambia el algoritmo para proporcionar un sistema de bloqueos más seguro, a fin de evitar la corrupción de ficheros por parte de las aplicaciones en los accesos a disco simultáneo. Esto puede interesar probable y únicamente cuando se usen grandes bases de datos o dedique su sistema Linux a servidor de ficheros. Tenga en cuenta que deberá tener servidores (samba, mars-nwe, etc...) que soporten esta nueva característica.

vfat. En conjunción con el sistema de fichero fat o msdos nos permitirá acceso a las particiones de w95, con soporte de nombres ``largos'' y demás. En el momento de escribir esto, se desconoce si soportará la ``nueva'' fat32 del recién aparecido w95-OSR2.

SMB filesystem support: En conjunción con el paquete samba Cuyo COMO está disponible en castellano, mire en la sección Grupos para más información. nos permitirá montar volúmenes compartidos por clientes de red NetBios.

SMB w95 bug workaround - :-) qué decir... corrije un bug que experimentan los volúmenes exportados por servidores w95.

Amiga FFS support - Soporte para el sistema de ficheros Fast File System de Amiga.

UFS filesystem support - Soporte para el Unix FileSystem, empleado por algunos *nixes BSD, como SunOS, FreeBSD, NetBSD, NeXTstep. Permite montar dichas particiones o disquetes en modo de sólo lectura.

Esta opción contiene otras dos opciones adicionales relacionadas con las tablas de partición de los discos según provengan de uno u otro *nix. Escoja el menú en línea help para mayor información.

NCP filesystem support - Permite montar volúmenes NetWare. Necesitará programas cliente para llevarlo a cabo, no obstante.

root filesystem on NFS - necesario para estaciones de trabajo sin disco duro, que arranquen por red y monten todo su sistema de ficheros por NFS.

BOOTP support - Si su caso es el anterior, y arranca por red, este protocolo le permitirá obtener su IP dinámicamente, usando el protocolo BOOTP. (Siempre que su tarjeta de red incorpore una ROM que lo permita).

RARP support - Idem de lo anterior, en este caso usando el protocolo RARP.

Sys V and Coherent filesystem support permitirá montar particiones de otros *nixes System V, como SCO Unix, Xenix y Coherent. Lea la ayuda asociada.

Actualmente, hay un módulo no oficial que permite acceso a sistemas de ficheros NTFS, usados por wNT, su autor es Martin von Löwis, loewis@informatik.hu-berlin.de. Su nivel de soporte es ciertamente rudimentario todavía, pero siempre es bueno saberlo...

más información en http://www.informatik.hu-berlin.de:80/~loewis/ntfs

¡Pero no sé qué sistemas de ficheros necesito!

De acuerdo, teclee `mount'. La salida será como esta:

 blah# mount
 /dev/hda1 on / type ext2 (defaults)
 /dev/hda3 on /usr type ext2 (defaults)
 none on /proc type proc (defaults)
 /dev/fd0 on /mnt type msdos (defaults)

Observe cada línea; la palabra que sigue a `type' es el tipo de sistema usado. En este ejemplo, los sistemas raíz (/) y /usr usan el sistema ``second extended'', además usamos sistema ``proc'' y hay montado un disquete MS-DOS.

Para saber qué sistemas de ficheros usa en el núcleo actual puede teclear `cat /proc/filesystems' siempre y cuando tenga al menos soporte proc.

Otros sistemas de ficheros más raramente usados ocupan también mucho. Quizás le interese meterlos como módulos (vea la correspondiente sección, y vea también la sección lentos para saber por qué no se recomiendan núcleos que ocupen mucho).

Manejadores de tipo carácter (Character devices)

Aquí se activan los manejadores para impresoras (por puerto paralelo), ratones de bus, ratones PS/2 (usado también en muchos trackballs de los portátiles), algunos manejadores de cintas y otros. Conteste según su hardware.

Nota: ``Selection'' es un programa que le permite usar el ratón para cortar y pegar texto entre consolas virtuales, fuera de las X-Window. Actualmente no es una opción de configuración, sino un estándar.

Nota 2: `Selection' está bastante obsoleto. Es mucho mejor el programa ``gpm'' General Purpose Mouse support, Soporte Genérico para Ratones puesto que hace cosas como manejar diversos protocolos de ratones, etc.

Tarjeta de sonido (Sound card)

Si siente gran necesidad de oír el ladrido del `biff', conteste `y' y después otro programa de configuración le preguntará acerca de la tarjeta de sonido que tiene. Una observación: cuando le pregunte si quiere instalar la versión completa del manejador, conteste `n' y ahorrará memoria, aunque tendrá que elegir qué características desea incluir. Le recomiendo aquí que lea el Sonido-Como Disponible en castellano, obviamente donde encontrará mucha más información.

Otras opciones de configuración

No todas las opciones se han listado ya que cambian mucho y otras son completamente evidentes (por ejemplo, el soporte 3Com 3C509). Hay una lista más extensa en el siguiente URL de Axel Boldt, axel@uni-paderborn.de:

http://math-www.uni-paderborn.de/~axel/config_help.html

o por FTP anónimo en:

ftp://sunsite.unc.edu/pub/Linux/kernel/config/krnl_cnfg_hlp.x.yz.tgz

donde x.yz se refiere a la versión del núcleo. En las últimas versiones (2.0.x) se incluyen estos documentos entre los ficheros de las fuentes del núcleo (directorio Documentation/...).

Kernel hacking

Traducción del fichero README de Linus:

La configuración ``kernel hacking'' suele dar lugar a un núcleo más grande y/o lento, y puede hacerlo menos estable al configurar algunas rutinas especiales para encontrar errores del núcleo (kmalloc()). Para un núcleo de ``producción'' deberá contestar `n' a la pregunta.

3.5 ¿Y ahora qué? (El fichero Makefile).

Tras hacer make config, un mensaje le dirá que ya está preparado el núcleo y que ``revise el fichero Makefile para opciones adicionales'', etc.

Por tanto, veamos el Makefile. Probablemente no tendrá que cambiar nada, pero debe mirarse. Sus opciones podrán cambiarse con el comando `rdev' una vez que el núcleo esté compilado.


Anterior Siguiente Indice