Previo Siguiente Índice

3. Cómo configurar el núcleo

3.1 Obtención de las fuentes

Se pueden obtener las fuentes por FTP anónimo de ftp.funet.fi, en /pub/OS/Linux/PEOPLE/Linus, en un ``mirror'' 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'. 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:

  EE.UU.:            tsx-11.mit.edu:/pub/linux/sources/system
  EE.UU.:            sunsite.unc.edu:/pub/Linux/kernel
  Inglaterra:        sunsite.doc.ic.ac.uk:/pub/unix/Linux/sunsite.unc-mirror/kernel
  Austria:           fvkma.tu-graz.ac.at:/pub/linux/linus
  Alemania:          ftp.Germany.EU.net:/pub/os/Linux/Local.EUnet/Kernel/Linus
  Alemania:          ftp.dfv.rwth-aachen.de:/pub/linux/kernel
  Francia:           ftp.ibp.fr:/pub/linux/sources/system/patches
  Australia:         kirk.bond.edu.au:/pub/OS/Linux/kernel
  España:            sunsite.rediris.es:/pub/linux/kernel/sources

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

3.2 Descompresión de las 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 solo 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' 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.

Ahora 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 opciones obvias o poco importantes no son descritas aquí. Vea la sección ``Otras opciones de configuración'' 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-Windows.

Soporte de discos IDE y MFM/RLL normales (Normal (MFM/RLL) disk and 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-ROM 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 de 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 el 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 flag -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'.

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. 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.

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

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 ``típicos problemas'' 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-Windows. 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', puesto que hace cosas como manejar diversos protocolos de ratones, etc.

Tarjeta de sonido (Sound card)

Si siente gran necesidad de oir 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 Sound-HOWTO 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 refieren 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.4 ┐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.


Previo Siguiente Índice