Kernel-Como
Brian Ward,
[email protected]
Traducci�n de Juan Jos� Amor,
[email protected]
Revisi�n 2.1, 22 de Diciembre de 1996
Lo que sigue es una gu�a detallada de la configuraci�n del n�cleo,
cubriendo detalles de compilaci�n y de actualizaciones. El traductor
ha intentado respetar el documento original, aunque no ha podido evi�
tar a�adir cosas de su propia cosecha, sobre todo en lo que respecta a
opciones a�n no documentadas.
______________________________________________________________________
�ndice General:
1. Introducci�n
1.1. �Lea esto primero!
1.2. Sobre el estilo
2. Preguntas y respuestas importantes
2.1. Pero, �qu� hace el n�cleo?
2.2. �Por qu� puedo necesitar actualizar el n�cleo?
2.3. �Qu� hardware nuevo soportan los nuevos n�cleos?
2.3.1. Anexo de la revisi�n.
2.4. �Qu� versi�n de gcc y libc necesito?
2.5. �Qu� es un m�dulo cargable?
2.6. �Cu�nto espacio en disco necesito?
2.7. �Cu�nto se tarda en compilar?
3. C�mo configurar el n�cleo.
3.1. Obtenci�n de los fuentes.
3.2. Descompresi�n de los fuentes
3.3. Configuraci�n del n�cleo
3.3.1. Anexo de la revisi�n 2.1.
3.4. Continuaci�n
3.4.1. Emulaci�n de coprocesador ( Kernel math emulation )
3.4.2. Soporte de discos IDE y MFM/RLL normales ( Normal (MFM/RLL)
disk and IDE disk/cdrom support )
3.4.3. Soporte de redes ( Networking support )
3.4.4. Limitar memoria a 16 Mb ( Limit memory to low 16MB )
3.4.5. Comunicaci�n entre procesos System V ( System V IPC )
3.4.6. Tipo de CPU (386, 486, Pentium, PPro) ( Processor type (386,
486, Pentium, PPro ) )
3.4.7. Soporte SCSI ( SCSI support )
3.4.8. Soportes de tarjetas de red ( Network device support )
3.4.9. Sistemas de ficheros ( Filesystems )
3.4.9.1. �Pero no s� qu� sistemas de ficheros necesito!
3.4.10. Manejadores de tipo car�cter ( Character devices )
3.4.11. Tarjeta de sonido ( Sound card )
3.4.12. Otras opciones de configuraci�n
3.4.13. Kernel hacking
3.5. �Y ahora qu�? (El fichero Makefile ).
4. Compilaci�n del n�cleo
4.1. Limpieza y dependencias
4.2. El momento de compilar
4.3. Otras opciones del ` make '
4.4. Instalaci�n del n�cleo
5. Parchear el n�cleo
5.1. Aplicaci�n de un parche
5.2. Si algo va mal
5.3. Limpieza de ficheros .orig
5.4. Otros parches
6. Paquetes adicionales
6.1. kbd
6.2. util-linux
6.3. hdparm
7. Problemas t�picos
7.1. make clean
7.2. N�cleos muy lentos o muy grandes
7.3. El n�cleo no compila
7.4. El nuevo n�cleo no parece arrancar
7.5. Se olvid� ejecutar LILO , y el sistema ya no arranca
7.6. Mensaje de aviso: ` warning: bdflush not running '
7.7. Salen mensajes sobre s�mbolos no definidos, y no compila
7.8. No consigo que me detecte mi CD-ROM IDE/ATAPI
7.9. Salen mensajes sobre cosas de encaminamiento obsoletas
7.10. La funci�n de cortafuegos no funciona en el n�cleo 1.2.0
7.11. Mensaje: `` Not a compressed kernel Image file ''
7.12. Hay problemas con la consola al pasarse a la 1.3.x
7.13. Algunas cosas no compilan despu�s de la actualizaci�n
8. Notas sobre la actualizaci�n a la versi�n 2.0.x
9. M�dulos
9.1. Instalaci�n de las utilidades asociadas
9.2. M�dulos distribuidos con el n�cleo 1.2.2
10. Otras opciones de configuraci�n.
10.1. Opciones generales
10.2. Opciones de red
11. Consejos y trucos
11.1. Redirecci�n de la salida de compilaci�n o parcheado.
11.2. Instalaci�n condicional del n�cleo
11.3. Actualizaciones del n�cleo
12. Otros documentos COMO que pueden serle �tiles
13. Miscel�nea
13.1. El autor
13.2. Pendiente de hacer
13.3. Colaboraciones
13.4. Notas sobre el Copyright, Licencia y Todo Eso
14. Anexo: El INSFLUG
______________________________________________________________________
1. Introducci�n
Esta es la versi�n 0.75 del documento ``Kernel-HOWTO'' original. La de
la traducci�n es la 2.1 �Debe Vd. leer este documento? Bien, veamos si
tiene alguno de los siguientes s�ntomas:
� ``�Jo! El dosemu-0.99.9 requiere el n�cleo 1.8.193 y yo estoy a�n
con el 1.2.3''
� Hay un manejador (driver) que s�lo est� en los n�cleos m�s
recientes y Vd. lo necesita.
� Vd. realmente no tiene ni idea de c�mo se compila el n�cleo.
� Vd. lo ha intentado pero no le ha funcionado.
1.1. �Lea esto primero!
Algunos de los ejemplos aqu� puestos suponen que se tiene el tar de
GNU, as� como find y xargs. Son casi est�ndares, pero por si acaso...
Tambi�n se asume que conoce la organizaci�n del sistema de ficheros;
si no lo conoce, copie la salida del comando mount en condiciones
normales (o el fichero /etc/fstab si puede acceder a �l). Esta
informaci�n es importante, y no cambiar� a menos que reparticione el
disco, a�ada uno nuevo, reinstale el sistema o similar.
La �ltima versi�n de producci�n del n�cleo que se conoce ahora mismo
es la 2.0.10 (-- 2.0.27 es la �ltima versi�n estable al d�a de hoy, 22
de Diciembre de 1996.--) , de manera que nuestros ejemplos ir�n para
esa versi�n.
Se intenta que tampoco dependa mucho de esto, pero si Vd. usa una
versi�n distinta habr� siempre algunas diferencias, ya que el n�cleo
est� en continuo desarrollo. Esto no debe crear problemas, si acaso un
ligero despiste al principio.
Hay dos versiones de las fuentes del n�cleo de Linux: las de
producci�n y las de desarrollo. Las versiones de producci�n empezaron
a numerarse en la 1.0.x y siempre se nombran con n�mero par. As�, se
pas� de las 1.0.x a las 1.2.x y de �sta a la 2.0.x (por no ir a la
1.4.x ;) ).
Estas versiones se consideran estables y libres de errores (hasta el
momento). Las versiones de desarrollo se numeran en impar (1.1.x,
1.3.x, 2.1.x...) y son de prueba, con lo que posiblemente tengan
muchos fallos.
1.2. Sobre el estilo
El texto con el aspecto de esta frase se corresponder� con las cosas
que deban aparecer en la pantalla, un fichero o algo que pueda ser
tecleado como opciones de comandos (si est� utilizando la versi�n
ASCII de este documento, no ver� diferencia alguna). Los comandos son
entrecomillados (con ` ') lo que causa un problema con la puntuaci�n:
al acabar frases con un comando, el estilo americano pone el punto
dentro de las comillas, lo que confundir� a alg�n lector creyendo que
hay que teclear tambi�n el punto (algo de sentido com�n, aunque en
realidad pretenden que el ``sentido com�n'' sea solo el estilo
americano de puntuaci�n). Esto se soluciona no poniendo tal punto,
aunque no sea correcto ortogr�ficamente. Por ejemplo, pondremos `make
config' y no `make config.'
2. Preguntas y respuestas importantes
2.1. Pero, �qu� hace el n�cleo?
El n�cleo de Unix act�a como intermediario entre sus programas y el
ordenador. En primer lugar, gestiona la memoria de todos los programas
o procesos, y se asegura de que se reparten los ciclos del procesador.
Adem�s, proporciona una interfaz portable para que los programas
hablen f�cilmente con su hardware.
Realmente, el n�cleo hace m�s cosas, pero las anteriores son las m�s
importantes.
2.2. �Por qu� puedo necesitar actualizar el n�cleo?
Los n�cleos nuevos normalmente ofrecen la posibilidad de entenderse
con m�s accesorios hardware (o sea, incluyen m�s manejadores), se
ejecutan m�s r�pidamente, son m�s estables o corrigen errores de otras
versiones. Mucha gente se actualiza el n�cleo para poder usar nuevos
manejadores que necesitan o librarse de ``bugs'' de la versi�n que
usaban.
2.3. �Qu� hardware nuevo soportan los nuevos n�cleos?
V�anse el documento Hardware-HOWTO, el fichero config.in de las
fuentes o simplemente ver� lo que hay cuando haga `make config'. Esto
le mostrar� lo soportado por la distribuci�n est�ndar, pero no todo,
pues algunos son m�dulos cargables en ejecuci�n (como manejadores de
PCMCIA) y se mantienen y distribuyen por v�as distintas.
2.3.1. Anexo de la revisi�n.
Actualmente, muy pocos m�dulos (los no-oficiales) no est�n incluidos
en los fuentes oficiales del kernel. Pr�cticamente, todos los
controladores son modularizables.
He aqu� un extracto de lo que aparece en
/usr/src/linux/Documentation/modules.txt, algo que se debe leer: (--
Hoy mismo se liberar� una traducci�n. --) :
La mayoria de los sistemas de ficheros:
minix, xiafs, msdos, umsdos, sysv, isofs, hpfs, smbfs, nfs.
Soporte SCSI de medio nivel (requeridos por controladores SCSI de
alto y bajo nivel)
La mayoria de los controladores SCSI de bajo nivel: (i.e. aha1542, in2000)
Todos los controladores SCSI de alto nivel: disk, tape, cdrom, generic.
La mayoria de los controladores ethernet: (demasiados para enumerarlos todos, ver:
/usr/src/linux/Documentation/networking/net-modules.txt)
La mayoria de los controladores de CDROM (propietarios):
aztcd: Aztech,Orchid,Okano,Wearnes
cm206: Philips/LMS CM206
gscd: Goldstar GCDR-420
mcd, mcdx: Mitsumi LU005, FX001
optcd: Optics Storage Dolphin 8000AT
sjcd: Sanyo CDR-H94A
sbpcd: Matsushita/Panasonic CR52x, CR56x, CD200,
Longshine LCS-7260, TEAC CD-55A
sonycd535: Sony CDU-531/535, CDU-510/515
Y un monton de modulos, como:
lp: impresora p. paralelo
binfmt_elf: cargador elf
binfmt_java: cargador java
isp16: interfaz cdrom
serial: interfaz serial (tty)
2.4. �Qu� versi�n de gcc y libc necesito?
Linus recomienda una en el fichero README de las fuentes del n�cleo.
Si no la tiene, probablemente tenga que actualizarse las librer�as
libc, algo que tampoco es dif�cil.
2.5. �Qu� es un m�dulo cargable?
Hay partes del c�digo del n�cleo que no se enlazan directamente en el
n�cleo. Se compilan por separado y luego se incorporan al n�cleo que
ya est� corriendo. Es la forma preferida de usar algunos manejadores
como los de dispositivos PCMCIA o de cintas QIC-80/40 (-- Hoy en d�a
la tendencia es modulizar todos los controladores posibles, salvo
aquellos estrictamente necesarios para arrancar (ext2, ide, o SCSI,
seg�n el caso), aunque siempre se puede hacer una imagen initrd y se
sigue pudiendo arrancar con LILO. kerneld se encargar� de cargarlos y
descargarlos por nosotros cuando el sistema los necesite o no. --) .
2.6. �Cu�nto espacio en disco necesito?
Depende de su configuraci�n. La versi�n 2.0.10 del n�cleo ocupa,
comprimida, 6 megabytes, pero al descomprimir ocupar� unos 24 MB.
Pero aqu� no acaba la cosa: para compilar se necesita espacio para
ficheros temporales, dependiendo de la configuraci�n que se elija. Por
ejemplo, en un 386, con manejador de red de 3Com y cinco sistemas de
ficheros supone 30 MB. Si a esto a�adimos las fuentes comprimidas,
ser�n 36 MB. En otro sistema con menos cosas puede ocupar menos.
Adem�s, un n�cleo nuevo tendr� por lo general muchos m�s ficheros que
el antiguo, con lo que debe asegurarse de que hay espacio de disco
suficiente (adem�s, con los precios que tienen ahora los discos, me
puedo permitir el recomendarle que se compre un disco nuevo para el
Linux).
2.7. �Cu�nto se tarda en compilar?
Para mucha gente, se tarda ``much�simo''. La velocidad del sistema y
la cantidad de memoria son determinantes. En un 486DX4/100 con 16 MB,
se tarda unos 20 minutos en compilar el n�cleo v1.2 con cinco sistemas
de ficheros, soporte de red y manejadores de tarjetas de sonido. En un
386DX/40 con 8 MB de RAM se tarda una hora y media. Por lo general se
recomienda prepararse un caf� o ver la televisi�n (o lo que se le
ocurra (-- O ponerse a hacer cualquier cosa; para eso estamos en
multitarea :-) --) ) mientras se compila el n�cleo. Otra posibilidad
es compilarlo en un PC m�s r�pido que el suyo, de alg�n amigo.
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:
� EE.UU.:
ftp://tsx-11.mit.edu/pub/linux/sources/system
� EE.UU.:
ftp://sunsite.unc.edu/pub/Linux/kernel
� Inglaterra:
ftp://sunsite.doc.ic.ac.uk/pub/unix/Linux/sunsite.unc-
mirror/kernel/
� Austria:
ftp://fvkma.tu-graz.ac.at/pub/linux/linus
� Alemania:
ftp://ftp.Germany.EU.net/pub/os/Linux/Local.EUnet/Kernel/Linus
� Alemania:
ftp://ftp.dfv.rwth-aachen.de/pub/linux/kernel
� Francia:
ftp://ftp.ibp.fr/pub/linux/sources/system/patches
� Australia: tp://kirk.bond.edu.au/pub/OS/Linux/kernel
� Espa�a:
ftp://sunsite.rediris.es/pub/linux/kernel/sources
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.
3.3.1. 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 ``'' 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.
3.4.1. 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.
3.4.2. and IDE disk/cdrom support ) Soporte de discos IDE y MFM/RLL
normales ( Normal (MFM/RLL) disk
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.
3.4.3. 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.
3.4.4. 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.
3.4.5. 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.
3.4.6. 486, Pentium, PPro ) ) Tipo de CPU (386, 486, Pentium, PPro) (
Processor type (386,
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).
3.4.7. 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.
3.4.8. 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.
3.4.9. 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 ``'' 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,
[email protected]. 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
3.4.9.1. �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 ``'' para saber por qu� no se
recomiendan n�cleos que ocupen mucho).
3.4.10. 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.
3.4.11. 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.
3.4.12. 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/...).
3.4.13. 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.
4. Compilaci�n del n�cleo
4.1. Limpieza y dependencias
Cuando se termina de configurar, se le instar� a ejecutar `make dep' y
`clean'. Haga `make dep', lo que preparar� las dependencias en poco
tiempo, a menos que su PC sea muy lento. Cuando acabe, haga `make
clean'. Esto elimina ficheros objetos y dem�s de la versi�n anterior.
No olvidar este paso.
4.2. El momento de compilar
Despu�s de preparar dependencias, puede ejecutar `make zImage' o `make
zdisk' (esta es la parte que tarda m�s tiempo). `make zImage'
compilar� el n�cleo y lo dejar� comprimido en arch/i386/boot/zImage
junto a otros ficheros. Con `make zdisk' el nuevo n�cleo se copiar�
adem�s en el disquete que est� puesto en la disquetera ``A:''.
`zdisk' es interesante para probar n�cleos; si explota (o simplemente
no hace nada) se quita el disquete de la disquetera y podr� arrancar
el n�cleo antiguo. Adem�s sirve para arrancar si borr� accidentalmente
el n�cleo del disco duro. Tambi�n puede usarlo para instalar nuevos
sistemas simplemente volcando el contenido de un disco en otro (``��
todo esto y m�s !! Ahora, �cu�nto pagar�a?'').
Los n�cleos recientes est�n comprimidos, con una `z' comenzando su
nombre. Un n�cleo comprimido se descomprime autom�ticamente al ser
ejecutado.
4.3. Otras opciones del ` make '
Con `make mrproper' har� una limpieza mucho m�s ``intensa''. Suele
hacer falta cuando se actualiza (parchea) el n�cleo. Pero esta opci�n
borra tambi�n su fichero de configuraci�n del n�cleo, as� que guarde
una copia del correspondiente fichero .config si cree que le interesa.
La opci�n `make oldconfig' intentar� configurar el n�cleo con un
fichero de configuraci�n anterior (-- A partir del 2.0.xx no es
necesario, make recuerda la �ltima configuraci�n--)
evitando todo el proceso del `make config'. Si no ha compilado
anteriormente el n�cleo o no tiene un fichero de configuraci�n
anterior, no lo elija pues normalmente querr� algo que se salga de la
configuraci�n por defecto.
Para compilaci�n con m�dulos, vea la secci�n correspondiente.
4.4. Instalaci�n del n�cleo
Una vez que tenga un nuevo n�cleo que parezca funcionar como desea,
ser� el momento de instalarlo. Casi todo el mundo utiliza LILO (LInux
LOader) para esto. Con `make zlilo' se instalar� el n�cleo ejecutando
LILO, quedando listo para rearrancar, pero esto solo funcionar� si
LILO est� bien configurado para su sistema: el n�cleo es /vmlinuz,
LILO est� en /sbin y la configuraci�n de LILO (/etc/lilo.conf) es
coherente con lo anterior.
En otro caso, necesitar� usar LILO directamente. Hay un paquete que lo
instala de manera adecuada, pero su fichero de configuraci�n tiende a
confundir a la gente. Observe el fichero de configuraci�n (estar� en
/etc/lilo.conf o en /etc/lilo/config para versiones m�s antiguas), y
vea cu�l es la configuraci�n actual. El fichero de configuraci�n ser�
como �ste:
image = /vmlinuz
label = Linux
root = /dev/hda1
...
La l�nea `image =' apunta al n�cleo instalado actualmente. Casi
siempre es /vmlinuz. `label' es el identificador usado para
seleccionar qu� sistema arrancar, y `root' es el disco o partici�n a
usar para el directorio ra�z. Haga una copia de seguridad de su
antiguo n�cleo y copie en /vmlinuz o donde diga el fichero anterior el
fichero zImage que haya generado el proceso de compilaci�n. Ahora,
ejecute LILO (en sistemas modernos, ser� simplemente teclear `lilo'.
En sistemas antiguos, habr� que poner `/etc/lilo/install' o
`/etc/lilo/lilo -C /etc/lilo/config'.)
Si quiere saber m�s sobre la configuraci�n de LILO, o no tiene LILO,
obtenga la versi�n m�s reciente de su servidor FTP favorito y siga las
instrucciones que le acompa�an.
Para arrancar uno de sus antiguos n�cleos, copie las l�neas anteriores
incluyendo `image = xxx' al principio del fichero de configuraci�n de
LILO, y cambie `image = xxx' por `image = yyy' donde `yyy' es el
nombre de camino completo al fichero de la copia de seguridad
guardada. Ahora, cambie `label = zzz' por `label = linux-backup' y
reejecute LILO. Puede ser que necesite poner una l�nea en el fichero
con `delay=x' donde x son las cent�simas de segundo que LILO esperar�
antes de arrancar con la primera opci�n, de modo que pueda
interrumpirse (con la tecla SHIFT) y seleccionarse qu� n�cleo desea
arrancar (tecleando la etiqueta (label) asignada).
Inciso de la revisi�n 2.1
Una forma muy c�moda de llevar todo el tema del LILO, si lo tenemos
instalado, y las compilaciones, etc, es a�adir lo siguiente en el
/etc/lilo.conf:
image=/vmlinuz
label=ultimo
root=/dev/hd[loquesea]
read-only
append = ""
image=/vmlinuz.old
label=anterior
root=/dev/hd[loquesea]
read-only
append = ""
Al compilar, si lo hacemos con la secuencia de comandos
# make dep; make clean; make zlilo; make modules; make modules_install
el make zlilo renombrar� la anterior imagen del kernel a /vmlinuz.old
, dejando la nueva como /vmlinuz, e instalar� LILO, a continuaci�n con
lo cual lo hacemos todo autom�gicamente.
La �rdenes make modules; make modules_install compilar�n los m�dulos
que hayamos seleccionado, y los instalar�n. No olvidar ejecutar depmod
-a en cuanto hayamos arrancado con dicho n�cleo.
En caso de que estemos compilando por segunda vez una misma versi�n de
n�cleo, y hayamos variado el n�mero de m�dulos a compilar, es posible
que la ejecutar make dep nos encontremos con un mensaje de error; esto
se debe a que los antiguos m�dulos que no hayamos compilado ahora no
son borrados. Pueden borrarse tranquilamente.
5. Parchear el n�cleo
5.1. Aplicaci�n de un parche
Las actualizaciones incrementales del n�cleo se distribuyen como
parches (-- No tomar con sentido peyorativo el t�rmino ``parche'', no
se trata de un ``remiendo'', o ``chapuza'', lo que hacemos al
``parchear'' es modificar directamente los fuentes del n�cleo,
incluyendo las variaciones que se hayan introducido.ver el comando
diff y patch para m�s referencias.--) Por ejemplo, si tiene la versi�n
1.1.45 y ve que existe un parche `patch46.gz', con ese fichero podr�
actualizarse a la 1.1.46. Deber�a antes de nada guardar una copia del
�rbol de directorios de las fuentes del n�cleo actual (haciendo `make
clean', luego `tar cvfz antiguas-fuentes.tar.gz linux' desde el
directorio /usr/src).
Ahora, supongamos que tiene `patch46.gz' en /usr/src. Vaya a ese
directorio y escriba
zcat patch46.gz | patch -p0
(o bien
patch -p0 < patch46
si ya estaba descomprimido). Ver� r�pida (o lentamente, depende del
ordenador) una serie de mensajes que le dicen que se intentan aplicar
los cambios, cu�les tienen �xito y cu�les no. Normalmente, esto ir�
bien y no habr� que preocuparse de tanto mensaje, aunque con la opci�n
-s solo saldr�n los mensajes de error.
Inciso de la revisi�n 2.1:
No es infrecuente que haya que borrar el �rbol de los fuentes entero y
reinstalarlos de nuevo; muchas veces, se tiene un .tar.gz con los
fuentes m�s un mont�n de parches; para evitarse el tener que parchear
uno a uno, puede invocar lo siguiente desde la l�nea de comandos:
(asumo que tratamos de parchear p. ej. con parches a partir del 2.0.20
hasta el 2.0.27, usamos bash y estamos en /usr/src, teclee pwd para
cerciorarse).
# for i in patch-2.0.2[1234567].gz; do
>zcat $i | patch -p0
>done
Investigue por su cuenta, ver� qu� potencia hay en la l�nea de
comandos *nix...
fin del inciso
Para ver qu� partes no se han modificado correctamente, busque los
ficheros .rej en el directorio de las fuentes. Si se usan algunas
versiones de patch (antiguas, sobre todo) esos ficheros tendr�n
extensi�n `#'. Con el comando find encontrar� f�cilmente los ficheros:
find . -name '*.rej' -print
imprime todos los ficheros .rej que est�n en el directorio actual o
subdirectorios.
Si todo ha ido bien, haga `make clean', `config' y `dep' como se
describi� en las secciones ``'' y ``''.
Hay algunas opciones m�s en el comando patch. Con -s, como hemos
dicho, se suprimen todos los mensajes salvo los errores. Si guarda las
fuentes del n�cleo en otro lugar que no sea /usr/src/linux, con patch
-p1 se parchear�n las cosas limpiamente. Otras opciones de inter�s se
encuentran bien documentadas en las p�ginas man.
5.2. Si algo va mal
El problema m�s com�n es que una ejecuci�n de patch intente modificar
el fichero `config.in' y no parezca quedar bien, porque haya hecho
cambios en �l de acuerdo con su m�quina. Este problema sucede con
versiones antiguas. Para corregirlo, busque el fichero config.in.rej,
y vea qu� tiene el parche originado. Los cambios suelen ir marcados
con `+' o `-' al principio de las l�neas. Ed�telo, recordando si las
opciones estaban puestas a Y o a N, y ejecute
patch -p0 < config.in.rej
y si no tiene fallos, puede continuar con el resto del proceso. El
fichero config.in.rej permanecer�, aunque puede borrarlo.
Si encuentra otros problemas, puede que haya aplicado un parche fuera
de orden. Si el programa patch responde con
previously applied patch detected: Assume -R?
probablemente estar� intentando aplicar un parche anterior a su
versi�n actual. Si responde `y', intentar� degradar sus fuentes, y
normalmente fallar�, oblig�ndole a preparar un nuevo �rbol de fuentes.
Para anular el efecto de un parche, use `patch -R' con el parche
original.
Lo mejor ante un problema es reinstalar un �rbol de fuentes limpio y
empezar de nuevo.
5.3. Limpieza de ficheros .orig
Despu�s de algunos parches, los ficheros .orig empezar�n a abultar
mucho. Por ejemplo, si estamos ya con el n�cleo 1.1.51 y empezamos con
el 1.1.48, borrar los .orig nos ahorrara medio megabyte. Con
find .-name '*.orig' -exec rm -f {} ';'
se automatizar� esa limpieza. En versiones que usen el # en lugar de
.rej, sustituya el .orig por un `~'.
Una forma mejor de hacer esto es usar xargs de GNU:
find .-name '*.orig' | xargs rm
o el m�todo ``m�s seguro pero m�s pesado'':
find . -name '*.orig' -print0 | xargs --null rm --
5.4. Otros parches
Hay otros parches (los llamaremos ``no est�ndares'') que si se
aplican, probablemente provocar�n que los parches de Linus no
funcionen correctamente, teniendo que retroceder, corregir las fuentes
o el parche, instalar de nuevo las fuentes, o una combinaci�n de lo
anterior.
inciso de la R. 2.1: Existe una p�gina con informaci�n centralizada
sobre este tipo de parches en:
http://www.ecsnet.com/html/linux_21_upatch.html
Este es un buen sitio para buscar si necesita soporte para alg�n
dispositivo esot�rico o implementaci�n reciente. Tenga en cuenta, no
obstante, que la mayor�a ser�n para el kernel actual de desarrollo,
aunque puedan aplicarse algunos ( eiste otra p�gina en la misma
localizaci�n citada anteriormente) en el kernel de producci�n.
fin del inciso
Por ejemplo, el autor utilizaba el parche `noblink' que anula el
parpadeo del cursor en las consolas virtuales. Este parche se
actualiza (o actualizaba) frecuentemente para los nuevos n�cleos. Como
ahora muchos manejadores se pueden cargar como m�dulos, los parches ya
son menos necesarios.
6. Paquetes adicionales
El n�cleo de Linux tiene m�s caracter�sticas no documentadas en el
c�digo; �stas se utilizan normalmente v�a parches no est�ndares.
Algunas caracter�sticas se listan a continuaci�n.
6.1. kbd
La consola de Linux tiene m�s prestaciones que las conocidas, como
cambiar las fuentes, cambiar el modo de v�deo, etc. El paquete kbd
tiene programas que permiten al usuario hacer esto, junto con nuevas
fuentes de texto y mapas de teclado, y se encuentra disponible en los
mismos sitios donde est�n las fuentes del n�cleo.
6.2. util-linux
Rik Faith,
[email protected] recopil� una gran colecci�n de utilidades
de Linux conocidas como `util-linux', que ahora mantiene Nicolai
Langfeldt,
[email protected]. Se encuentran en
ftp://sunsite.unc.edu/pub/Linux/system/Misc, con programas como
setterm, rdev y ctrlaltdel, importantes para el n�cleo. Como dice Rik,
no lo instale sin pensarlo, instalarlo todo sin necesidad puede
causarle despu�s algunos problemas.
6.3. hdparm
Son programas hechos con el n�cleo oficial, para optimizar y jugar con
con los par�metros del disco duro, distribuy�ndose por separado.
7. Problemas t�picos
7.1. make clean
Si su nuevo n�cleo hace cosas raras, puede ser que se le olvidara
hacer `make clean' antes de compilar. Los s�ntomas suelen ser extra�os
cuelgues, problemas de E/S... aseg�rese tambi�n de hacer `make dep'.
7.2. N�cleos muy lentos o muy grandes
Si su n�cleo consume mucha memoria, o la compilaci�n se hace eterna
incluso con su nuevo 786DX6/440, probablemente se deber� a haber
elegido demasiados manejadores, sistemas de ficheros, etc. a soportar
en el sistema. Si no los va a usar, no los incluya, puesto que
consumen memoria. Lo t�pico en estos casos es que se recurre
demasiado al intercambio con el disco, lo que se aprecia en un ruido
`excesivo' del disco duro.
Puede ver cu�nta memoria ocupa su n�cleo comparando los valores
obtenidos al ver el fichero /proc/meminfo, o con el comando dmesg o el
log de los mensajes del n�cleo, donde ver� algo parecido a esto:
Memory: 15124k/16384k available (552k kernel code, 384k reserved, 324k data)
En mi 386 (con pocos drivers configurados) sale:
Memory: 7000k/8192k available (496k kernel code, 384k reserved, 312k data)
7.3. El n�cleo no compila
Si no compila, puede ser por un fallo de parcheo, u otro tipo de
corrupci�n en los ficheros fuente. Adem�s, la versi�n de gcc puede no
ser correcta o los propios ficheros de #include. Aseg�rese que los
enlaces simb�licos necesarios (descritos en el fichero README de
Linus) existen. En general, cuando un n�cleo est�ndar no se puede
compilar, es porque hay alg�n problema serio en el sistema, y ser�
necesario reinstalar algunos programas.
Tambi�n puede suceder que le den errores compilando el n�cleo 1.2.x
con un gcc ELF (2.6.3 o superior). Se puede intentan arreglar
a�adiendo las siguientes l�neas al fichero arch/i386/Makefile:
AS=/usr/i486-linuxaout/bin/as
LD=/usr/i486-linuxaout/bin/ld -m i386linux
CC=gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include
Ahora, haga `make dep' y `make zimage' de nuevo.
En algunos casos muy raros el gcc romper� con un mensaje similar a
``xxx exited with signal 15''. En este caso la soluci�n puede estar en
desactivar la cach� de segundo nivel, pensar en un fallo hardware de
la memoria... o reinstalar de nuevo el gcc.
7.4. El nuevo n�cleo no parece arrancar
No se ejecut� LILO, o no est� bien configurado. A veces, se ponen
errores como `boot = /dev/hda1' en lugar de `boot = /dev/hda'.
7.5. Se olvid� ejecutar LILO , y el sistema ya no arranca
�Vaya problema! Lo mejor que puede hacerse ahora es arrancar con un
disquete y preparar otro disquete para arrancar Linux (con `make
zdisk' se hizo uno). Necesita saber qu� sistema de ficheros ra�z (/)
tiene, d�nde est� y su tipo (por ejemplo, ext2 o minix). En este
ejemplo, tambi�n hay que saber d�nde est�n los ficheros de /usr, en
otra partici�n.
En el siguiente ejemplo, / es /dev/hda1, y el sistema con las fuentes
del n�cleo es /dev/hda3, montado como /usr normalmente. Ambos son
sistemas ext2. La imagen compilada estar� en el sistema de las
fuentes.
La idea es que si hay un fichero zImage correcto, puede salvarse en un
disquete. Otra posibilidad (que funcionar� mejor o peor, seg�n el
caso) se ver� en otro ejemplo.
En primer lugar, arranque con un disquete de instalaci�n o de rescate,
y monte el sistema de ficheros que contenga el n�cleo a usar:
mkdir /mnt
mount -t ext2 /dev/hda3 /mnt
Si mkdir le dice que el directorio ya existe, no hay problema. Ahora,
pase al directorio donde est� el n�cleo compilado. Vea que
/mnt + /usr/src/linux/arch/i386/boot - /usr = /mnt/src/linux/arch/i386/boot
Ponga un disco con formato en la unidad ``A:'' (que no sea el disquete
con el que ha arrancado) y copie el n�cleo a �l:
cd /mnt/src/linux/arch/i386/boot
dd if=zImage of=/dev/fd0
rdev /dev/fd0 /dev/hda1
vaya a / y desmonte el sistema de ficheros:
cd /
umount /mnt
Ahora puede rearrancar el sistema desde el disquete. �No olvide
ejecutar LILO!
Como se ha dicho, hay otra alternativa. Si el n�cleo est� en el
directorio ra�z (por ejemplo /vmlinuz), puede usarlo para un disquete
de arranque. Suponiendo las condiciones anteriores, har�amos los
cambios siguientes en el ejemplo anterior: /dev/hda3 por /dev/hda1 (el
sistema ra�z), /mnt/src/linux por /mnt, y `if=zImage' por
`if=vmlinuz'. El resto puede ignorarse.
Usar LILO con discos grandes (de m�s de 1024 cilindros) puede dar
problemas. Le recomendamos que lea el mini-HOWTO sobre LILO para m�s
informaci�n. (-- As� como el Discos-Grandes-mini-Como, disponible en
castellano, ver secci�n ``''.--)
7.6. Mensaje de aviso: ` warning: bdflush not running '
Es un problema muy importante. Desde la versi�n 1.0 del n�cleo (20 de
Abril de 1994), hay un programa, `update' que, peri�dicamente, vuelca
al disco la cach� de buffers del sistema. Obtenga las fuentes de
`bdflush' (est� donde se distribuyen las fuentes del n�cleo) e
inst�lelas (quiz�s deba usar mientras lo hace el n�cleo antiguo).
Despu�s del rearranque, se instalar� en memoria como `update' y ya no
habr� m�s avisos.
7.7. Salen mensajes sobre s�mbolos no definidos, y no compila
Esto ser� probablemente porque tenga un compilador ELF (gcc 2.6.3 y
posteriores) y las fuentes 1.2.x o anteriores. Habitualmente esto se
corrige a�adiendo las siguientes l�neas al archivo arch/i386/Makefile:
AS=/usr/i486-linuxaout/bin/as
LD=/usr/i486-linuxaout/bin/ld -m i386linux
CC=gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include
Esto permitir� compilar el n�cleo 1.2.x con librer�as a.out.
7.8. No consigo que me detecte mi CD-ROM IDE/ATAPI
Mucha gente tiene este problema, siendo las causas muy diversas.
El error m�s com�n es tener el dispositivo en una interfaz IDE sin
compa��a de otro disco, para lo que debe ser configurado como
``maestro'' (master) o ``�nico'' (single), nunca como ``esclavo''
(slave).
Creative Labs est� poniendo interfaces IDE en sus tarjetas de sonido.
Sin embargo, esto es un problema cuando se tienen ya dos interfaces
IDE en la placa, en la IRQ 15. Entonces se suele configurar el IDE de
la tarjeta de sonido en la IRQ 11, y los n�cleos 1.2.x no saben
manejar esto (tener, en la pr�ctica, tres IDE).
En las versiones 1.3.x se empieza a intentar soportar esto, pero est�
en desarrollo y en todo caso no incluye autodetecci�n. Para
utilizarlo, pues, deber� hacer algunas cosas.
Si no tiene segunda IDE en placa, cambie los ``jumpers'' de la tarjeta
de sonido referentes a la interfaz IDE para que ocupen la IRQ 15
(segunda interfaz). Esto deber�a funcionar.
Si por el contrario hay en total tres interfaces, obtenga un n�cleo
1.3.x (por ejemplo, el 1.3.57 lo incluye) y lea el documento
drivers/block/README.ide, donde encontrar� m�s informaci�n.
7.9. Salen mensajes sobre cosas de encaminamiento obsoletas
Consiga nuevas versiones de los programas `route' y otros que
manipulan tablas de encaminamiento. El fichero
/usr/include/linux/route.h tiene cambios al respecto.
7.10. La funci�n de cortafuegos no funciona en el n�cleo 1.2.0
Actual�cese al menos a la 1.2.1.
7.11. Mensaje: `` Not a compressed kernel Image file ''
No utilice el fichero vmlinux creado en /usr/src/linux para arrancar,
sino el mencionado zImage.
7.12. Hay problemas con la consola al pasarse a la 1.3.x
Ponga `linux' en la entrada `console' del fichero /etc/termcap.
Adem�s, deber� hacer una entrada en terminfo.
7.13. Algunas cosas no compilan despu�s de la actualizaci�n
El n�cleo incluye ciertos ficheros #include (acaban en referencian con
la l�nea:
#include <linux/xyzzy.h>
Normalmente, hay un enlace simb�lico `linux' de
/usr/include al directorio /usr/src/linux/include/linux. Si no existe
tal enlace, o apunta a un lugar incorrecto, muchas cosas compilar�n
mal. Por ejemplo, el problema es obvio si borr� las fuentes del n�cleo
porque le ocupaban mucho. Otro problema puede tener relaci�n con los
permisos de los ficheros, tal vez debido a un umask de la cuenta root
que obligue a crear los ficheros ocultos a otros usuarios por defecto.
Puede solucionar esto con el comando chmod, pero ser� m�s c�modo
descomprimir las fuentes del n�cleo a�adiendo la opci�n -p (preservar
modo) al comando tar:
blah# tar zxvpf linux.x.y.z.tar.gz linux/include
Nota: Con ``make config'' se crea el enlace /usr/src/linux si no
existe.
8. Notas sobre la actualizaci�n a la versi�n 2.0.x
La versi�n 2.0.x se instala de manera algo diferente a otras
versiones, y requiere actualizar software auxiliar. El fichero
Documentation/Changes de las fuentes contiene informaci�n muy
importante sobre esto, como lo referente a los paquetes que debe
actualizar (gcc, libc...).
9. M�dulos
Los m�dulos del n�cleo cargables le permitir�n simplificar la
configuraci�n del n�cleo y ahorrar memoria. Sirven para a�adir
din�micamente nuevos soportes de sistemas de ficheros o manejadores, a
un n�cleo que ya est� corriendo.
9.1. Instalaci�n de las utilidades asociadas
Estas utilidades est�n disponibles all� donde est� el n�cleo, como
modules-x.y.z.tar.gz. Elija el que corresponda a su n�cleo.
Descompr�malo con `tar zxvf modules-x.y.z.tar.gz', cambie al
directorio que crea (modules-x.y.z), l�ase el fichero README, y siga
las instrucciones de instalaci�n (normalmente, tan simple como `make
install'). Con ello tendr� las utilidades insmod, rmmod, ksyms, lsmod,
genksyms, modprobe y depmod en /sbin. Si lo desea, puede probar el
manejador ejemplo ``hw'' con insmod; lea el fichero INSTALL para m�s
detalle.
insmod inserta un m�dulo en el n�cleo arrancado. Generalmente los
m�dulos son ficheros .o; el manejador ejemplo es drv_hello.o, con lo
que para insertarlo se usar�a `insmod drv_hello.o'. Para ver los
m�dulos cargados, pruebe lsmod. La salida ser� como �sta:
blah# lsmod
Module:#pages:Used by:
drv_hello1
`drv_hello' es el nombre del m�dulo, que usa una p�gina (4k) de
memoria, y no hay m�dulos que dependan de �l en este momento. Para
quitar el m�dulo, teclee `rmmod drv_hello'. Vea que rmmod necesita el
nombre del m�dulo, no del fichero. Ese nombre lo obtiene al listar los
m�dulos instalados. Las otras utilidades de m�dulos se encuentran
documentadas en los manuales on-line.
Inciso de la revisi�n 2.1
Tres cosas relativas a m�dulos:
� Siempre que compile un kernel nuevo, y sus correspondientes m�dulos
(con make modules; make modules_install tras los make dep; make
clean; make zImage (-- O make zlilo, si usa LILO como gestor de
arranque.--)
lo primero que ha de hacer al arrancar con el mismo, para computar
las dependencias entre m�dulos, es invocar el comando
depmod -a
� Desde la aparici�n de kerneld, el andar insertando y retirando
m�dulos de memoria a mano no se estila mucho, en su lugar es
kerneld quien se encarga de esto. Para hacer uso de �l, aseg�rese
de responder s� al soporte kerneld durante la configuraci�n del
n�cleo, y ll�melo desde los scripts de inicializaci�n del sistema,
que est�n t�picamente en /etc/rc.d/rc.x.
Sigue pudiendo cargar m�dulos a voluntad; el comando recomendado es
modprobe modulo, que tendr� en cuenta las dependencias entre
m�dulos, cargando todos los necesarios (como por ejemplo el m�dulo
slhc en el caso de que queramos cargar el m�dulo ppp.)
Atenci�n: El soporte de compresi�n CCP (bsd_comp) no est� inclu�do
en esto debido a problemas de copyright, por lo que deberemos
cargarlo a mano; o bien ejecutamos la orden modprobe bsd_comp
cuando queramos cargar ppp, o bien lo insertamos despu�s de haber
cargado ppp y slhc, con por ejemplo, modprobe ppp.
Lea el fichero /usr/src/linux/Documentation/modules.txt, disponible
en castellano en
http://www.insflug.org/pub/online/modulos.txt para
profundizar sobre este tema, as� como sobre el tercero de los
�tems:
� /etc/modules.conf o /etc/conf.modules. Lea el anterior fichero
(modulos.txt).
9.2. M�dulos distribuidos con el n�cleo 1.2.2
Algunos sistemas de ficheros, manejadores SCSI y de tarjetas de red,
as� como otras utilidades son cargables como m�dulos. Para usarlos, lo
primero, no incluirlos en el n�cleo principal (al compilarlo, no decir
que `s�' al manejador correspondiente durante el `make config').
Luego se arranca ese n�cleo (-- Esto es obsoleto en el caso de los
n�cleos 2.0.x, recu�rdelo; con los 2.0.x puede compilarlo todo
seguido, y arrancar posteriormente, ejecutar depmod -a y estar� todo
listo. --) y se entra de nuevo en /usr/src/linux para hacer `make
modules', lo que compilar� m�dulos para todas aquellas opciones que no
se eligieron durante el `make config', y los dejar� en
/usr/src/linux/modules. Puede ahora ejecutar `make modules_install'
que los instalar� en /lib/modules/x.y.z siendo x.y.z la versi�n del
n�cleo.
Esto es especialmente �til con los sistemas de ficheros que, como
minix o msdos, no se usan normalmente. As�, cuando se quiera leer un
disquete MSDOS, primero se cargar�a el m�dulo con insmod (-- Mejor
modprobe, que como hemos comentado, tendr� en cuenta las dependencias
entre m�dulos que ha generado depmod -a, carg�ndolos todos.--) y se
descargar�a al finalizar. Esto ahorrar� unos 50K de memoria en la
operaci�n normal del n�cleo. Notar que el sistema Minix siempre deber�
estar dentro del n�cleo (no como m�dulo) si se quiere hacer un
disquete de rescate con �l.
10. Otras opciones de configuraci�n.
Esta secci�n contiene informaci�n sobre otras opciones de
configuraci�n que se ofrecen durante `make config'.
10.1. Opciones generales
Normal floppy disk support (soporte de floppy normal): es exactamente
eso. Lea el fichero drivers/block/README.fd, es importante para
usuarios de IBM Thinkpad.
XT harddisk support (soporte de disco duro de XT): interesante si
quiere usar una controladora XT de 8 bits.
PCI bios support(soporte de Bios PCI): si tiene PCI, puede
interesarle. Vaya con cuidado: algunas placas PCI antiguas pueden
colgar al sistema con esta opci�n. M�s informaci�n al respecto se
encontrar� en el documento PCI-HOWTO.
Kernel support for ELF binaries (soporte para binarios ELF): ELF es un
intento de uniformizar arquitecturas y sistemas operativos. Linux
tambi�n pretende conseguirlo (-- De hecho, es el est�ndar actual para
todo el software en Linux. Podr� seguir ejecutando sus (posiblemente
obsoletos) antiguos binarios a.out, dotando al kernel, --modularmente,
por ejemplo-- de soporte para los mismos.--) .
Set version information on all symbols for modules (mantener
informaci�n de versi�n en los s�mbolos de los m�dulos): en el pasado,
los m�dulos se recompilaban con cada nuevo n�cleo. Si responde
afirmativamente, podr� usar m�dulos de otra versi�n. Para m�s detalle,
consulte el fichero README.modules.
Enable loadable module support Responda que s� a esto si pretende
hacer uso de los m�dulos cargables en tiempo de ejecuci�n.
Kernel daemon support (e.g. autoload for modules)Esto es absolutamente
necesario si pretende hacer uso de kerneld. En breve se dispondr� de
una versi�n en castellano del Kerneld Mini-HOWTO. Ver secci�n ``''.
10.2. Opciones de red
Se describen en el documento NET-2-HOWTO (o NET-algo-HOWTO).
11. Consejos y trucos
11.1. Redirecci�n de la salida de compilaci�n o parcheado.
Si le interesa tener ``logs'' de lo que hagan los comandos `make' o
`patch', puede hacerlo redirigiendo su salida a un fichero. Primero,
debe saber qu� shell est� utilizando (con el comando `grep root
/etc/passwd' puede saberlo, buscando en el resultado algo as� como
`/bin/csh' o `/bin/sh'). Una vez localizado, si utiliza sh o bash,
puede redirigir la salida de un comando como `make' con:
(comando) 2>&1 | tee (fich)
La l�nea anterior pondr� la salida de `(comando)' en el fichero
`(fich)'.
Si se trata de csh o tcsh, teclee,
(comando) |& tee (fich)
Para rc (shell que raramente usar�) se teclear�a,
(comando) >[2=1] | tee (fich)
11.2. Instalaci�n condicional del n�cleo
Hay m�s m�todos para probar un nuevo n�cleo que no sea usar un
disquete. A diferencia de otros Unix, LILO puede arrancar cualquier
fichero con el n�cleo que se encuentre en el disco (-- As� como montar
particiones de disco distintas seg�n se le indique, con lo cual
podemos tener varias instalaciones distintas y poder arrancar con una
y otra, incluso compartiendo alguna de ellas.--) (siempre y cuando
�ste est� por debajo de los 1024 cilindros, lea la documentaci�n de
LILO para m�s detalle). Puede tener al final de /etc/lilo.conf una
l�nea parecida a �sta:
image = /usr/src/linux/arch/i386/zImage
label = nuevo_nucleo
lo que le permitir� seleccionar en el arranque (habiendo ejecutado
antes lilo para reconfigurar) el nuevo_nucleo en lugar del habitual
que ser� probablemente /vmlinuz. Para poder hacer esta selecci�n hay
que mantener pulsada la tecla SHIFT al arrancar, para que aparezca el
prompt de LILO que le permita teclear la etiqueta (nuevo_nucleo u
otra) del n�cleo elegido.
Si desea tener varios fuentes de n�cleos distintos en el disco
(�cuidado!, le puede suponer muchos megas), lo normal es tener cada
versi�n x.y.z en el directorio /usr/src/linux-x.y.z y ``seleccionar''
o activar cada n�cleo sin m�s que redefinir el enlace simb�lico
/usr/src/linux apuntando al directorio que desee (por ejemplo, yo hice
`ln -sf /usr/src/linux-1.2.3 /usr/src/linux' en su momento).
Aseg�rese que /usr/src/linux no es ya un directorio, sino como mucho
antiguos enlaces simb�licos. De otro modo, el resultado del anterior
comando no ser� el esperado.
11.3. Actualizaciones del n�cleo
Russell Nelson,
[email protected] lleva una lista que resume los
cambios en las nuevas versiones del n�cleo. Son breves pero
interesantes antes de decidirse por instalar una nueva versi�n. Se
puede encontrar por FTP an�nimo en
ftp://ftp.emlist.com/pub/kchanges o
a trav�s del URL:
http://www.crynwr.com/kchanges
12. Otros documentos COMO que pueden serle �tiles
� Sonido-Como (-- Aquellos cuyo nombre incluya la palabra ``Como''
est�n disponibles traducidos.--) : tarjetas de sonido y utilidades
� SCSI-HOWTO: todo sobre controladores y dispositivos SCSI
� NET-2-HOWTO: todo sobre redes
� PPP-Como: redes con PPP concretamente
� PCMCIA-HOWTO: acerca de manejadores para port�tiles
� ELF-HOWTO: ELF: qu� es, c�mo migrar...
� Hardware-HOWTO: revisi�n del hardware soportado por Linux
13. Miscel�nea
13.1. El autor
El autor y encargado de mantener el original de este documento en
Ingl�s es Brian Ward
[email protected]. Env�enme cualquier
comentario, a�adidos o correcciones que considere oportunos. En
particular, lo que m�s me interesa son las correcciones. Si quiere
agradecerme de alguna forma especial que haya escrito este documento,
siempre podr� enviarme ordenadores o CD-ROMs que no use, o simplemente
una bonita postal de su zona...
Puede ver mi p�gina principal de WWW en los URLs:
http://www.math.psu.edu/ward/
http://blah.tu-graz.ac.at/~ward/
Aunque intento atender en lo posible el correo, recuerde que sin
embargo recibo muchos mensajes diarios, lo que har� que pueda pasar
tiempo antes de contestar su mensaje. Especialmente, si me env�a
alguna consulta, trate de ser lo m�s claro y detallado posible en su
mensaje. Por ejemplo, si se trata de hardware que no funcione, trate
de explicarme con el m�ximo detalle la configuraci�n de que se trata.
No se preocupe si hace preguntas simples, puesto que si no se la
pregunta a nadie �nunca tendr�a respuesta!. Agradecer� tambi�n las
sugerencias.
Si me escribe y no obtiene respuesta en mucho tiempo (digamos, m�s de
tres semanas), puede que accidentalmente haya borrado su mensaje (lo
siento, int�ntelo de nuevo).
Recibo muchos mensajes sobre cosas que realmente son problemas de
hardware. Est� bien, pero tenga en cuenta que yo no conozco todo el
hardware existente en el mundo y no siempre puedo ayudarle.
Personalmente, uso m�quinas con discos IDE y SCSI, CD-ROMs SCSI,
tarjetas de red 3Com y WD, ratones serie, placas base con PCI,
controladoras SCSI NCR 810, CPUs AMD 386DX40 con coprocesador Cyrix,
procesadores AMD 5x86, 486DX4 y tambi�n de Intel (todo esto es una
lista de lo que conozco, pero ciertamente no es una recomendaci�n para
su equipo, aunque si quiere, puede preguntarme :-) ).
La versi�n -0.1 se escribi� el 3 de Octubre de 1994. Este documento
est� disponible en SGML, PostScript, TeX, roff y ASCII.
Nota del traductor: Al igual que el autor original, me pongo a su
disposici�n para resolver problemas que est�n en mi mano, y sobre
todo, aceptar sugerencias sobre esta traducci�n, perteneciente al
proyecto LUCAS (LinUx en CAStellano) coordinado por Ram�n Guti�rrez.
Actualmente, se han preparado versiones SGML, HTML y ASCII.
Nota de la revisi�n 2.1: Ver la secci�n ``''. Me sumo a las propuestas
anteriores. A partir de esta revisi�n, este COMO est� disponible en
SGML, HTML, ASCII, PostScript, DVI, LyX, y cualquier otro formato
soportado por linuxdoc-sgml. Le recomiendo encarecidamente que si
piensa imprimirlo, lo haga con las versiones .dvi o .ps, la calidad no
tiene color en comparaci�n con las otras versiones para imprimir. Y al
fin y al cabo, me he tomado el trabajo de revisarlo precisamente por
esto :-), asi como actualizarlo un poco.
El traductor, Juan Jos� Amor,
[email protected] se encuentra
disponible por correo electr�nico y tambi�n en el WWW:
http://lml.ls.fi.upm.es/~jjamor.
13.2. Pendiente de hacer
La secci�n ``'' es peque�a. Espero poderla agrandar gracias a sus
sugerencias.
Lo mismo para la secci�n ``''.
Hay que a�adir m�s informaci�n acerca de recuperaci�n de cuelgues y
errores.
13.3. Colaboraciones
Se incluy� una peque�a parte del README de Linus (acerca de las
opciones de ``kernel hacking''). (�Gracias, Linus!).
[email protected] (Ulrich Callmeier): patch -s y xargs.
[email protected] (Daniel Quinlan): muchas correcciones y
a�adidos.
[email protected] (Nat Makarevitch): mrproper, tar -p.
[email protected] (Axel Boldt): recopil� descripciones de
configuraciones del n�cleo en la red, luego me envi� la lista.
[email protected] (Steve Lembark): sobre m�ltiples formas de
arrancar.
[email protected] (Keith Briggs): algunas correcciones y
sugerencias.
mailto:
[email protected] (Ryan McGuire): adiciones
realizables.
[email protected] (Eric Dumas): traducci�n al Franc�s.
[email protected] (Yasutada Shimazaki): traducci�n al
Japon�s.
[email protected] (Juan Jos� Amor Iglesias): traducci�n al
Castellano. ;-)
[email protected] (Michael J Donahue): errores tipogr�ficos,
ganador de la ``sliced bread (-- Proviene de la popular expresi�n
anglosajona ``... it's the best thing since sliced bread'', algo as�
como (literalmente) ``... es lo mejor que se ha inventado desde las
tostadas'', suele utilizarse para expresar ``... es lo mejor que haya
parido mente humana''.--) competition''.
[email protected] (Richard Stallman): concepto sobre la
documentaci�n de libre distribuci�n.
[email protected] (David Kastrup): El tema del NFS.
La gente que me ha enviado correo con preguntas y problemas tambi�n me
ha sido de extrema ayuda.
13.4. Notas sobre el Copyright, Licencia y Todo Eso
Nota del traductor: Aunque se traducen las notas siguientes, se copian
tambi�n intactas para respetar los t�rminos de la Licencia.
===========Copyright notice, License, and all that stuff ==================
Copyright (c) Brian Ward, 1994-1996.
Permission is granted to make and distribute copies of this manual provided
the copyright notice and this permission notice are preserved on all
copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the derived
work is distributed under the terms of a permission notice identical to
this one. Translations fall under the catagory of ``modified versions.''
Warranty: None.
Recommendations
:
Commercial redistribution is allowed and encouraged; however, it is
strongly recommended that the redistributor contact the author before the
redistribution, in the interest of keeping things up-to-date (you could
send me a copy of the thing you're making while you're at it). Translators
are also advised to contact the author before translating. The printed
version looks nicer. Recycle.
=============================================================================
Copyright � Brian Ward, 1994, 1995.
Se concede permiso para realizar y distribuir copias de este
documento, siempre proporcionando esta nota y la del Copyright en
todas las copias.
Se concede permiso para copiar y distribuir versiones modificadas de
este documento, bajo las condiciones propuestas para copias completas.
Las traducciones se incluyen en la categor�a de ``versiones
modificadas''.
Garant�as: Ninguna.
Recomendaciones: Se permite y recomienda redistribuir comercialmente
este documento; sin embargo, se sugiere que el distribuidor contacte
antes con el autor, con el fin de mantener las cosas al d�a. Con este
mismo prop�sito se recomienda tambi�n a los traductores que contacten
con el autor.
14. Anexo: El INSFLUG
El INSFLUG forma parte del grupo internacional Linux Documentation
Project, encarg�ndose de las traducciones al castellano de los Howtos
(Comos), as� como la producci�n de documentos originales en aquellos
casos en los que no existe an�logo en ingl�s.
En el INSFLUG se orienta preferentemente a la traducci�n de documentos
breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
:) ), etc.
Dir�jase a la sede del INSFLUG para m�s informaci�n al respecto.
En la sede del INSFLUG encontrar� siempre las �ltimas versiones de las
traducciones: www.insflug.org. Aseg�rese de comprobar cu�l es la
�ltima versi�n disponible en el Insflug antes de bajar un documento de
un servidor r�plica.
Se proporciona tambi�n una lista de los servidores r�plica (mirror)
del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
recursos en castellano.
Francisco Jos� Montilla,
[email protected].