Ключевые слова:linux, kernel, ata, ide, raid, disk, hardware, (найти похожие документы)
From: Aleksey Konovalov aka alk <alk_te@yahoo.com>
Newsgroups: email
Date: Mon, 5 Sep 2003 14:31:37 +0000 (UTC)
Subject: HOWTO по настройке работы Linux с ATA RAID контроллером Promise FastTrak TX2000
Promise FastTrak TX2000 RH-linux install HOW-TO
-------------------
Установка RedHat Linux 8/9 на Promise FastTrak TX2000
(по ходу-аналогично можно ставить и RH-based и прочая-прочая :-)
1. Скачиваем драйвера с сайта Promise
http://www.promise.com/support/download/download2_eng.asp?productId=88&category=All&os=100
под свою систему,качаем partial source linux driver (для тех,которых нет
в списке-тоже качаем partial source linux driver -но это отдельный
разговор :-)
2. Согласно инструкции в архиве создаем дискетку с драйверами под ваше ядро.
3. Создаем массив дисков в контроллере.
4. Втыкиваем на место CD1-инсталляционный и дискетку.
5. Грузимся с компакта и пишем (опять же-согласно инструкции :-) в строке лило:
#boot: linux ide0=0x1f0,0x3f6,14 ide1=0x170,0x376,15 ide2=0 ide3=0 ide4=0 ide5=0 ide6=0 ide7=0 ide8=0 ide9=0 expert
6. Жмем энтер и грузимся..мило наблюдая, как ядро находит контроллер,
диски,пытается их поопределять всячески и ругается при этом, но грузится
:-) для чего это непонятное нужно в лило-промт? Как написано (и
проверено :-)-ядро воспринимает контроллер промисовский просто как еще
один IDE-контроллер, а не как RAID. И посему вышеприведенная строка
запрещает всем IDE-устройствам, крмое тех, что на встроенном
контроллере, обнаруживаться и маппиться в систему как IDE-устройства
(потому как все hardware-RAID устройства в линуксе работают как SCSI, а
не IDE)
7. После загрузки инсталлера появляется окошко, спрашивающее, есть ли у
вас драйвер-диск (у нас, если мы все сделали-есть- в дисководе :-),
нажимаем ОК, шуршит дискета, подымается фасттраковский драйвер. После
этого процедура инсталляции стандартная. Только вместо устройства
/dev/hdX появляется /dev/sdX в дисковой системе.
8. При установке загрузчика (Я ставил lilo, про GRUB не знаю :-) ставим
его в MBR /dev/sdX (/dev/sda у меня), и жмем кнопочку для расширенных
опций загрузчика. Пишем там знакомую строку ide0=0x1f0,0x3f6,14
ide1=0x170,0x376,15 ide2=0 ide3=0 ide4=0 ide5=0 ide6=0 ide7=0 ide8=0 ide9=0
9. Продолжаем инсталляцию. Инсталлим-инсталлим...:-). После окончания
инсталляции не жмем Перезагрузку, а выходим в консоль (все согласно
инструкции! :-) Ctrl+Alt+F2
и последовательно делаем
# umount /tmp/fd0
# chroot /mnt/sysimage
# mount /dev/fd0 /mnt
# cd /mnt
# sh setup-ft
это необходимо, чтобы с дискеты был установлен модуль контроллера для
ядра, который при загрузке с винчестера подымется.
10. Все.
#exit
Alt+F7
Жмем Перезагрузка (Reboot etc.-чего там на кнопочке написано в инсталляторе)
11. Вынимаем дискетку, CD, ставим в BIOS загрузку с FastTrak (FT Ary).
12. Любуемся на то, как грузится стандартное ядро из инсталляции
линукса. Видим, что мы теперь являемся гордыми владельцами SCSI-диска
:-)
13. Начинаем пляски с бубном :-)..шутка :-)
14. Заходим в консоль, загоняем свежее ядро (какм способом-на ваше
усмотрение :-), заодно-partial source driver с promis'а.
15. Компиляем ядро так, как вам нужно (говорят, что встроенные ядерные
драйвера должны работать с контроллером...не работают :-(, не забыв
включить поддержку SCSI, IDE-RAID
ATA/IDE/MFM/RLL Support -->
<*> ATA/IDE/MFM/RLL Support
IDE/ATA/ATAPI Block Devices -->
<*> Enhanced ATA/IDE/MFM/RLL disk/cdrom/tape/floppy support
<*> Include IDE/ATA-2 Disk Support
[*] Use multi-mode by default
Include IDE/ATAPI CDROM support
[*] Generic PCI IDE chipset support
[*] Sharing PCI IDE interrupt support
[*] Generic PCI Bus master DMA support
[*] Use PCI DMA by default when available
[*] Intel PIIXn chipset support
[*] PIIXn tuning support
[] Promise PDC202{46|62|65|67|68} support
[*] Promise PDC202{46|62|65|67|68} support <======== (IMHO-на фиг не нужно вообще встроенные драйвера включать в ядро или в модули-не работают они ну никак :-(
[*] Special FastTrack Feature
[*] VIA 82CXXX chipset support
16. После компиляции и уставновки ядра распаковываем куда-нить "неполные
драйвера",скачанные с promis'а. В каталоге можно просто сделать
ИЛИ
#./make
ИЛИ
#./make clear all
в итоге получаем красивый модуль для ТЕКУЩЕГО ядра (ТЕКУЩЕЕ-это то, на
которое симлинк указывает :-) /usr/src/linux->/usr/src/linux-2.4.22 , к
примеру) FastTrak.o
17. Копируем его в /lib/modules/2.4.x/kernel/drivers/scsi/
18. Создаем ram-диск, в который всовываем наш модуль
# mkinitrd --preload=scsi_mod --preload=sd_mod --with=FastTrak -f /boot/initrd-2.4.22.img 2.4.22
19. Идем в /etc и правим /lilo.conf
пример
prompt
timeout=50
default=linux
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear
image=/boot/vmlinuz-2.4.18-14
label=linux-old
initrd=/boot/initrd-2.4.18-14.img
read-only
append="ide0=0x1f0,0x3f6,14 ide1=0x170,0x376,15 ide2=0 ide3=0 ide4=0 ide5=0 ide6=0 ide7=0 ide8=0 ide9=0 root=LABEL=/"
# new section for new kernel with not-precompiled FastTrak driver
image=/boot/bzImage
label=linux
initrd=/boot/initrd-2.4.22.img
read-only
root=/dev/sda2
append="ide0=0x1f0,0x3f6,14 ide1=0x170,0x376,15 ide2=0 ide3=0 ide4=0 ide5=0 ide6=0 ide7=0 ide8=0 ide9=0 "
# end of lilo.conf
20. Ну я у себя заодно поправил /etc/fstab (LABEL=/ -> /dev/sda2 и т.п.)
потому как не люблю такой вариант записи :-)..на любителя
21. Прописываем boot-сектор lilo -v (чтобы писало-что и как ему
нравится-не нравится )
22. Важный момент :-) Бинарники драйвера для собранного ядра из
дистрибутива оперирует немного не теми девайсами, которыми оперирует
собранный нами драйвер, потому необходимо зайти в /dev и ручками
поправить кой-чего (создать каталог /dev/scsi/host1/bus0/target0/lun0/ и
симлинки в нем disc -> /dev/sda, part1 -> /dev/sda1 и.т.п. )
23. Перегружаемся :-)
24. Вопросы?
P.S.-"для тех,кого нет в списке" :-)-вроде бы (не пробовал еще!) не
проблема-но пока не буду писать-еще не пробовал :-))-вкратце-компильте
из partial source linux driver под ваше ядро драйвер,грузитесь с
дискетки с ним в initrd или делайте boot-cd с ним и дальше в принципе
тоже самое :-)
Описание для Slackware 9
Дошли руки сесть и под slackware9 попробовать
еще проще вышло,чем под RedHat
1.Качаем partial source driver с promis'a, распаковываем куда-нибудь их,
компилим под ядро 2.4.20 (которое в дистрибутиве
slack9 идет,для этого необходимо в каталоге /usr/src создать симлинк
linux->/usr/src/linux-2.4.20)
и в каталоге с рапакованными исходниками драйверов просто сделать
#./make
или
#./make clean all
в итоге получаем красивый модуль для нужного нам ядра FastTrak.o
(возможная проблема-бывают ситуации, когда при компиляции в сам модуль
неправильно вставляется версия ядра, для которого он скомпилен, нужно в готовом
модуле ручками поправить, внутри бинарника-например 2.4.22 на 2.4.20-у меня как
раз такая ситуация была).
2.Грузимся с cd-install slackware9, выбираем ядро с опциями
#boot: raid.s ide0=0x1f0,0x3f6,14 ide1=0x170,0x376,15 ide2=0 ide3=0 ide4=0 ide5=0 ide6=0 ide7=0 ide8=0 ide9=0
(возможно и с другим ядром пойдет-я просто не пробовал-меня такой вариант вполне устраивает)
3.После входа в консоль, поднимаем скопиленный под 2.4.20 ядро модуль FastTrak.o
#insmod /mnt/extra/FastTrak.o
(/mnt/extra-это у меня каталог /extra на cd,который примонтирован в /mnt, в
каталог запихнут модуль. Каждый сам решает, откуда ему этот модуль подгружать,
можно и с флоппика :-)
4.В каталоге /dev делаем
#./makedevs.sh /dev/sda
5.Запускаем инсталляцию согласно инструкции на cd-install slack9, только
оперируем устройством /dev/sda
6.Дальше все как обычно.В конце инсталляции не перегружаемся, делаем chroot на
нашу root-partion и правим lilo.conf, например так:
boot = /dev/sda
message = /boot/boot_message.txt
prompt
timeout = 50
vga = normal
default = linux
image = /boot/vmlinuz
label = linux
initrd=/boot/initrd-2.4.20.img
read-only
root=/dev/sda2
append="ide0=0x1f0,0x3f6,14 ide1=0x170,0x376,15 ide2=0 ide3=0 ide4=0 ide5=0 ide6=0 ide7=0 ide8=0 ide9=0 "
7.Копируем FastTrak.o в /lib/modules/2.4.20/kernel/drivers/scsi
8. Создаем ram-диск, в который всовываем наш модуль
# mkinitrd --preload=scsi_mod --preload=sd_mod --with=FastTrak -f /boot/initrd-2.4.20.img 2.4.20
(не забудьте установить исходники ядра!)
9.Заходим в /dev и ручками правим кой-чего (создаем каталог
/dev/scsi/host1/bus0/target0/lun0/ и симлинки в нем disc -> /dev/sda, part1 -> /dev/sda1 и.т.п. )
10.
#lilo -v
#exit
#reboot
11.После перезагрузки компилим новое ядро, новый драйвер под него и создаем для
него ram-диск-точно так же,как и для RH-based дистрибутивов. И точно так же
в lilo.conf пишем новую секцию.
должно работать :-)
Для Debian 3.0 (ядро bf-24)
Автор дополнения: Илья Данилов <id at loniis.ru>
Перед тем, как сделать RAM-диск, необходимо убедиться, что он включен
в вашем ядре (.config):
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_DEV_INITRD=y
также должна быть включена опция Compressed RAM fs, в противном случае
RAM-диск не будет подмонтирован:
CONFIG_CRAMFS=y
проверяем, что в /dev у нас есть необходимые устройства:
ls -la /dev/ram0 (или /dev/rd/0, если используется devfs):
brw-rw---- 1 root disk 1, 0
ls -la /dev/initrd:
brw-rw---- 1 root disk 1,250
в противном случае можно их создать при помощи mknod с
соответствующими minor и major номерами.
Переходим к изготовлению имиджа для mkinitrd. Ключи у него отличаются
от red-hat-овских, довольно сильно:
1) Сначала убеждаемся, что есть в наличие
/lib/modules/2.4.18/kernel/drivers/scsi/FastTrak.o
2) modprobe должен нормально подгружать этот модуль, в противном
случае стоит сделать depmod и проследить за появлением срочки из п.1
в /lib/modules/2.4.18/kernel/modles.dep
3) предполагается, что уже установлены initrd-tools. в этом случае
идем в каталог /etc/mkinitrd и добавляем в файл modules сточку
FastTrak
(только без .o на конце!!!)
создаем файл /etc/mkinitrd/files и пишем туда одну строчку с полным
путем к модулю:
/lib/modules/2.4.18/kernel/drivers/scsi/FastTrak.o
4) теперь можно сделать имидж...
mkinitrd -r /dev/sda1 -o /boot/initrd-2.4.18-raid.img 2.4.18
опция -r указывает, что мы хотим поместить в имидж все, для того,
чтобы можно было подмонтировать данное устройство в качестве рута.
5) исправляем fstab, указывая там именно /dev/sdX, чтобы они
подмонтировались корректно при старте системы
6) еще раз проверяем lilo.conf на предмет секции след. вида:
image=/vmlinuz
label=2.4.18-raid
read-only
initrd=/boot/initrd-2.4.18-raid.img
root=/dev/sda1
append="ide0=0x1f0,0x3f6,14 ide1=0x170,0x376,15, ide2=0, ide3=0,..."
7) lilo -v -v
внимательно смотрим, что лило переварил нашу секцию, перезагружаемся.
Возможные ошибки:
ядро пишет - can't mount root 08:00 - не указали опции RAM-диска
ядро пишет - can't mount root 01:00 - не указали опцию CRAMFS
ядро пишет - can't locate module.... и сдается с фразой "попытка
убить init)
первые два случая решаются компилянием ядра, последний чуть сложнее.
это означает, что initrd-tools достаточно древний (1.0.32, например,
как у меня) и он кое-что забыл положить в имидж... поступаем так:
mkinitrd -k -r /dev/sda1 -o /boot/initrd-2.4.18-raid.img 2.4.18
оно напишет, что The working directory /tmp/mkinitrd.xxxx will be
kept.
cd /tmp/mkinitrd.xxxx/
cp /lib/modules/2.4.18/kernel/modles.dep initrd/lib/modules/2.4.18/kernel/
mkcramfs initrd /boot/initrd-2.4.18-raid.img 2.4.18
после этого в имидже гарантированно появится modules.dep, который
нужен modprobe. еще можно проверить, если строчка modprobe -k
FastTrak в файле /tmp/mkinitrd.xxxx/initrd/loadmodules, а также
наличие
/tmp/mkinitrd.xxxx/initrd/lib/modules/2.4.18/kernel/drivers/scsi/FastTrak.o
Хорошая статья, но она не про иде-рейд в линуксе - она про иде-рейд в Шапке. По отношении к ЛИНУКСУ это важное замечание. Например потому как в дебиане,слакваре и др. иде-рейд ставиться совершенно иначе, и для конкретного случая ПРАВИЛЬНО, а не именно в таком-то дистрибутиве.
Прошу прощения за предыдущий пост. Я не обратил внимания на TX2000. Этой модели я не ставил, посему беру все свои слова обратно. И еще раз спасибо - статья действительно очень хорошая.
Статья написана непрофессионально. В частности коробит как сам стиль изложения, так и количество ошибок/опечаток. Это же как надо не любить свой язык... По существу. Процедура установки этих драйверов описана в их родном README, так что большая часть материала почерпнута оттуда. Кроме того, на сайте promise есть готовые драйвера с инсталлятором (!) для RH8 (http://www.promise.com/support/file/driver/1_ptift-rhsmpb25.zip). И, как было отмечено выше, этот "howto" годится только для RH. А, например, в SuSE многое уже надо делать иначе.
самое главное - то что стандартные драва входящие в ядро не подходят, а нужны драва от производителя
как их поставить - 1001 способ....
это видимо вариант для чайников -) но зато просто!
если вы почерпнули тут что-то новое - нефиг критиковать
>Обсуждение статьи тематического каталога: HOWTO по настройке работы Linux с ATA RAID
>контроллером Promise FastTrak TX2000 (linux kernel ata ide raid disk hardware)
>
>
>Ссылка на текст статьи: http://www.opennet.ru/base/sys/ata_raid_promise.txt.html
Много лишнего, я с этим пля Promise собаку скушал:
1) Для установки драйвера нужно только дискета + expert при установке + не забить указать параметры загрузчика вначале и при записи загрузчика.
В SuSE только диск. В ASP пляска еще та, там тоже есть expert, а установка примерно как в Mandrake. Кстати все расписано в инструкции к драйверам.
После пересборки ядра есть исходники с библиотекой от производителя, включаем опции скази м собираем драйвер, копируем в каталог, делаем mkinitrd и прописываем параметры загрузчика.
Если что:
b-w-l#mail.ru
Пинайте-пинайте :-)
я долго рылся в поисках нормально изложенного материала, так и не нашел, замечание насчет "взятого оттуда и оттуда материала"-верное, я и не спорю (так и написано в начале-что делаем все вещи ПО ИНСТРУКЦИИ), просто все вместе свести и выложить никто не удосужился, и в итоге не опенсорс получается, а каждый сам себе гуру :-\.Сделал-помоги другим на грабли не наступать!
Насчет грамматики-прошу прощения за ошибки (опечятки), за грамматикой я слежу, просто люблю свой язык и люблю его сокращать :-), а описки бывают,когда после долгого ковыряния с сервером начинаешь записывать наковырятое, чтоб не забыть и кому-нить время сэкономить.
Хотя..нравится пинать-пинайте-на то она и демократия..блин...
З.Ы.-вспомнил по ходу-в оригинале статья называлась именно Установка и настройка RH-based дистрибутива линукс на.... :-), а насчет слаки (на которй сам и сижу)-еще не пробовал, но на днях СПЕЦИАТЕЛЬНО сяду и попробую.
блин..
З.З.Ы.-насчет дров на промисе с инсталлятором к РХ...я же ПИСАЛ-эти дрова идут ТОЛЬКО к тому ядру, которое в ДИСТРИБУТИВЕ, а если вы новое ядро компилите-с теми дровами рейд не подымается уже.
дальше:
BarS конечно, вкратце верно изложил, но ведь это ВКРАТЦЕ..с нуля делая-понять тяжело
Однозначно полезное дело сделано. С выходом обновленных версий документа вполне нормальный HOWTO выйдет. Интересно было бы почитать как боротся c ICH5R на Intel® 875P там ведь тоже SATA RAID. Может кто ставил линукс на Intell S875WP1-E
модификация с 2 SATA дисками без промайса. Пользую Слак.
Может кто пробовал установку под ALT Linux MAster 2.2 ? Очень нужно а не получается. На FastTrak.o depmod не ругается, но при установке с дисктеы куча unresolved symbols.
Не статья, а перевод с сокращениями. Как настроить конкретный контролер под линукс...??? Так себе. Лучше бы сказали о том, что такие контролеры вообще ставить не надо. А уж под линукс тем более. Лучше бы потестили девайсы на контроллер в разных комбинациях. На скорость, на ОШИБКИ. А дрова действительно неполные. Мой совет всем не ставьте этот контролер под линукс.
Нормальная статья. Главное идею понял и все сделан на Mdk 9.2 немного не так.
А вот с MDK-10 фокус не проходит исходники FastTrak не подходяд, не компиляца. Помогите с скомпилить под kernel 2.6.3.
Стоит TX2000 зеркалом на четырех машинах:
P4-2533-533/512rdram/850E/2x60 Barracuda.5
P4-2400-800/512ddr400/875P/2x40 Barracuda.5
P4-3000-800/512ddr400/875P/2x80 WD800JB
P4-2???-800/512ddr400/875P/2x?? ???????
Ну не помю все! Ядра 2.4.22/2.4.23 но монолитные - не люблю я танцы вокруг initrd. Системы разные от RH6.2+GLIBC2.2+много_работы_руками до Mandrake 8.0
Castrate Edition :) - rootfs+firebird=20M.tgz
На части машин есть еще загрузочный hdd, часть грузится с raid'a. Промисовские дрова после некоторой обработки напильником собираются в ядро и даже работают... НО!
Как только один винт отсыхает/сбоит/умирает, начинается _ж_о_п_а_: при старте bios от tx2000 честно говорит что летим на одном моторе. Это хреново но не смертельно, однако при загрузке ядра - оно делает kernel panic при чтении partition table. :((((. Ребилдим райд - ядро грузится нормально. Может у кого такие же грабли???
Я хочу ставить Slackware 10.0 на SCSI-диск. Можно ли следовать этим инструкциям?
И что здесь означает ide0=0x1f0,0x3f6,14 ide1=0x170,0x376,15 ide2=0 ide3=0 ide4=0 ide5=0 ide6=0 ide7=0 ide8=0 ide9=0.
Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке,
посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных
администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости
индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.
Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из
первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную
версию журнала в pdf-формате.
Подробнее о проведении акции вы можете прочитать на
странице сайта.