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. Грузимся с компакта и пишем (опять же-согласно инструкции :-) в строке лило:
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-диск, в который всовываем наш модуль
# 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, выбираем ядро с опциями
(возможно и с другим ядром пойдет-я просто не пробовал-меня такой вариант вполне устраивает)
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
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):
также должна быть включена опция 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
внимательно смотрим, что лило переварил нашу секцию, перезагружаемся.
Возможные ошибки:
ядро пишет - can't mount root 08:00 - не указали опции RAM-диска
ядро пишет - can't mount root 01:00 - не указали опцию CRAMFS
ядро пишет - can't locate module.... и сдается с фразой "попытка
убить init)
первые два случая решаются компилянием ядра, последний чуть сложнее.
это означает, что initrd-tools достаточно древний (1.0.32, например,
как у меня) и он кое-что забыл положить в имидж... поступаем так:
оно напишет, что 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
485 Прочтений • [HOWTO по настройке работы Linux с ATA RAID контроллером Promise FastTrak TX2000 (linux kernel ata ide raid disk hardware)] [08.05.2012] [Комментариев: 0]