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