Интерфейсы UDMA в виде PCI плат
Существуют интерфейсы UDMA, выполненные в виде PCI-плат, позволяющие установить поддержку UDMA без замены материнской платы, или для установки четырех дополнительных устройств. К тому же, они изначально устанавливаются на некоторые виды компьютеров (Gateway 2000, Dell).
Большинство из них не поддерживаются старыми ядрами (2.0.x), но многие из них должны работать с ядром 2.2.x и, соответственно, с дистрибутивами, основанными на этих версиях (RedHat 6.0, SuSE 6.1). Тем не менее, некоторые последние платы (например Promise Ultra66) не работают даже с текущими ядрами версий 2.2.x. Если у вас есть такая плата, то либо надо произвести патч ядра, либо установить свежий дистрибутив. В случае, если вам надо установить Linux на жесткий диск, подключенный к такой интерфейсной плате, то придется использовать пару фокусов:
Promise Ultra33
Это PCI-карта с двумя UDMA-каналами, поддерживающая до четырех устройств
http://www.promise.com.
Она поставлялась с ранними моделями компьютеров Gateway 2000 Pentium II.
Ядра 2.0.35 и выше, и все 2.2.x поддерживают Ultra33, и у вас не должно быть проблем с установкой дистрибутивов. Тем не менее, старые версии (2.0.34) не имеют такой поддержки, и вам будет сложно установить старый дистрибутив, если не можете или не хотите использовать новый (например, если это утвержденная версия в вашей организации).
Установка Linux и Ultra33
Хотя существует патч для Ultra33, не так уж просто его применить и пересобрать ядро, если нет инсталлированного Linux. Так что вам понадобятся следующее (спасибо Gadi Oxman'у):
Если во время инсталляции у вас есть доступ к консоли, использовуйте
команду "cat /proc/pci", чтобы посмотреть установки Promise Ultra33:
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)
и использовать параметры "ide2=a,b+2 ide3=c,d+2" при запуске ядра. |
В нашем случае это будет "ide2=0xe000,0xd806 ide3=0xd400,0xd006". Замечу,
что в вашем случае цифры могут отличаться. Если у вас только один винчестер
или два на одном кабеле, то можете не указывать ide3.
Red Hat 5.1: Загрузитесь с загрузочной дискеты и нажмите "Enter", когда
появится приглашение. Когда запустится ядро, выберите язык, тип клавиатуры
и вид инсталляции. Выберите, откуда будет производиться установка (пока это
не имеет значения). Когда появится "Выберите путь к дистрибутиву", нажмите
Alt-F2, и вы попадете в командный режим. Запустите "cat /proc/pci", запишите
цифры и снова загрузитесь с загрузочной дискеты. Наберите "linux ide2=
(цифры как в примере выше) ide3=(еще цифры)". Теперь можете без проблем
поставить дистрибутив на винчестер. Тем не менее, вы не сможете поставить
LILO. Вместо этого сделайте загрузочную дискету и загрузитесь с нее с теми
же параметрами. Затем вы можете произвести патч ядра.
Red Hat 5.0 и Slackware 3.4: Примерно так же, но программа
инсталляции этих
дистрибутивов не позволяет устанавливать Linux на /dev/hde-h (устройства на
ide2 и ide3). В этом случае необходимо использовать ide0 и ide1, вместо
ide2 и ide3. Только не забудьте про устройства, необходимые для
инсталляции. Например, если мы хотим поставить Linux c CD-ROM /dev/hdd
(интерфейс ide1 на материнской плате) на винчестер /dev/hdd (ide2 -
Ultra33), то должны использовать свободный ide0, а ide1 оставить без
изменения. В нашем случае мы должны загрузится с параметром
"ide0=0xe000,0xd806". В Red Hat 5.0 в командный режим можно попасть,
используя "аварийный диск" (rescue disk). В Slackware в командный режим
можно попасть в процессе стандартной установки. Тем не менее, в Red Hat 5.0
трудно загрузить Linux после окончания установки. Если у вас появились
проблемы с загрузкой, попробуйте использовать загрузочный диск из Slackware
ftp://ftp.cdrom.com/pub/linux/slackware-3.5/bootdsks.144/
С другими дистрибутивами Linux вам придется немного поимпровизировать, но процесс должен быть похож на вышеописанный.
ВАЖНО:
Без патча (описываемого в разделе "Унифицированные патчи IDE"), ядру
необходимы эти параметры, чтобы иметь доступ к диску! Следовательно, вы
должны сконфигурировать LILO, вне зависимости, находится ли оно на
винчестере или на флоппи-диске. Вы должны указать те же самые параметры,
что и во время инсталляции, иначе система не загрузится! И
придется указывать эти параметры вручную для LILO. Также вы можете, как
можно быстрее, произвести патч ядра, и больше не придется беспокоится о
параметрах загрузки. И еще, не существует возможности передать параметры
ядру, находящемуся на флоппи-диске (сделанному при помощи "make zdisk"),
т.е. вы должны использовать LILO (или LOADLIN).
В случае, если ядра без патча и программы инсталляции не могут использовать
ide2 и ide3, даже если устройства определились правильно, попробуйте
указать ide0 или ide1, вместо ide2 и ide3. Это, по сути, отключает IDE
интерфейс материнской платы, и можете следовать инструкциям так, как
если бы физически заменили интерфейс. Замечу, что если вы используете IDE
CD-ROM, подключенный к материнской плате, но должны убедиться, что не
перекрыли этот интерфейс. Если CD-ROM на hda или hdb, используйте ide1.
Если он на hdc или hdd, используйте ide0.
Другой вариант установки Linux и Ultra33
Если вы не можете добиться желаемого результата программным путем, то
попробуйте более грубый метод. Этот альтернативный метод
практически должен сработать, но придется залезть в компьютер, со
всеми выходящими отсюда последствиями. ВНИМАНИЕ: Если процесс
подключения/отключения IDE устройств вам не знаком, то, перед тем как
начать, прочитайте руководства, идущие вместе с компьютером, винчестером
и/или с Promise Ultra33! Если вы что-нибудь открутите и не будете знать, как
это поставить обратно, то останется лишь сожалеть об этом!
Как было сказано, все очень просто. В большинство современных материнских
плат встроены IDE-интерфейсы. Отключите винчестер от Ultra33 и подключите
его к материнской плате. Если к материнской плате подключены другие IDE
устройства, такие как CD-ROM или ZIP, то очень просто подключить винчестер
к свободному разъему кабеля IDE или временно отключить устройство, которое
сейчас вам не нужно (стриммер или ZIP). Установите Linux. Скачайте и
примените патч для Promise UDMA (см. следующий раздел).
Теперь вы готовы (почти) к тому, чтобы подключить винчестер обратно к
Promise. Чтобы обезопасить себя, сделайте загрузочный диск с ядром (cd
/usr/src/linux ; make zdisk), с которого можете загрузиться, если не
получится с винчестера. На самом деле, лучше всего сделать два диска и один
спрятать.
Хорошо, теперь настало время немного подумать: если у вас только один
жесткий диск, и он будет подключен к Promise, то скорее всего он будет
/dev/hde (a и b - это первичный интерфейс, c и d - это вторичный интерфейс
материнской платы). Если вы хотите подключить другие устройства к
первичному интерфейсу Promise, это будет /dev/hdf, к вторичному - /dev/hdg
и /dev/hdh.
Отредактируйте /etc/fstab, сменив все разделы на винчестерах, отключаемых
от материнской платы (/dev/hda, hdb, и т.д.), на соответственные значения в
Promise (/dev/hde, hdf, и т.д.). Если вы хотите переподключить другие
устройства (такие как CD-ROM или ZIP), смените и их. Например, если CD-ROM
сначала был на /dev/hda, а туда вы подключали жесткий диск, и он теперь на
/dev/hdb или /dev/hdc, поставьте обратно /dev/hda.
Если вы используете LILO, настройте его на загрузку с правильного
устройства (если не знаете как, прочитайте LILO mini-HOWTO), иначе
не удастся загрузиться даже с загрузочной дискеты, которая у вас есть, т.к.
ее тоже нужно настроить на загрузку с нового раздела. Это можно сделать при
помощи команды rdev. Вставьте диск в дисковод и наберите "rdev /dev/fd0 /dev/hde1". Только, конечно, вам нужно указать правильный корневой раздел
(у меня, например, /dev/hde7)!
Перезагрузитесь. Система должна работать нормально.
Патч для Ultra33
Ядра 2.0.35 и выше поддерживают Promise Ultra33; скачайте и установите ядро из вашего дистрибутива или с http://www.kernel.org.
В качестве инструкции по сборке ядра, прочитайте Kernel HOWTO.
Использование других карт Ultra33 на одной машине
В данный момент это не поддерживается: не делайте это прямо сейчас, если вы только не хотите возиться с ядром, чтобы заставить их работать.
Promise Ultra66
По сути это та же Ultra33, но поддерживающая UDMA в режиме 4 со скоростью передачи 66МБ/сек
Патч для ядер 2.0.x и 2.2.x доступен на
http://www.kernel.org/pub/linux/kernel/people/hedrickК тому же поддержка этих карт включена в серию 2.3.x (начиная с 2.3.3).
Тем не менее, чтобы произвести патч или заменить ядро, вам нужно использовать те же фокусы, как и для Ultra33 в предыдущем разделе. Или использовать загрузочный диск, provided by Promise
Artop ATP850UF
Эта карта поддерживается унифицированным кодом IDE. Инсталляция Linux на жесткий диск, подключенный к этой плате, потребует того же, что и для Promise Ultra33.
Добавление файлов устройств
Третий и четвертый интерфейс IDE (ide2 and ide3) используют файлы от
/dev/hde* до /dev/hdh*. В старых дистрибутивах они автоматически не
создаются, так что вам придется создать их вручную.
Это можно довольно просто сделать, если у вас установлены исходные тексты
ядра. Просто запустите /usr/src/linux/scripts/MAKEDEV.ide, и он создаст все
необходимые файлы устройств.
Пред. | Начало | След. |
Использование жестких дисков с интерфейсом UDMA | | Встроенные интерфейсы UDMA |