Istnieją interfejsy UDMA jako karty PCI, przy pomocy których można dodać obsługę UDMA bez wymiany płyty głównej lub dodać kolejny kontroler jeśli istniejące zostały już zapełnione. Są one także czasami instalowane w nowych komputerach: Gateway 2000 i Dell.
Większość z nich nie jest obsługiwana przez stare jądra serii 2.0.x, ale wiele powinno być obsługiwanych przez jądra 2.2.x. Jednak niektóre z najnowszych takich kart (np. Promise Ultra66) nie są obsługiwane nawet przez najnowsze jądra [od tłumacza: teraz (II.2001) jednak chyba już większość jest obsługiwana]. Jeśli posiadasz taką kartę, to musisz zainstalować łatę na jądro albo znaleźć nowsze z obsługą twojej karty. Jeśli musisz zainstalować Linuksa na dysku na takim interfejsie, to trzeba będzie trochę pokombinować.
Jest to karta PCI z dwoma kanałami UDMA, obsługująca do 4 dysków. Specyfikacje i ceny można znaleźć pod adresem http://www.promise.com. Karta ta jest we wczesnych modelach Gateway 2000 Pentium II.
Jądra 2.0.35 i nowsze oraz wszystkie 2.2.x obsługują Ultra33 i nie powinno być problemów z zainstalowaniem dystrybucji opartej na tych jądrach. Starsze jądra nie obsługują tego standardu i z instalacją Linuksa starszej wersji możgą być kłopoty jeśli nie można lub nie chce się przejść na nowsze jądro.
Instalacja Linuksa z obsługą Ultra33
Pomimo iż jest łata do interfejsu Ultra 33, to zainstalowanie jej i kompilacja jądra nie jest prostą sprawą jeśli nigdy nie instalowałeś Linuksa. Jest więc pewne obejście, które pozwala zainstalować system na takim interfejsie. Podziękowania dla Gadi Oxmana za poniższe informacje na temat ustawień interfejsu:
Jeśli jest dostęp do konsoli z dysku instalacyjnego, to można
wyświetlić ustawienia karty Promise poleceniem "cat /proc/pci":
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)
i przekazać do jądra parametry "ide2=a,b+2 ide3=c,d+2".
Uwaga: Liczby podane tutaj będą się różnić od Twoich. Przykładowymi
parametrami w tym przypadku będą: ``ide2=0xe000,0xd806
ide3=0xd400,0xd006''.
Jeśli używany jest tylko pierwszy kanał Ultra33 (np. jeśli jest
tylko jeden dysk czy dwa jeśli są to master i slave na jednym
kanale) wtedy nie trzeba podawać ide3.
Red Hat 5.1:Należy wystartować z dyskietki startowej i wcisnąć ENTER po
pojawieniu się zachęty. Jądro wystartuje i pojawi się zapytanie o
język, klawiaturę i metodę instalacji. Źródło instalacji nie ma
znaczenia, ważny jest kolejny krok: powinno się pojawić okienko
zatytułowane ``Select Installation Path'', wciskamy Alt-F2, aby
przejść do linii poleceń. Wpisujemy ``cat /proc/pci'', zapisujemy
liczby, które się pojawią i startujemy ponownie z dyskietki
startowej. Tym razem, gdy pojawi się zachęta wpisujemy ``linux
ide2= (tutaj te numerki spisane wcześniej jak na
przykładzie wyżej) ide3=(i kolejne numerki)''. Teraz
instalacja na dysk twardy powinna odbyć się już bez problemów,
chociaż LILO będzie pewnie miało problemy z zainstalowaniem się.
Zamiast instalować LILO trzeba zrobić dyskietkę startową i
startować z niej z parametrami jw. dopóki nie będzie można załatać
jądra i LILO.
Red Hat 5.0 i Slackware 3.4:Tutaj sytuacja jest podobna,
z małym wyjątkiem: programy instalacyjne ignorują /dev/hde-h
(dyski na ide2 i ide3). Aby zainstalować Linuksa na lub z
takiego dysku trzeba nadpisać jeden lub oba kanały z płyty głównej.
Jednak uwaga na nadpisanie kanału, z którego odbywać się będzie
instalacja. Np. jeśli instalacja odbędzie się z CD-ROMu na
/dev/hdd (ide1 - kontroler na płycie głównej) na dysk
/dev/hde (ide2 - Ultra33), trzeba nadpisać ide0
przez ide2 a zostawić ide1. Przy starcie z dyskietki
ratunkowej pojawi się zachęta w RH 5.0 natomiast Slackware
udostępnia powłokę w trybie instalacyjnym. Jednak RH 5.0 stwarza
problemy z wystartowaniem po instalacji. Jeśli takie problemy
pojawią się można sciągnąć dyskietkę startową Slackware'a z
ftp://ftp.icm.edu.pl/pub/linux/slackware/slackware-current/bootdsks.144/
i użyć tej dyskietki.
W wypadku innych dystrybucji trzeba trochę poimprowizować, ale proces powinien być podobny.
WAŻNE: Bez łaty (omawianej w punkcie
Zunifikowane IDE) jądro potrzebuje
parametrów startowych, aby dostać się do dysku! Z tego powodu
bardzo ważnym jest podczas konfiguracji LILO (na dysku lub
dyskietce), aby podać dokładnie te same parametry jak podczas
instalacji. W przeciwnym wypadku system nie wystartuje! Można te
parametry przekazać podczas startu systemu (tak samo jak podczas
instalacji) w zachęcie LILO wciskając SHIFT i wpisując ``linux
ide2=.....'' za każdym razem. Polecam jednak czym prędzej
załatać jądro i zapomnieć o wpisywaniu tych parametrów. Z tego co
się orientuję, to nie ma sposobu przekazania parametrów do jądra
startującego z dyskietki, TRZEBA używać LILO lub innego
programu ładującego system, który pozwala na przekazywanie
parametrów.
Niełatane jądra i programy instalacyjne często mają problemy z używaniem ide2 czy ide3 nawet jeśli napędy zostały poprawnie wykryte. Jeśli nie można użyć tych interfejsów przy pomocy powyższej techniki, to można spróbować podać ide0 lub ide1 zamiast ide2 czy ide3 (podziękowania dla Martina Gaitana). To podmienia interfejsy na płycie głównej na Promise Ultra33 i można kierować się wskazówkami z następnego punktu tak jak po fizycznej zamianie tych interfejsów. Jeśli do instalacji użyty zostanie CD-ROM, to należy uważać, żeby nie podmienić interfejsu, do którego jest on podpięty, bo instalacja będzie nie możliwa! Jeśli jest to hda lub hdb, to dysk należy podpiąć do ide1 w przeciwnym razie (hdc, hdd) - do ide0.
Instalacja Linuksa omijająca Ultra33
Jeśli nie można zastosować takiego obejścia jw., to trzeba spróbować czegoś innego. Oto alternatywna metoda, która gwarantuje działanie, ale wymaga otwarcia komputera i pogrzebania w nim. UWAGA: Jeśli nie bardzo wiesz jak podłączać i odłączać dyski, to radzę zapoznać się z podręcznikiem, który otrzymałeś z dyskiem czy sterownikiem! Jeśli coś pochrzanisz i nie będziesz wiedział jak to złożyć spowrotem, to będziesz żałować!
Skoro już to napisałem, to reszta jest już prosta. Większość płyt głównych z czasów obecnych ma wbudowane interfejsy EIDE. Należy odłączyć dysk od Ultra33 i podłączyć go do EIDE. Jeśli są jakieś inne urządzenia IDE, to należy albo podłączyć dysk na nie używanym kanale, albo chwilo odłączyć urządzenie, które nie jest teraz potrzebne. Potem: zainstaluj Linuksa, ściągnąć łatę, zainstalować ją na jądro (następny punkt).
Teraz można już przełączyć dysk spowrotem do interfejsu Promise...
no prawie. Na wszelki wypadek należy zrobić dyskietkę startową
(cd /usr/src/linux ; make zdisk), którą będzie można użyć
do startu systemu jeśli LILO nie będzie działać. A żeby być jeszcze
bardziej pewnym można zrobić dwie i jedną odłożyć na bok.
Dobra, to teraz czas trochę pomyśleć. Jeśli
na interfejsie Promise jest tylko jeden dysk, to będzie to /dev/hde (a i
b to pierwszy kontroler IDE, c i d - drugi).
Ewentualne dodatkowo umieszczane tam napędy będą
przyjmować kolejne litery od e tak jak dyski IDE.
Teraz trzeba zmodyfikować plik /etc/fstab i podmienić
wpisy hda, hdb, ... na odpowiednie hde, hdf, .... Jeśli
zmieniona została lokalizacja (z master na slave) jakiegoś innego
urządzenia (CD-ROM, ZIP) lub jakieś wyjęte, które mają zostać
w komputerze, to także trzeba je dopisać do tego pliku.
W przypadku użycia LILO, trzeba także skonfigurować i je, aby używało
nowych plików urządzeń (omawianie konfiguracji LILO jest poza
zakresem tego dokumentu. Aby dowiedzieć się jak to się robi zajrzyj
do
LILO mini-HOWTO. W przeciwnym wypadku trzeba będzie użyć
dyskietki, która została zrobinoa wcześniej, którą i tak trzeba teraz
skonfigurować, aby widziała dysk na hde. Robi się to
poleceniem rdev. Wkładamy dyskietkę do stacji i wpisujemy ``rdev
/dev/fd0 /dev/hde1''. Oczywiście zakładam tutaj, że Twoja
główna partycja jest pierwszą na dysku pierwszym. Jeśli nie, to
użyj poprawnego numeru partycji!
Reboot. Teraz system powinien działać poprawnie.
Instalowanie łaty do Ultra33
Jądra w wersji 2.0.35 i nowsze mają wbudowaną obsługę Promise Ultra33. Trzeba tylko ściągnąć takie jądro z ftp.icm.edu.pl i je skompilować.
Instrukcji jak to zrobić należy szukać w Kernel HOWTO.
Używanie dwóch kart Ultra33 w jednym komputerze
W tej chwili nie działa... Nie radzę próbować o ile oczywiście nie masz ochoty na kompilacje jądra i kombinowanie z różnymi konfiguracjami.
Jest to mnie więcej to samo urządzenie co Ultra33, tyle że obsługuje UDMA 4 66 MB/s. Niestety nie ma jeszcze obsługi w jądrach 2.2.x
Obsługa jest zawarta w dostępnej łacie dla jąder 2.0.x i 2.2.x pod adresem ftp.icm.edu.pl oraz w jądrach rozwojowych 2.3.x od 2.3.3 w górę.
Jednak zanim będzie można załatać jadro lub uaktualnić je, to trzeba zastosować te same sztuczki co dla Promise Ultra33. Albo można użyć dystkietki startowej udostępnionej przez Promise.
Ta karta jest obsługiwana przez zunifikowany kod IDE. Instalacja Linuksa na niej może być podobna do instalacji na Promise Ultra33.
Trzeci i czwarty interfejs IDE (ide2 i ide3) używają plików
urządzeń /dev/hde* do /dev/hdh*. W przypadku starszych
jąder pliki te nie były tworzone automamtycznie i trzeba je dodać
ręcznie, aby dysk działał.
W źródłach któregoś z nowszych jąder, znajduje się skrypt
/usr/src/linux/scripts/MAKEDEV.ide, który wystarczy
uruchomić.