Página siguiente Página anterior Índice general

5. Interfaces UDMA PCI externas

Estas son interfaces UDMA sobre tarjetas PCI que pueden ser usadas para añadir esta capacidad a un ordenador existente sin tener que reemplazar la placa madre o para añadir soporte para cuatro dispositivos adicionales a un ordenador que tiene ocupados todos los que ofrece su placa madre. Pueden encontrarse preinstaladas en algunos ordenadores, especialmente en máquinas Gateway 2000 y Dell.

Muchas de ellas no están soportadas por los núcleos estables actuales (como el 2.0.35), debiendo aplicarse un parche o usar uno de los núcleos de desarrollo (2.1.x). Si necesita instalar Linux en un disco duro conectado a estas interfaces, necesitará usar algunos trucos.

5.1 Promise Ultra33

Esta es una tarjeta PCI que tiene dos canales UDMA, soportando hasta cuatro dispositivos en total. Puede ver las especificaciones y precios en http://www.promise.com.

Esta tarjeta se incluía en los sistemas Pentium II modernos modelo Gateway 2000, y puede aparecer o no en modelos más recientes.

El núcleo 2.0.35 soporta el Ultra33 explícitamente, y los núcleos en desarrollo (el actual es el 2.1.114) dispone de soporte genérico para interfaces IDE PCI que, automáticamente, detecta el Promise Ultra33. Pero, los viejos núcleos estables (2.0.34 e inferiores) no lo detectan y, dado que muchas de las distribuciones de Linux incluyen estos últimos, puede ser bastante complicado instalar este sistema operativo.

Instalando Linux con la Promise

Aunque hay un parche para la interfaz Promise, ˇno es fácil aplicarlo y recompilar el núcleo si todavía no tiene Linux instalado! Por eso, hay un truco que le permite instalarlo. Agradecimientos a Gadi Oxman por la siguiente información sobre la obtención de la configuración de la interfaz:

Si podemos acceder a la consola con el disco de instalación, también
podemos usar "cat /proc/pci" para obtener la configuración de la interfaz:

    RAID bus interface: Promise Technology Unknown device (rev 1).
      Vendor id=105a. Device id=4d33.
      Medium devsel.  IRQ 12.  Master Capable.  Latency=32.
      I/O at 0xe000.   (a)
      I/O at 0xd804.   (b)
      I/O at 0xd400.   (c)
      I/O at 0xd004.   (d)
      I/O at 0xc800.   (e)

y pasar el parámetro "ide2=a,b+2 ide3=c,d+2" en la línea de argumentos
del núcleo.

Nótese que los números probablemente no sean los mismos que los que usted tendrá. Sólo como ejemplo, los parámetros a usar con el conjunto de números anterior sería ``ide2=0xe000,0xd806 ide3=0xd400,0xd006''. Si sólo está usando el primer canal del Ultra33 (por ejemplo, si usted sólo dispone de un dispositivo, o dos si son master y slave en el mismo canal), entonces no necesitaría especificar ide3.

Red Hat 5.1: Inicie la instalación con el disquete de arranque, pulsando ENTER cuando se le pregunte. El núcleo se cargará y entonces se le preguntará por el idioma, tipo de teclado, y modo de instalación. Se le pedirá información adicional sobre el medio de origen; no importa lo que responda mientras llegue al siguiente paso. Entonces verá una pantalla titulada ``Select Installation Path''; pulse Alt-F2 ahora para llegar al intérprete de comandos. Ejecute ``cat /proc/pci'', apunte los números como antes, y vuelva a arrancar desde el mismo disquete. Esta vez, escriba ``linux ide2= (aquí es donde debe poner los números como se mostró anteriormente) ide3=(más números)'' y luego pulse ENTER. Ahora debería ser posible alojar Linux en su disco duro sin dificultades, aunque LILO probablemente no será capaz de instalarse de forma correcta: haga un disquete de arranque y utilícelo para acceder a su sistema Linux con los mismos parámetros, hasta que pueda parchear el LILO y el núcleo.

Red Hat 5.0 y Slackware 3.4: El proceso a seguir en ambas distribuciones es similar, incluyendo el problema de que los programas de instalación ignoran los /dev/hde-h (los dispositivos en ide2 e ide3). Para poder instalar a/o desde estos dispositivos es necesario pasar por encima de uno o de los dos canales de interfaz de la placa madre. De todas maneras, asegúrese de no pasar por encima de un dispositivo que necesite para la instalación; por ejemplo, si está instalando desde un CD-ROM en /dev/hdd (ide1, interfaz en la placa madre) a un disco duro en /dev/hde (ide2, el Ultra33), debería deshabilitar el innecesario ide0 con ide2 y dejar intacto ide1. Asumiendo los números anteriores, debería arrancar con ``ide0=0xe000,0xd806''. Red Hat 5.0 le ofrecerá un intérprete de comandos si usa la capacidad de disquete de rescate (rescue disk), y Slackware incluye un intérprete en el proceso de instalación normal. Tenga en cuenta que Red Hat 5.0 es difícil de arrancar después de la instalación; si tiene problemas podría probar a bajarse un disquete de arranque de Slackware desde ftp://ftp.cdrom.com/pub/linux/slackware-3.5/bootdsks.144/ y usarlo para arrancar.

Con otras distribuciones de Linux deberá improvisar un poco, pero el proceso debería ser el mismo que el visto anteriormente.

IMPORTANTE: ˇSin el parche (del cual se habla en la sección UDMA­Genérico), el núcleo necesita estos parámetros de arranque para poder acceder a su disco duro! Por eso es muy importante que cuando configure LILO, tanto en un disco duro como en un disquete de arranque, añada los mismos parámetros exactamente tal y como lo hizo al instalar. ˇDe otra manera su sistema no arrancará! Debería ser posible pasárselos a LILO cuando arranque (por ejemplo, pulsando MAYS, escribiendo ``linux ide2=.....'' cada vez que lo haga), ˇpero sólo podrá hacerlo si guarda los números! Es recomendable que aplique el parche al núcleo tan pronto como pueda para que no deba preocuparse al respecto; una vez que pueda arrancar con el núcleo parcheado, podrá olvidarse de los parámetros de arranque. Además, por lo menos que yo sepa, no hay manera de pasar parámetros a un disquete de arranque sencillo (hecho con ``make zdisk''), deberá usar LILO u otro cargador (como LOADLIN) que le permita pasarlos.

De todas maneras, los núcleos no parcheados y programas de instalación pasan un mal rato usando ide2 e ide3, aunque los dispositivos hayan sido detectados correctamente. Por eso, si no es capaz de instalar Linux usando la técnica anterior, pruebe a especificar ide0 o ide1 en vez de ide2 o ide3 (gracias a Martin Gaitan por esta técnica). Esencialmente consiste en reemplazar el interfaz en placa por el Promise Ultra33, al menos en lo que concierne al núcleo, pudiendo seguir en la dirección de la siguiente sección como si los hubiera movido físicamente. Nótese que si está usando el CD-ROM IDE conectado a su interfaz en placa como fuente de la instalación, ˇdeberá asegurarse que no deshabilita la interfaz en la que se encuentra el CD o será incapaz de instalar! Si el CD está en hda o hdb, use ide1 para su disco duro, y si está en hdc o hdd, entonces use ide0.

Instalando Linux saltándose la Promise

Si no consigue que funcionen los trucos software, tendrá que usar un método más expeditivo. Este es un método alternativo que virtualmente tiene éxito garantizado, pero va a requerir que abra su ordenador y lo modifique internamente. NOTA: ˇSi no está familiarizado con el proceso de conectar y desconectar dispositivos IDE, lea los manuales que venían con su ordenador, su disco duro y/o con la Promise Ultra33 antes de intentarlo! Si modifica algo y no sabe cómo ponerlo otra vez en su sitio, ˇpodría acabar arrepintiéndose!

Habiendo dicho esto, es todo muy simple. Muchas de las placas madres de hoy en día tienen incorporadas interfaces EIDE. Desconecte su disco duro de la Ultra33 y conéctelo a la interfaz en placa. Si tiene otros dispositivos IDE en la misma interfaz, como un CD-ROM, una unidad de cintas o un disco ZIP, es más fácil si simplemente añade el disco duro en algún canal no usado (el secundario en vez del primario) o temporalmente desconecte algún dispositivo que no necesite inmediatamente (como el ZIP o la cinta). Instale Linux y, finalmente, bájese y aplique el parche para la Promise UDMA (vea la sección siguiente).

Ahora está en disposición de volver a poner el disco en la Promise... casi. Para estar seguro haga un disquete de arranque (cd /usr/src/linux ; make zdisk) que podrá usar para arrancar su sistema en caso de que LILO no funcione. Bueno, para estar muy seguro, haga dos y guarde uno de ellos por ahora.

Muy bien, ahora es el momento de pensar un poco... si sólo dispone de un disco duro que se encontrará en la Promise, entonces lo más seguro es que sea /dev/hde (a y b son para la interfaz primaria en placa, c y d para la secundaria). Si va a poner más discos, entonces el esclavo del primer canal de la Promise será /dev/hdf, el master del segundo /dev/hdg y el esclavo del segundo /dev/hdh.

Edite /etc/fstab, y cambie todas las particiones de los discos duros que está moviendo de los dispositivos en placa (/dev/hda, hdb, etc) a sus nuevas localizaciones en la Promise (/dev/hde, hdf, etc). Si tiene que poner otros dispositivos (como un CD-ROM o un disco ZIP) que desea dejar en la interfaz en placa, entonces cámbielos a su nueva localización también. Por ejemplo, si su CD-ROM era originariamente el master del canal primario (/dev/hda), pero puso su disco duro en ese lugar y tuvo que cambiar el CD al esclavo (/dev/hdb) o al canal secundario (/dev/hdc), y ahora quiere volver a ponerlo otra vez en su sitio, entonces cámbielo a /dev/hda.

Si está usando LILO, reconfigúrelo para usar la nueva localización del dispositivo (la configuración de LILO sale de las pretensiones de este documento, así que si no conoce cómo hacerlo, lea el LILO mini-HOWTO), o no será capaz, probablemente, de arrancar a menos que no use el disquete de arranque que le he hecho hacer, con el que también deseará arrancar la nueva partición. Esto se hace usando el comando rdev: introduzca el disquete y escriba ``rdev /dev/fd0 /dev/hde1''. Por supuesto, esto es suponiendo que su partición raíz es la primera de su primer dispositivo UDMA. Si no es así (por ejemplo, en mi caso es /dev/hde7), entonces use el número de partición apropiado.

Vuelva a arrancar. Su sistema tendría que funcionar correctamente.

Aplicando el parche para la Promise

El núcleo 2.0.35 y superior soporta de forma nativa la Promise Ultra33; obtenga y actualícese desde su distribución Linux o desde http://www.kernel.org.

Para instrucciones sobre cómo compilar el núcleo, lea el Kernel-COMO.

Usando dos tarjetas Ultra33 en el mismo ordenador

Esto actualmente no funciona correctamente... no lo haga por ahora a menos que esté deseoso de modificar el núcleo para hacer que las cosas funcionen.

5.2 Artop ATP850UF

Esta tarjeta está soportada por el udma-generic. La instalación de Linux en un sistema con esta tarjeta como interfaz para el disco destino debería ser similar al proceso para con la Promise Ultra33.

5.3 Añadiendo ficheros de dispositivo

Las interfaces IDE terciario y cuaternario (ide2 e ide3) usan ficheros de dispositivo entre el /dev/hde* y el /dev/hdh*. En núcleos antiguos estos dispositivos no eran creados automáticamente, por lo que podría ser necesario añadirlos de forma manual para que las cosas funcionen correctamente.

Esto se puede hacer fácilmente si tiene actualmente una copia instalada de los fuentes del núcleo; simplemente ejecute /usr/src/linux/scripts/MAKEDEV.ide y se crearán los ficheros de dispositivo relevantes.


Página siguiente Página anterior Índice general