|
|
Este documento está disponible en los siguientes idiomas: English Castellano ChineseGB Deutsch Francais Italiano Nederlands Turkce |
por Philip de Groot <philipg(at)authors.linuxfocus.org> Sobre el autor: Espero recibir mi doctorado de la Universiteit van Nijmegen durante este año. Mi tesis es sobre lo que llamamos chemometrics. Actualmente trabajo en tecnología informática aplicada a la biología, en el Centro Médico Académico en Amsterdam, Holanda. Además mantengo mi propia página para novatos de Linux (en holandés): es una de las muchas iniciativas de y para la comunidad linnuxera. Me encanta trabajar con Linux y habitualmente escribo mis experiencias. Taducido al español por: Javier Gómez Sierras <jgomsi(at)obelix.umh.es> Contenidos:
|
Compila tu propio núcleo de LinuxResumen:
Dentro de poco averiguarás que tú también puedes obtener, configurar, compilar, e instalar tu propio núcleo. |
El artículo está estructurado como sigue. Primero habla de dónde puedes encontras el código fuente en Internet, y cómo instalar el código fuente, seguido de la configuración gráfica usando las capturas de pantalla. Una vez que el núcleo está configurado debe ser compilado, pero incluso un núcleo recien compilado no está todavía listo para usar. Primero, el nuevo núcleo debe ser instalado con el gestor de arranque 'lilo', y antes de usar 'lilo' tienes que crear el fichero '/etc/lilo.conf'. También puedes copiar el núcleo compilado a una partición desde la que puedas arrancar Linux con un programa para DOS/Windows llamado 'loadlin'. Además hay un montón de puntos específicos que deben ser tratados, como el soporte para PCMCIA ya que es necesario para portátiles. Las PCMCIA, unas pequeñas tarjetas para insertar parecidas a una tarjeta de crédito de gran grosor y que a menudo se encargan de la conexión a la red, están soportadas por el núcleo internamente desde los núcleos de la serie 2.4.x. Antiguos núcleos pueden soportar tarjetas PCMCIA a través de una compilación e instalación distinta. SuSE tiene otro problema, el soporte para sonido a través de los drivers ALSA. Estos drivers no son parte del núcleo y deben ser compilados e instalados por separado, porque los drivers originales habitualmente ya no funcionan. Para poner peor las cosas, cambiar de una serie del núcleo a otra, digamos de la 2.2 a la 2.4, puede venir acompañado de problemas con ciertas utilidades del núcleo, las llamadas 'modutils'. Estas contienen el código necesrio para cargar un módulo del núcleo: La figura 3 explica que es un módulo. Algunas veces el nuevo núcleo no sabe qué hacer con las viejas 'modutils', por lo que tienes que compilar e instalar una versión más reciente de modutils. Problemas como estos son raros pero ocurren, y es necesario mencionarlos con antelación.
Pero, si sigues fielmente el prodimiento de este artículo no hay casi nada que pueda fallar. Se añade el nuevo núcleo a 'lilo', o se copia a la partición de 'loadlin'. Por lo tanto, en caso de emergencia, todavía puedes reiniciar con el núcleo original. Entonces, trabajando con el núcleo original puedes intentar solventar el problema con el nuevo núcleo. Incluso aunque pudieses tener problemas con las nuevas 'modutils' del núcleo todavía sería posible reiniciar con el antiguo núcleo y entonces arreglar el problema compilando e instalándolas por separado: todas las nuevas versiones de 'modutils' son compablibles hacia atrás con las antiguas versiones del núcleo, por lo que las nuevas 'modutils' funcionan bien con antiguos núcleos.
El código fuente del núcleo qeu está en tú máquina ahora mismo se encuentra en el directorio '/usr/src/linux/'. Es una buena idea poner este código fuente en particular a salvo, por ejemplo renombrando el directorio linux así:
cd /usr/src mv linux linux-2.2.19 (si es el código fuente original del 2.2.19).
cd /usr/src cp ~/linux-2.4.6.tar.bz2 ( asumiento que el tarball lo descargaste ) ( a tu directorio personal ('~') ) bzip2 -d linux-2.4.6.tar.bz2 (puede que tarde un rato ) tar -xvf linux-2.4.6.tar mv linux linux-2.4.6 ln -s /usr/src/linux-2.4.6 /usr/src/linux
cd /usr/src/linux make xconfig (ver Figura 1)
Figura 1: | La interfaz gráfica para definir tu núcleo de Linux después del comando 'make xconfig'. |
Este es el menú principal usado para definir el núcleo. Para hacer esto debes pulsar en las diferenctes opciones. Pulsar en 'Save and Exit' guarda tus opciones al disco, y una vez que hayas terminado puedes finalmente compilar e instalar el núcleo (como en la Figura 40). Pero aún no hemos llegado.
Los ejemplos, por supuesto, pueden no comprender todo el hardware que puedas tener. Sin embargo, deberían clarificar cómo manejar tu hardware en concreto, y cómo buscar en el propio núcleo para averiguar si tu hardware está soportado.
Figura 2: | Selección de 'code maturity level options'. |
Figura 3: Support for loadable modules.
(de ahora en adelante las capturas de pantalla estarán enlazadas,
puedes abrirlas en una ventana nueva para echarles un vistazo)
Los módulos son trozos del código del núcleo, p. ej., drivers,
que se compilan por separado pero idealmente al mismo tiempo que
se compila el propio núcleo. Por lo tanto, este código no es parte
del núcleo, pero se puede cargar y por lo tanto estar disponible
cuando lo necesitas. La recomendación general es compilar el
código del núcleo como módulo siempre que sea posible, porque esto
da lugar a un núcleo pequeño y estable. Una advertencia: nunca
compiles el sistema de ficheros como un núcleo, ver Figura 32. Si
cometes este error y compilas el sistema de ficheros como un
módulo, el núcleo que obtengas no podrá leer su propio sistema de
ficheros. Entonces, el núcleo no podrá siquiera cargar sus propios
ficheros de configuración, algo que es obviamente un prerequisito
para arrancar correctamente linux. Puedes comprobar que
escasamente uso los módulos: me gusta que mi núcleo pueda hablar
directamente con todo el hardware sin tener que cargar módulos,
pero esta es sólo mi preferencia.
Figura 4: Seleccionando processor type and features.
Aquí tienes que elegir el tipo de procesador que tienes, e indicar
si hay que aplicar varias opciones. En general las opciones
'/dev/cpu' son bastante avanzadas y no deberíar ser seleccionadas
por la mayoría de usuarios. 'High Memory Support' es necesario
sólo si tu ordenador tiene más de 1 gigabyte de RAM (no espacio de
disco). La mayoría de ordenadores tienen de 64 a 512 megabytes de
ram (y de 8 a 60 Gb de disco duro), por lo que 'High Memory
Support' no se marca habitualmente. Tienes que activar la opción
'Math Emulation' si usas linux en un equipo 386 o 486SX. Estos
antiguos equipos carecen del coprocesador matemático que linux les
supone, por lo que en este caso debes seleccionar 'Math
Emulation'. Virtualmente todo los procesadores modernos tienen un
coprocesador incluido, por lo que habitualmente puedes dejar esta
opción sin marcar. La opción 'MRTT' permite una comunicación más
rápida entre un bus PCI y uno AGP. Puesto que todos los equipos
modernos tienen su tarjeta de video en un bus AGP o PCI deberías
marcar 'MTRR': en cualquier caso, siempre es seguro habilitar esta
opción incluso si tu equipo no usa el bus PCI o AGP para la
tarjeta de vídeo. Symmetric multi-processing support (SMP)
[soporte para multiproceso simétrico] se
aplica únicamente a las placas base con dos procesarores Pentium
II. SMP se asegura de que el núcleo carga ambos procesadores
optimamente. La última opción (APIC) también se aplica
habitualmente a los sistemas multiprocesador, y normalmente no se
activa.
Figura 5:
General Kernel Options [Opciones generales del núcleo].
Aquí se le especifican ciertas opciones generales al núcleo.
Todo el mundo siempre selecciona Ñetworking support' porque
siempre se necesita, p.ej., para Internet. Linux está fuertemente
orientado a Internet y no puede funcionar correctamente sin las
redes. Además, el soporte para redes también se necesita para
muchas otras acciones que no parecen tener mucho que ver con las
redes. Es incluso posible que el núcleo no compile sin el soporte
para redes. Resumiendo: incluye el soporte para redes. Todos los
equipos modernos usan el bus PCI, por lo que selecionamos estas
opciones también. El texto en gris 'PCMCIA/CardBus support'
muestra que esta opción no está disponible, porque antes hemos
indicado que no queremos usar código experimental (ver Figura
2.). Si usas un portátil necesitas el soporte para PCMCIA/CardBus
en el núcleo para permitir el uso de la red o un módem (ver
también más abajo bajo el nombre 'pcmcia support
(laptops)'). 'System V IPC' permite a los programas comunicarse y
sincronizarse, 'BSD process accounting' guarda p.ej., el código de
error cuando los procesos terminan, y 'Sysctl support' permite a
los programas modificar ciertas opciones del núcleo sin tener que
recompilar el núcleo o reniciar el sistema. Estas opciones se
sueler dejar activadas. Las distribuciones modernas de linux tiene
su 'kernel core (/proc/kcore/) format' seleccionado como ÉLF':
este es el formato estándar de varias librerías de sistema, p.ej.,
código que está disponible para el sistema y usado por
programas. ÉLF' es el sucesor del obsoleto formato á.out', y
similar a los ficheros .dll de windows. Todas los programas
modernos de linux usan las librerías ELF, pero desafortunadamente
algunos programas más antiguos también precisan de soporte para el
formato á.out'. Un ejemplo es 'Word Perfect 8 para XWindows':
esta aplicación nativa de XWindows/Linux sólo está disponible en
el formato á.out', así que 'xwp' simplemente no funcionará sin el
soporte para el formato á.out'. Incluye á.out' como módulo. En
principio no lo uso, pero resulta útil tener el código disponible
si eres un usuario habitual de java, python, o el emulador de DOS
DOSEMU. He seleccionado 'Power Management support' y Ádvanced
Power Management BIOS support' (no se muestran en la Figura
5). Estas dos opciones son lo mínimo que se necesita en una
placa base ATX moderna para permitir al núcleo apagar el ordenador
automaticamente cuando se cierre linux. Las otras funciones de
control de energía se desactivan porque no suelen funcionar bajo
XWindows (que es lo que uso cuando estoy en linux). KDE y Gnome
tienen sus propias funciones de gestión estándar de energía que
puedes seleccionar.
Figura 6: Configurando Memory Technology Devices.
Necesitas esta opción para hacer que linux pueda leer por ejemplo
tarjetas flash. Las tarjetas flash se usan habitualmente en
cámaras digitales. Con esta opción linux puede leer tarjetas flash
(desde el hardware necesario) y copiar las fotos como ficheros
.jpg al disco. A menos que sepas que lo necesitas yo no marcaría
esta opción: si descubres que la necesitas siempre la puedes
añadir más tarde
Figura
7: Configurando el parallel port [puerto paralelo].
Antes de que exisitiese la tecnología USB el puerto paralelo se
usaba comunmente para conectar impresoras y escáners al
ordenador. Mi impresora se conecta al puerto paralelo, así que
quiero que este puerto esté disponible en linux. Ten en cuenta que
configurar el puerto paralelo no es lo mismo que configurar el
sistema de impresión: esto se hace después, en la Figura 28.
Figura 8: Configurando Plug & Play.
Casi todo el mundo tiene un sistema 'Plug & Play' y por lo
tanto y quiere soporte para ello. Activar esta opción permite al
núcleo configurar los dispositivos 'Plug & Play' y que estén
disponibles en el sistema. Algunas veces es necesario activar la
opción 'Plug & Play OS' en la BIOS, porque de otra manera
linux (y también Windows) no pueden configurar los dispositivos
'Plug & Play'. La opción ÍSA Plug & Play support' se
refiere a las tarjetas ISA que son 'Plug & Play' pero usan el
bus ISA. Un ejemplo es la sound blaster AWE64. El bus ISA nunca
tuvo un estándar 'Plug & Play', lo que hace difícil configurar
estas tarjetas. Hace tiempo, antes del núcleo 2.4.x, los usuarios
de linux tenían que llamar al programa ísapnp' (paquete
isapnptools, rpm -qil isapnptools para ver los ficheros) durante
el proceso de arranque.
ísapnp' leia el fichero '/etc/isapnp.conf'. Este fichero contenía
todos los puertos, direcciones e interrupciones usadas por las
diferentes tarjetas. Si la información en '/etc/isapnp.conf' no
era correcta, o si no se hacía la llamada a ísapnp', la tarjeta
no estaba accesible para linux y el modem, tarjeta de red o
tarjeta de sonido no funcionaba. Al seleccionar la opción ÍSA
Plug & Play support' se reemplaza el antiguo procedimiento: el
fichero '/etc/isapnp.conf' ya no se usa. En vez de esto, las
configuraciones se detectan automaticamente. En la SuSE 7.1 tuve
que renombrar el fichero '/etc/isapnp.conf' a p.ej.,
'/etc/isapnp.conf.old' después de compilar el 2.4.x, porque tanto
el núcleo como ísapnp' reclamaban los mismo recursos, con
desastrosas consecuencias. El problema es que SuSE 7.1 (y
versiones antiguas) activan automaticamente ísapnp' durante el
arranque, incluso aunque el núcleo ya tenga el soporte
necesario. Esto sin embargo es únicamente relevante para equipos
Linux antiguos, los nuevos no usan isapnp por defecto.
Figura 9:
Configurando block devices.
Virtualmente todo el mundo querrá usar la disquetera, así que la
opción de arriba está activada (o, en mi caso, seleccionada como
un módulo). En las peticiones para acceder a la disquetera el
núcleo carga automaticamente el módulo necesario, siempre y cuando
el fichero '/etc/modules.conf' o '/etc/conf.modules' esté
correctamente configurado en tu distribución como es
habitual. Como usuario no deberías tener ningún problema si has
seleccionado las opciones correctas en la Figura 3. Para acceder a
la disquetera el núcleo debe ser, por supuesto, capaz de leer el
sistema de archivos del disquete. Por lo tanto también debes
copiar la Figura 32 correctamente. Las otras opciones pueden ser
importantes si usas un sistema de almacenamiento IDE a través del
puerto paralelo, pero normalmente están desactivadas. Una posible
excepción es 'loopback device support'. Antes de grabar CDs en
linux usualmente se hace una imágen del CD, y el 'loopback device'
es necesario para mirar el contenido de la imagen. He seleccionado
esta opción (quinta línea desde abajo) como un módulo (no aparece
en la Figura 9).
Figura
10: Configurando multiple devices.
Los usuarios comunes de linux normalmente no necesitan soporte
para raid o LVM. 'Raid' implica que el sistema utiliza dos o más
discos para guardar la información en paralelo. Si un disco se
rompe el otro sigue en marcha, y el sistema sigue en
funcionamiento. LVM hace posible añadir un disco duro de forma que
una partición existente parece que se agrande. En la práctica esto
significa que no tienes que reparticionar o copiar una partición
pequeña a una más grande. Las rutas a ficheros siguen siendo las
mismas también. Esta posibilidad es muy útil, pero habitualmente
la mayoría de usuarios comunes no la necesitarán.
Figura
11: Configurando networking options.
Necesitas la opción 'Packet Socket' para comunicarte con los
elementos de red sin implementar un protocolo de red en el
núcleo. Aquí puedo ser escueto: seleccionala siempre. La mayoría
del resto de opciones no hay que activarlas, a menos que necesites
su soporte especifico. Por ejemplo, he seleccionado Ñetwork
packet filtering (replaces ipchains)' porque uso el cortafuegos
estándar de SuSE. Un cortafuegos proteje tu ordenador de ataques
del exterior, p.ej., a través de Internet, al menos cuando has
configurado el cortafuegos correctamente. Protección de
cortafuegos a nivel de núcleo es obviamente algo muy
ventajoso. Otras opciones para configurar ñetwork packet
filtering' se explican en la Figura 12. Necesitas Únix domain
sockets' para establecer conexiones de red, pero también a otras
aplicaciones: XWindows usa automaticamente sockets Unix, así que
no puedes usar XWindows sin esta opción. Actívala siempre. 'TCP/IP
networking' contiene los protocolos necesarios para Internet, y
también para las redes internas. Normalmente vas a necesitar
activar el soporte para TCP/IP. En caso de duda al seleccionar
alguna opción en particular, prueba con los textos de ayuda. Si no
consigues aclararte siempre es posible incluir el soporte, y
entonces quitarlo más tarde durante las pruebas. Compilar ciertas
opciones como módulos es también una buena posibilidad.
Figura 12: Configurando IP netfilter
(cortafuegos).
Para el funcionamiento correcto de su cortafuegos SuSE Linux
necesita compatibilidad hacia atrás para ipchains. De esta manera,
para SuSE selecciono esta opción. Si usas un cortafuegos en otras
distribuciones o instalaciones, consulta el manual.
Figura
13: Configurando telephony support.
Esto sólo lo necesitas si tienes una tarjeta telefónica en tu
ordenador, p.ej., para hacer llamadas a través de Internet. La
mayoría de usuarios comunes no necesitan esta opción.
Figura 14: Configurando ATA, IDE, MFM, RLL support
(protocolos de comunicación para discos duros).
Casi todo el mundo necesita estos protocolos, con la única
excepción de aquellos pocos sistemas que sólo tienen discos SCSI
y ningún otro tipo de disco. Por lo tanto, la mayoría de usuarios
deben elegir esta opción. Pulsando el la línea de debajo aparece
un sub menú con otra serie de opciones. De estas hablamos más
abajo. Debido a su importantcia no hay una sino tres capturas de
pantalla. Selecciona con cuidado: tienen una importancia extrema.
Figura 15: Configurando ATA, IDE, MFM, RLL support:
captura 1.
La opción superior es necesaria para todos aquellos que
interactuen con su hardware a través del interfaz IDE/ATAPI. Esto
incluye los discos duros, pero también unidades de cinta,
discos ZIP, y lectores y grabadores de CD. Basicamente, todos los
ordenadores modernos usan el interfaz IDE/ATAPI, y por lo tanto
esta opción está activada. La opción ínclude IDE/ATA-2 DISK
support' se necesita para soportar el disco duro del equipo. Por
eso, esta opción también tienes que estar activada, excepto si
tienes un equipo sólo con SCSI.
Figura 16: Configurando ATA, IDE, MFM, RLL support:
captura 2.
La opción ínclude IDE/ATAPI CDROM support' se selecciona
habitualmente si tienes un dispositivo CDROM ATAPI. Sin embargo,
a las grabadoras de CD ATAPI se accede mediante la emulación
SCSI. La emulación SCSI se puede usar para acceder tanto al lector
de CD como a la grabadora. Sin embargo, puedes tener problemas si
montas tus CDs a través de la emulación SCSI, como mensajes de
error al montar el CD, o al iniciar el reproductor de CD para
escuchar un CD de música. La mejor solución es activar ambas
opciones ínclude IDE/ATAPI CDROM support' y 'SCSI emulation
support' como se muestra en la Figura 16. El dispositivo que
necesita emulación SCSI, habitualmente la grabadora, se puede
definir en '/etc/lilo.conf' añadiendo la línea
áppend="hdd=ide-scsi"': de esto hablamos más abajo bajo la
cabecera 'Configuración de Lilo'. Como tengo una unidad ZIP
interno que se comunica con la placa base a través del interfaz
ATAPI, he seleccionado la opción ínclude IDE/ATAPI FLOPPY
support'. Se necesita la misma opción para acceder a otros
dispositivos similares a disqueteras, como una unidad LS120. La
mayoría de las placas base utilizan 'PCI IDE' para acceder a los
discos duros, CDROMs y disqueteras, y por lo tanto esta opción
está activada habitualmente. De la misma manera las dos
posibilidades de activar DMA. DMA le da a tu hardware acceso
directo a la memoria interna del ordenador, sin la intervención
del procesador. Como resultado de esto se puede acceder a los
discos IDE más rápido. Activa esta opción. La opción 'sharing PCI
IDE interrupts support' está desactivada porque lo más normal es
que no la necesites. Cierto, algunas controladoras IDE permiten
compartir interrupciones con otro dispositivo del ordenador, por
ejemplo con una tarjeta de red exótica. Desafortunadamente,
compartir interrupciones IDE disminuye el rendimiento de los
discos compartidos, por lo que normalmente sólo quieres compartir
interrupciones cuando es la única manera de solucionar ciertos
problemas serios de hardware.
Figura 17: Configurando ATA, IDE, MFM, RLL support:
screenshot 3.
Mi placa base tiene un chipset Pentium II e Intel, por lo que por
supuesto quiero usar el soporte específico para este chipset
particular. Cuando configures las opciones de tu propio núcleo
verás otros chipsets que no se muestran en la Figura 17.
Figura 18:
Configurando SCSI support.
Si tienes una tarjeta SCSI debes seleccionar, por supuesto, las
opciones que necesitas. La captura sólo muestra las opciones que
necesitas para tu grabadora ATAPI si has seleccionado 'SCSI
emulation support' (Figura 16).
Figura
19: Configurando I2O device support.
Debes seleccionar esta opción si tienes un interfaz I2O en tu
ordenador. La mayoría de gente no lo tiene, y si este es tu caso
simplemente desactiva la opción.
Figura
20: Configurando network device support.
Nunca he sido capaz de compilar un núcleo sin network
device support (soporte para dispositivos de red). Por lo tanto
deberías seleccionar esta opción. También deberías seleccionar el
driver dummy (dummy = falso), como parte del núcleo o como
módulo. Linux necesita un driver falso incluso aunque en realidad
la red física no existea, como es el caso de muchos usuarios
caseros. Incluso cuando hay una red linux usa frecuentemente el
driver dummy. En este menú puedes seleccionar el tipo de red y la
tarjeta de red, como se muestra en el ejemplo de la Figura 21. Ten
en cuenta que hay que hacer otras cosas aparte si quieres acceder
a internet a través de un módem: debes activar el soporte ppp
eligiendo 'PPP support for async serial ports' (para puertos COM)
o 'PPP support for sync tty ports' (para conexiones rápidas a
través de p.ej, un adaptador SyncLink). Si olvidas hacer esto el
núcleo te dirá que el módulo ppp no existe, aunque lo hayas
creado, un mensaje de error que no ayuda a encontrar el problema
real. Puedes elegir ambos métodos de compresión sin problemas: si
el núcleo los necesita se usarán, si no los necesita, no.
Figura 21: Configurando ethernet device.
Mi tarjeta ethernet es una tarjeta 3COM /100 MBit que usa el
chipset 3c509/3c529. Como no tengo ninguna conexión física con una
red (tengo una tarjeta de red, pero estoy conectado a la red a
través de un módem) compilo este driver como un módulo, por si
acaso necesito la tarjeta en un futuro. Por supuesto debes
seleccionar el tipo de red y tarjeta de tu equipo. Además, debes
configurar la conexión de red con un programa de configuración de
linux, como puede ser 'yast2' en SuSE.
Figura
22: Configurando amateur radio support.
Selecciona esta opción si quieres usar el soporte para
radioaficionado, y activa el driver necesario. La mayoría de gente
no usa esta opción.
Figura
23: Configurando support for infrared (wireless)
communication.
Activa la opción de comunicación infrarroja si tienes un
dispositivo inalámbrico, p.ej., un ratón inalámbrico o un teclado
inalámbrico. La mayoría de ordenadores de escritorio no los tienen
y no necesitan la opción.
Figura
24: Configurando ISDN support.
Aquí tienes que seleccionar el soporte para la tarjeta ISDN que
tengas en tu equipo. Es importante conocer qué tarjeta tienes,
incluido el chipset: necesitas esta información para seleccionar
el driver correcto.
Figura
25: Configurando old CDROM drivers.
En los antiguos equipos 486 e incluso 386 el CDROM no se conectaba
a través de la controladora del disco duro IDE (ATAPI), sino a
través de una tarjeta de sonido o una tarjeta especial. Al usar estos
antiguos CDs es necesario seleccionar el driver
correspondiente. Esta opción ha sido reemplazada en los equipos
modernos, y por lo tanto es supérflua.
Figura
26: Configurando input core support.
Esta opción se refiere a una de las novedades más importantes de
la serie 2.4.x del núcleo: el soporte para USB. Input core support
es la capa entre el núcleo y algunos dispositivos USB. La Figura
38 muestra varios dispositivos USB que puedes seleccionar, y el
texto de ayuda de alguno de estos indica los que necesitan ínput
core support': ver Figura 38. Debes activar aquí ínput core support'
si uno de tus dispositivos USB lo necesita. Todas las placas base
modernas tienen una conexión USB, así que por norma deberías
activarlo. Pero, para ser honesto, se que no necesitaré soporte
USB en mi sistema por lo que lo he desactivado.
Figura
27: Configurando character devices: captura 1.
La opción de arriba ('virtual terminal') activa la posibilidad de
abrir un xterm (usando XWindows) o usar el modo texto para
entrar. Normalmente esta opción está siempre activada. La segunda
opción ('support for console on virtual terminal') le dice al
núcleo dónde debería enviar los mensajes, como avisos sobre la
falta de un módulo o su funcionamiento incorrecto, problemas con
el propio núcleo, y mensajes de inicio. Bajo XWindows nomalmente
se habilita una ventana especial a parte para los mensajes del
núcleo, pero en el modo texto van tipicamente al primer terminal
virtual ('CTRL+ALT+F1'). Deja esta opción activada. También puedes
elegir enviar estos mensajes al puerto serie, p.ej., a la
impresora o a otro terminal (la cuarta opción). Para enviar los
menajes a la impresora debes activar también el puerto mediante
la tercera opción. De igual manera, debes activar este puesto si
quieres usarlo para un 'serial mouse' (ratón serie). De nuevo,
normalmente la tercera opción ('standard/generic (8250/16550 and
compatible UARTs) serial support') está activada. En mi equipo he
elegido compilar esto como un módulo. La razón es que durante el
arranque SuSE se queja de la falta del módulo 'serial support', e
incluir el soporte como módulo es una manera elegante de evitar el
mensaje asegurándonos que el módulo existe. Configurar los
'character devices' es extremadamente importante. Si no lo haces
correctamente puedes acabar con un sistema que no funcione. Por lo
tanto las figuras de la 28 a la 30 ahondan en una cuantas opciones
más.
Figura
28: Configurando los 'character devices': caputura
2.
Si quieres usar un xterm en tu máquina o desde una remota, por
ejemplo a través de 'telnet' o 'ssh', debes activar la opción
únix98 PTY support'. Puede parecer que un escritorio que no tiene
conexión no necesita esta opción, pero varios procesos en segundo
plano también usan esta opción. Por lo tanto, es una buena idea
activar esta opción en cualquier caso, aunque sólo sea para evitar
los mensajes de error (al menos en SuSE) durante el inicio. Todo
el mundo que conecte una impresora a través del puerto paralelo
necesita por supuesto 'Parallel printer support'. De todas formas,
no todo el mundo necesita el puerto paralelo: las modernas
impresoras USB no lo necesitan.
Los mensajes del núcleo también pueden ir a la impresora en el
puerto paralelo activando la opción 'Support for console on line
printer': habitualmente, no lo usarás. Necesitas la opción
'support for user-space parallel port device drivers' si tienes
ciertos dispositivos que cuelgan del puerto paralelo, pero no es
muy habitual. De igual manera, habitualmente no necesitas Í2C
support': es necesario para ciertas tarjetas que manejan video,
pero si descubres que lo necesitas siempre puedes añadirlo al
núcleo más tarde, una vez que sabes que el núcleo funciona
correctamente. Selecciona soporte para ratón y joystick cuando los
uses, pero no todos los ratones usan este driver (ver más abajo,
en la Figura 29). Las grabadoras de CD de hoy en día han dejado
obsoletas a las unidades de cinta que necesitan 'QIC-02 Tape
support', por lo tanto esta opción está habitualmente desactivada.
Figura
29: Configurando los 'character devices': Ratón.
No necesitas nada de esta opción si tienes un ratón de puerto
serie, pero para todos los demás tipos de ratones debes configurar
ciertos parámetros aquí. Si usas un ratón bus ORIGINAL debes
seleccionar la opción de arriba, y debajo de ella el
correspondiente tipo o marke del ratón bus. Muchos ordenadores hoy
en día tienen otros tipo de ratones, normalmente (y erroneamente)
llamados 'ratón bus (busmouse)' o ' ratón PS/2'. Estos ratones se
conectan frecuentemente a '/dev/aux' y se conectan al equipo a
través de un pequeño conector similar al los que se usan para
los teclados. A menudo este tipo de ratón usa el teclado para
conectarse al ordenador. Para hacer que estos ratones funcionen
correctamente debes seleccionar las opciones mostradas en la
Figura 29, 'mouse support (not serial and bus mice)' y 'PS/2 mouse
(aka "auxiliary device" support)'.
Figura
30: Configurando los 'character devices': captura
3.
Las opciones para configurar el núcleo entre la de la Figura 28 y
la Figura 30 no se discuten aquí. Normalmente están
desactivadas. La opción 'Ftape, the floppy tape device driver' se
refiere al soporte para las unidades de cinta conectadas a través
de la controladora de disquetera. Incluso aunque tengas tal
unidad de cinta no es esencial compilar su soporte, al menos
no la primera vez. Las otras opciones se refieren a las tarjetas
de video 3D modernas. Si tienes una tarjeta de video que se
conecta a través de un bus AGP, puedes activar el soporte para
AGP, y también el driver específico para tu tarjeta de video (bajo
'/dev/agpgart (AGP support)'). Ten en cuenta que es posible tener
un núcleo que funcione correctamente si estas opciones, ¡pero no
necesariamente! La gente que tenga una tarjeta de video integrada
en su placa base, como el chipset intel i815, ¡DEBEN usar el
driver del núcleo! Si no, XWindows 4.0 o superiores (usadas en la
mayoría de distribuciones más recientes) no funcionará. Mi equipo
tiene una tarjeta AGP, una NVidia TNT2, pero esta tarjeta no está
soportada por un módulo específico del núcleo (NVidia se niega a
compartir las especificaciones hardware, necesarias para
desarrollar estos drivers).
Desafortunadamente, en mi caso no tiene por lo tanto mucho sentido
activar el soporte para AGP. A pesar de este problema particular,
puedo usar XWindows 4.0 sin el driver del núcleo. 'Direct
rendering support' es para una opción XWindows desde la versión
4.0 para acelerar el rendimiento de los gráficos a través del
núcleo. Para hacer uso de esta opción tu tarjeta de video
específica debe estar soportada, y debes usar XFree86 4.0 o
superior. Además debes activar también ÁGP support'. De toda
maneras, puedes no seleccionar estas opciones con toda
tranquilidad y obtener un núcleo de linux que funcione correctamente.
Figura
31: Configurando los 'multimedia devices.
Esta opción está activada si tienes una tarjeta que maneja video o
radio. Como antes, esta opción no es esencial para el
funcionamiento correcto del núcleo.
Figura
32: Configurando los 'file systems': captura 1.
Aquí puedes especificar los sistemas de ficheros que pueden ser
leidos por el núcleo de linux. Quizá quieras hacer un núcleo de
linux que pueda leer discos y disquetes de Windows, pero debes
asegurarte de que el núcleo pueda leer el propio sistema de
ficheros de linux, ext2, o el nuevo sistema de ficheros
ReiserFS. Linux no podrá ni arrancar si no lo haces, porque
entonces el núcleo no puede leer su propio disco de arranque (como
se comentó antes cerca de la Figura 3). Para leer disquetes y
discos DOS/Windows necesitas activar la opción 'DOS FAT support':
sin embargo, para leer discos de Windows NT/Windows 2000 necesitas
un driver específico de solo lectura que se puede seleccionar
posteriormente en este menú. Para leer y también escribir discos y
disquetes DOS/Windows necesitas la opción 'MSDOS fs
support'. Virtualmente todo el mundo necesita esto, así que la
mayoría de gente activa estas opciones. 'VFAT' es para el soporte
de nombres de ficheros largos en Windows 95 o 98. Mi equipo es lo
que se llama un equipo de arranque dual, en el cual puedo arrancar
tanto Windows 98 como linux (usando el gestor de arranque de linux
lilo, ver 'Configuring lilo'). Por lo tanto he activado
'VFAT'. Necesitas incluir soporte para ISO 9660 leer CDs en
formato estándar. Bajo esta está la opción 'Joliet extensions',
que permite nombres de ficheros más largos que los de MS-DOS 8.3
que es el límite en el estándar ISO 9660. Casi todo el mundo
quiere leer los CDs de hoy en día, así que estas opciones
normalmente están activadas. La Figura 33 clarifica algunas
opciones adicionales, entre las que está el sistema de ficheros
ext2 de linux.
Figura
33: Configurando los file systems: captura 2.
Los ficheros en el directorio '/proc' contienen información sobre
el estado del sistema, p.ej., qué interrupciones están siendo
usadas. Normalmente siempre se activa esta opción. 'Second extended
fs support' es la opción relacionada con el sistema de ficheros estándar
(todavía) de linux. DEBES compilar está opción en el núcleo (¡NUNCA
como un módulo!). Las Figuras 32 y 33 no muestran la opción
'ReiserFS' que también puede ser seleccionada aquí: el sucesor
bendecido de ext2, ReiserFS gestiona mucho mejor el daño producido en
el sistema de ficheros debido a fallos en el suminitro eléctrico y
problemas similares. En este momento ReiserFS está todavía bajo
desarollo y por lo tanto marcado como código experimental. Aun así
la mayoría de distribuciones recientes ya soportan el uso de
ReiserFS, pero incluso aunque ReiserFS se supone que reemplazará a
éxt2' en el futuro no lo recomendaría como un sistema de ficheros
para todas las particiones ahora mismo. Necesitas el ÚDF file
system support' si usas (bajo Windows) el programa 'packetCD', que
permite copiar ficheros de un CD al vuelo así como desde un disco
duro lento. Es muy útil para intercambiar datos con otros
PCs. También es posible leer estos "packet CDs" bajo linux
montandolos con el sistema de ficheros údf', p.ej., con un
comando como 'mount -t udf /dev/scd0 /cdrom'. Esta parte también
contiene elementos como Ñetwork file systems' (sistemas de
ficheros de red), 'partition types' (tipos de particiones) y
Ñative language support' (soporte para lenguaje nativo). No
necesitas Ñetwork File Systems' a menos que tu ordenador sea
parte de una red grande, en cuyo caso necesitas activar ÑFS File
System Support' y quizá también 'SMB file support', pero para un
ordenador aislado no necesitas estas opciones. La opción
'Partition Types' es bastante avanzada pero no necesaria para un
uso efectivo del núcleo de linux. Es mejor desactviarla. Las
Figuras 35 y 35 explican con más detalle Ñative Language
Support'.
Figura 34: Configurando ñative language support': captura
1.
En este menú seleccionas qué tabla de códigos debe usar linux para
manejar los nombres de ficheros de DOS y Windows. Las tablas de
códigos de la figura 34 son los usuales para nombres de ficheros
de DOS. Las tablas NLS de la figura 35 son necesarios para usar
nombres de ficheros largos. La opción superior de la figura 34,
'Default NLS option', determina qué símbolos serán los estándar en
linux. La figura 35 representa y explica la opción íso8859-15'.
Figure 35: Configurando ñative language support': captura
2.
Necesitas la opción ÑLS ISO 8859-15' para reproducir
correctamente FAT de Windows y las extensiones Joliet de los
sistemas de ficheros de los CDs, algo que es siempre una buena
idea. La selección ÑLS ISO 8859-15' es apropiada para las lenguas
occidentales, e incluye el símbolo del euro. Por lo tanto esta
tabla de códigos se compila casi siempre con el núcleo. La tabla
ÑLS ISO 8859-1' es la tabla anterior de las lenguas occidentales
pero sin el soporte para el símbolo del euro.
Figura
36: Configurando los console drivers (drivers de consola).
La opción 'VGA text console' permite habilitar el modo texto con
una resolución VGA. Casi todo el mundo necesita esta opción, así
que esta opción casi siempre está activada. Sólo unos pocos de los
antiguos ordenadores 386 carecen de una tarjeta VGA compatible,
mientras que los ordenadores modernos no tienen ni el más ligero
problema con esta elección. La segunda opción, 'video mode
selection support', hace posible seleccionar la resolución del
modo texto durante el proceso de arranque. Esto es realmente útil
si quieres tener más letras por línea, pero normalmente se deja
desactivada. Las dos opciones finales son experimentales, y te
aconsejo que nos las selecciones.
Figura
37: Sound configuration (configuración del sonido).
En esta sección se configura la tarjeta de sonido. Si tu
distribución usa los drivers de sonido ALSA (como SuSE 6.3 y
superiores), sobra con seleccionar 'sound card support' como
MÓDULO. Los drivers ALSA se compilar y linkan más tarde (ver más
abajo bajo el epígrafe 'SuSE y los drivers de sonido ALSA'). Si tu
distribución usa los drivers de sonido estándars del núcleo debes
seleccionar ahora el adecuado para tu tarjeta de
sonido. Virtualmente todas las marcas de tarjetas de sonido se
nombran aquí, así que en principio la selección del driver
adecuado no es problema. Si tu tarjeta de sonido funciona con el
núcleo estándar de tu distribución puedes usar también programas
de configuración (como el 'yast2' de SuSE) para averiguar qué
driver necesita especificamente tu tarjeta de sonido. Es
tranquilizador saber que el sonido no es crítico: te quedas sin
sonido si algo va mal aquí, pero el núcleo en sí funciona perfectamente.
Figura 38:
Configurando ÚSB support'.
Mi placa base tiene un puerto USB, pero no lo uso. Sin embargo, si
desactivo el soporte para USB SuSE me da un mensaje de error
durante el arranque. Por supuesto SuSE soporta USB y por lo tanto
intenta cargar los módulos necesarios, por eso he seleccionado
'Support for USB' como un módulo. Aunque este mensaje de error no
es importante para mí, lo soluciono de una manera elegante
compilando el driver necesario para los puertos USB de mi
placa. Para hacer esto la opción mínima es poner 'y' en 'Preliminary
USB device filesystem' y cargar el driver específico de
USB. Puesto que mi placa Pentium II es bastante antigua he
seleccionado el driver ÚHCI (Intel PIIX4, VIA, ...)' como un
módulo. Pero, si tienes una placa base reciente con el chipset
Intel debes seleccionar el módulo ÚHCI Alternate Driver (JE)
support', mientras que p. ej., en un ordenador Compaq deberías
elegir ÓHCI support' como módulo. En principio sólo necesitas uno
de estos tres módulos, pero en caso de duda puedes elegir los
tres. Tu distribución de linux descubrirá cuál de los tres
necesita, y cargará automaticamente el correcto.
Habilitar simplemente los puertos USB de tu placa base no es suficiente, necesitas especificar también los drivers (módulos) del periférico USB que está conectado a tu ordenador. La lista que aparece bajo ÚSB Device Class drivers' tiene varias opciones. Lo que sigue es bastante sencillo y poco puede fallar: de todas maneras, en caso de duda lee la ayuda.
Figura
39: Configurando 'kernel hacking'.
Esta es fácil: ¡NO la selecciones!. Es una opción útil para
programadores que quieren encontrar la razón por la que el núcleo
falló o para leer la caché del disco duro: la opción no sirve de
nada para un usuario común.
Figura 40: | Save and Exit (guardar y salir). |
make dep make clean (para núcleos antiguos) make bzImage make modules make modules_installLa figura 40 ya indicó la necesidad del comando 'make dep'. Por supuesto ejecutamos estos comandos en el directorio del código fuente de linux, normalmente '/usr/src/linux'. Los núcleos de la serie 2.0.x o anteriores también necesitaban el comando 'make clean', que borraba ficheros antiguos antes de la compilación de un nuevo núcleo. El comando 'make clean' impedía extraños mensajes de error que eran difíciles de solucionar, pero que estaban causados presumiblemente por ficheros objeto (.o) antiguos que no eran sobreescritos. El comando 'make bzImage' compila el nuevo núcleo, pero todavía no lo instala. También puedes compilar el núcleo con otros comandos 'make', p.ej., 'make bzlilo' o 'make zImage', pero estos comandos pueden darte problemas inesperados. La mayoría de los núcleos son demasiado grandes como para permitir un 'make zImage' ejecutado correctamente: obtienes un mensaje de error durante la compilación, y acabas sin un núcleo. Con el comando 'make bzlilo' todo debe estar configurado correctamente el ficheros como '/etc/lilo.conf', pero este no es siempre el caso. Por lo tanto es más seguro evitar estos últimos comandos. El comando 'make modules' compila los módulos: se instalan con el comando 'make modules_install'. Este comando pone los módulos en el directorio '/lib/modules/2.4.6/' si la versión actual de núcleo es la 2.4.6: cambia cuando compilas otra versión del núcleo. De esta manera los módulos correspondientes a una versión en concreto del núcleo acaban automaticamente en un directorio específico, por lo tanto evitando conflictos con módulos obsoletos y problemas similares. Durante el arranque el núcleo de linux sabe en qué directorio puede encontrar los módulos correctos. Pero, los ficheros en '/lib/modules/2.4.6/' son sobreescritos y módulos antiguos permanecen si ya habías compilado el núcleo 2.4.6 antes y lo recompilas de nuevo. Entonces, puede que antiguos módulos sigan estando por ahí aunque ya no sean necesarios en el nuevo núcleo. Normalmente esto no es un problema, pero es siempre una buena idea tomarse el tiempo necesario para borrar los módulos antiguos antes de instalar los nuevos.
Para evitar problemas al instalar el núcleo también te debes asegurar de que la configuración de lilo '/etc/lilo.conf' es la correcta, y debes copiar el núcleo y el fichero 'System.map' en el lugar correcto. Después de todo esto también tienes que ejecutar el comando 'lilo'. Una alternativa es el uso de 'loadlin', que permite arrancar un núcleo de linux bajo Dos/Windows. Ambas opciones son comentadas más abajo.
boot = /dev/hda vga = normal read-only menu-scheme = Wg:kw:Wg:Wg lba32 prompt timeout = 300 message = /boot/message other = /dev/hda1 label = win98 image = /boot/bzImage label = linux-2.4.6 root = /dev/hda3 append = "parport=0x378,7 hdd=ide-scsi" image = /boot/vmlinuz.suse label = suse root = /dev/hda3 append = "hdd=ide-scsi" initrd = /boot/initrd.suse
El contenido detallado del fichero lilo.conf puede diferir del que se muestra arriba tanto entre equipos como distribuciones. Por lo tanto no voy a comentar paso a paso este fichero. Las 8 líneas superiores están correctamente configuradas y no es necesario que las modifiques, normalmente. El comando 'boot' en la primera línea indica el disco duro físico del que se arranca, esto es, 'boot' apunta a donde se encuentra el 'master boot record'. En mi caso arranco de /dev/hda, el primer disco duro físico. La opción 'vga' indica que el arranque usa el modo texto estándar VGA, con 80x25 caracteres. La opción 'read-only' significa que el proceso de arranque primero monta la partición de linux como sólo lectura. Durante el arranque de linux se requean las particiones en busca de errores: sólo después de esto se vuelven a montar con las opciones de lectura y escritura. La línea 'menu-scheme' establece los colores del menú de arranque de 'lilo' en modo texto. Con 'lda32' se posibilita el arrancar el sistema operativo después del cilindro 1024, siempre y cuando esto esté soportado por la BIOS. Todos los equipos modernos suportan 'lba32'. Los problemas con esta opción se pueden solucionar mediante una actualización de la BIOS, algo que es casi una necesidad con los grandes discos duros disponibles hoy en día. El comando 'prompt' fuerza a 'lilo' a mostrar un prompt que permite al usuario elegir el sistema operativo deseado. La opción 'timeout' establece el número de milisegundos que 'lilo' espera a que se teclee algo en el prompt antes de arrancar el sistema operativo por defecto. Si 'lilo.conf' no estable un sistema operativo por defecto, como en el ejemplo, el proceso de arranque inicia el primer sistema operativo que encuentra. En mi caso este es Windows98, así que la gente que no conoce linux todavía al final obtendrán un entorno Windows. La opción 'message' muestra un mensaje mientras se ejecuta 'lilo'. En SuSE es Tux, el estupendo pingüino mascota de linux, con (por supuesto) el texto 'SuSE Linux 7.1'. Puedes ver este mensaje escribiendo 'xv /boot/message' o 'gv /boot/message' (algunas veces incluso 'gimp /boot/message') : 'xv' y 'gv' (ghostview) son programas shareware con los que puedes ver varios tipos de formatos de imágenes. Ten siempre en cuenta que el fichero /boot/message no existe en los sistemas que no tienen una pantalla de login gráfica (p.ej. distribuciones antiguas), en este caso el 'boot message' es simplemente un mensaje de texto. En principio es posible mostrar tu propia imagen favorita durante el arranque, pero no he probado todavía esta posibilidad. Todas las opciones de 'lilo' están por supuesto documentadas en las páginas man, a las que puedes acceder a través de los comandos 'man lilo' y 'man lilo.conf'.
Las otras opciones gestionan el arranque de varios sistemas operativos. Como mucho puedes arrancar dieciseis sistemas operativos o núcleos distintos. Normalmente esto es suficiente. Seleccionas el sistema operativo con la línea 'label='. Lo normal con Windows98 (y también anteriores versiones de Windows y DOS, pero no Windows NT o Windows 2000) es tenerlo en la primera partición primaria. Por lo tanto estos sistemas operativos únicamente necesitan una línea óther' y una línea 'label'. La segunda sección, desde ímage=/boot/bzImage', inicia el nuevo núcleo con la etiqueta (label) 'linux-2.4.6'. Mi directorio raiz de linux es '/dev/hda3'. La línea áppend = "parport=0x378,7 hdd=ide-scsi"' le dice al núcleo la dirección y la interrupción para el puerto paralelo (port 0x378, interrupt 7), y especifica que mi grabadora 'hdd' debe ser manejada mediante emulación SCSI. El nombre de la grabadora depende del equipo: en el mio está en 'hdd', pero en el tuyo puede ser otro nombre. El uso de una interrupción es mayormente cuestión de gustos personales. Una interrupción acelera la impresión, pero puedes no incluir este comando si no tienes una interrupción disponible para el puerto paralelo (impresora). Por defecto en linux se usa el lento método de 'polling', que permite al núcleo usar el puerto paralelo sin una interrupción. La última sección, desde ímage = /boot/vmlinuz.suse', contiene la configuración de lilo que se realizó durante el proceso de configuración de SuSE: he añadido la línea append="hdd=ide-scsi" a mano. El fichero 'boot/vmlinuz.suse' es el núcleo estándar que viene con la distribución. Preferiblemente, deberías guardar este núcleo SIEMPRE para las emergencias. La línea ínitrd = /boot/initrd.suse' afecta únicamente a la instalación estándar del núcleo: especifica la carga de lo que se conoce como imagen 'ramdisk', un disco virtual que se carga en memoria (o memoria de acceso aleatorio - random access memory -, RAM). El 'ramdisk' contiene los módulos necesarios para el arranque correcto de linux: un núcleo de una distribución tiene, por supuesto, que ser capaz de acceder a una enorme variedad de hardware, algo que es sólo posible usando muchos módulos.
Espero que ahora esté claro dónde debes guardar el nuevo núcleo antes de ejecutar lilo. En este ejemplo, los comandos exactos son:
cp /usr/src/linux/arch/i386/boot/bzImage /boot cp /usr/src/linux/System.map /boot/System.map-2.4.6 liloEn SuSE 7.3 también puedes ejecutar el segundo comando así:
cp /usr/src/linux/System.map /boot( el System.map original ya ha sido renombrado )
rpm -bb /usr/src/packages/SPECS/alsa.spec cd /usr/src/packages/BUILD/alsa/alsa-driver-<version number>/ ./configure make installLa primera línea instala el código fuente, incluidos los drivers, en el directorio '/usr/src/packages/BUILD/'. Además las librerías de ALSA y las utilidades se compilan directamente como ficheros rpm. Desafortunadamente, los drivers no se compilan por defecto. Debes compilarlos e instalarlos por separado a mano usando los dos comandos de arriba. El comando './configure' encuentra las configuraciones y ficheros necesarios en tu sistema y los pone en un fichero de configuración. El comando 'make install' compila todos los drivers de ALSA y los instala a la vez para que puedan ser usados por el núcleo en el directorio '/lib/modules/2.4.6/misc/'. Ahora, al arrancar SuSE el driver de sonido deseado se instala automaticamente. Tengo que admitir que el procedimiento sugerido aquí es algo cutre, pero debes saber exactamente lo que estas haciendo para encontrar los drivers necesarios e incluir el soporte de sonido en un nuevo núcleo de manera más directa.
Si no usas SuSE, o si quieres usar una verción más reciente de los drivers de ALSA, puedes descargar estos drivers y las librerías y utilidades correspondientes de http://www.alsa-project.org. La página de inicio de este sitio muestra las últimas noticias sobre el proyecto ALSA (p.ej., la integración en febrero de 2002 de los drivers de ALSA con la rama de código fuente oficial de la serie 2.5 del núcleo) y enlaces a varios ficheros para su descarga. Abajo mostraré cómo compilar los drivers de ALSA: puedes seguir los mismos pasos para las librerías y las utilidades. Desempaqueta los drivers en un directorio conveniente, p.ej., '/usr/local/'. Entra en este directorio, en este caso '/usr/local/alsa-driver-<version-number>/' y ejecuta los comandos de arriba empezando por './configure'. Es posible que tengas que realizar algunos pasos adicionales para que los drivers funcionen si tu distribución no usa los drivers de ALSA como estándar. Desafortunadamente, estos problemas están fuera del alcance de este bastante extenso documento, pero puedes encontrar más ayuda en la FAQ (Frequently Asked Questions - Preguntas Frecuentes) de ALSA que también puedes descargar.
cp /etc/rc.d/pcmcia /etc/rc.d/pcmcia.SuSE cp ~/pcmcia-cs-3.1.?.tar.gz /usr/src cd /usr/src tar -zxf ./pcmcia-cs-3.1.?.tar.gz make config make all make install cp /etc/rc.d/pcmcia.SuSE /etc/rc.d/pcmciaLa primera y la última línea solucionan un problema específico de SuSE. El script de inicialización de pcmcia de SuSE es borrado con el comando 'make install', lo que hace que el script falle en SuSE. El problema se soluciona copiando el original de nuevo después del 'make install'. Si has sobreescrito por error el script original de SuSE debes reinstalar el paquete pcmcia de nuevo empezando con la parte á1', copiar el script original a otro fichero, executar 'make install' otra vez, y finalmente reemplazar el fichero con el script original.
Para obtener el nuevo fichero rpm para el soporte para pcmcia
en SuSE debes hacer lo siguiente:
rpm -i /cdrom/suse/zq1/pcmcia-3.1.?.spm cd /usr/src/packages rpm -bb ./SPECS/pcmcia-3.1.?.spec cd /RPMS/i386/ rpm -i --force ./pcmcia-3.1.?.rpm SuSEconfigEn la primera línea asumo que instalarás los drivers pcmcia desde el sexto o séptimo CD y que el lector de CD ya está montado en /cdrom. El comando 'rpm -i' instala el código fuente y el comando 'rpm -bb' compila el fichero rpm pcmcia. Después instala este fichero en particular como haces con todos los ficheros rpm. Fíjate que tienes que usar la opción '--force' porque de otra manera el programa rpm te dirá (correctamente) que 'pcmcia' ya está instalado, y por lo tanto ignorará el nuevo fichero. Como siempre, tienes que ejecutar el programa SuSEconfig (ten en cuenta las MAYÚSCULAS y las minúsculas) cuando has instalado ficheros rpm a mano en SuSE, para activar los cambios de la configuración. Lo último lo realizan automaticamente los programas de configuración de SuSE YaST o YaST2 después de haber instalado o modificado nuevos paquetes. Entonces, ya no es necesario hacer la activación a mano.
Para poder usar el soporte pcmcia correctamente debes activar ñetwork support' durante la compilación, pero debes desactivar todos los otros drivers para tarjetas de red. Y, como ya ha sido comentado con la figura 11, debes, por supuesto, activar también 'TCP/IP support' si quieres usar Internet.
insmod (que instala un módulo), rmmod (que borra un módulo, y) lsmod (mostar todos los módulos en uso),entre muchos otros. Con comandos como 'man lsmod' puedes averiguar cómo funcionan los distintos comandos, algo que no voy a tratar aquí.
Compilar e instalar 'modutils' es algo sencillo. Simplemente haz:
cd /usr/src cp ~/modutils-2.4.6.tar.bz2 . ( asumiendo que el fichero está en tu ) ( directorio personal, '~' ) bzip2 -d modutils-2.4.6.tar.bz2 ( unzip: puede tardar un poco ) tar -xvf modutils-2.4.6.tar cd modutils-2.4.6 ( ir al directorio en el que 'modutils' ha ) ( sido desempaquetado ) ./configure (encontrar la configuración específica del sistema ) make ( compilar 'modutils': puesto que es pequeño la compilación ) ( puede ser sorprendentemente rápida ) make install (instalar 'modutils' en el directorio '/sbin/' )Esto es todo lo que tienes que hacer para tener 'modutils' listo. Fíjate de nuevo que en este ejemplo 'modutils' tiene el mismo número de versión que el número del núcleo, pero esto no siempre es el caso.
Otra forma de inspeccionar los mensajes de arranque del núcleo es con el comando 'dmesg'. Simplemente ejecutando este comando se muestran los mensajes que aparecieron (y desaparecieron) por pantalla anteriormente. Enviarlos a un fichero, con 'dmesg > temp', te permite leer los mensajes de error a tu ritmo (con 'more temp', o tu editor favorito).
Si todavía tuvieses problemas y no supieses como solucionarlos, podrías usar varias de las listas y sitios web sobre linux donde puedes realizar preguntas. Estos existen en diferentes idiomas, no solo en inglés. Después de un tiempo razonablemente corto normalmente obtienes una respuesta que te permite solucionar tu problema. La mejor manera de encontrar estas listas y sitios web es con un buscador.
|
Contactar con el equipo de LinuFocus
© Philip de Groot, FDL LinuxFocus.org |
Información sobre la traducción:
|
2003-03-17, generated by lfparser version 2.34