Подскажите пожалуйста как настроить RAID контроллер Promise TX4000 на Debian sarge?
Прошу прощения - я неделю как линуксоид и решил остановиться на Дебиане. Ядро 2.4.27 видит TX4000:
#lspci
---
0000:00:10.0 RAID bus controller: Promise Technology, Inc. PDC20619 (FastTrak TX4000) (rev 02)
Поскольку промайз предлагает драйвера только к RedHat и Suse, приходится использовать исходники и компиляцию. (Промайз предупредил - This source code supports Linux kernel 2.4 only.) Скачал исходники драйвера и по инструкции сделал следующее:
1.) Please make sure you have linux kernel source code at ("/usr/src/linux"),
and gcc version is 3.x by issuing Linux command :
# gcc -v
Ну это понятно - прокатило
2.) Set Kernel Compiling Environment on Linux System
# cd /usr/src/linux/
# make config(or menuconfig/xconfig)
Я использовал # make menuconfig
To set kernel config items as you wish as below,
Processor type and features/Processor family
Это тоже ясно.
Processor type and features/High Memory Support
Вот тут уточняющий вопрос: в меню конфигурации предлагается на выбор 3 варианта:
-off
-4GB
-64Gb
Ну off наверно не катит, а 64Gb многовато, правда и 4GB нахрен не надо, но если просят... Выбрал второй пункт - 4Gb
Processor type and features/Symmetric multi-processing support
# make dep clean
Здесь после немеренного вывода всякой инфы завершилось, ошибок в конце не написано, надеюсь эта часть тоже прокатила.
3.) Goto directory where PROMISE driver codes is located and edit Makefile.
Поскольку он у меня located в /usr/src/par15/ - иду туда
4.) Choose right parameters in Makefile, default parameter is INDEP586.
ex: INDEP586 for most common case
DEP586 for most common case including module version
SuSE_TB for SuSE linux and Turbolinux,
MDK for Mandrake linux
Or modify it for suitable your system.
Вот в этой части я совсем ничего не понял. В MakeFile есть следующие строчки:
#most common case(from RH9.0)
INDEP586= -D__KERNEL__ -I/user/src/linux/include - Wall .....
#most common case including kernel version(from RH9.0)
DEP586= -D__KERNEL__ -I/user/src/linux/include - Wall .....
#for SuSe, Turbolinux(from SuSE8.2)
SuSE_TB= -D__KERNEL__ -I/user/src/linux/include - Wall .....
#for Mandrake Linux
MDK=-D__KERNEL__ -I/user/src/linux/include - Wall .....
Сусе и Мандраке мне не надо, это понятно, а из первых какой выбрать? И что значит выбрать? Они все раскомментированы, закомментировать лишнее? Тут в общем я поплыл. Сказано, что INDEP586 идет по умолчанию. Ничего не трогаю. Не знаю правильно или нет. Гугл не рулит.
5.) Issue Linux command to make FastTrak(UP/SMP) driver: ft3xx.o
UP driver: #make clean up
SMP driver: #make clean smp
Блин, чем дальше в лес - тем толще партизаны. Понятия не имею - UP или SMP. И вообще, что это такое. Курю гугл. Значит up - так как процессор один.
# make clean up
Имею сообщение - make: *** Нет правила для сборки цели 'up'. Останов.
Ставка провалена. Что делать, что делать....
Ограничиваюсь следующим:
#make clean
#make
Имею новые файлы ft3xx.o, wrapper.o, ftlog.o. Вроде должен быть еще fasttrak.o, но его нет, да бог ты сним, по инструкции вроде не нужен
6.) Be sure to load scsi_mod.o before "insmod ft3xx.o".
# lsmod
---
scsi_mod 86052 0 (unused)
Непонял почему unused?
7.) You can copy this module to /lib/modules/2.4.x/kernel/drivers/scsi/
as current kernel's modules location.
Это я сделал - без проблем, scsi_mod.o там был, теперь еще и ft3xx.o лежит.
8.) Issue "cat /proc/scsi/ft3xx/x" (x is a number) to get the RAID Array
status.
Нет у меня каталога /proc/scsi/ вообще! Я подозреваю, что это потому, что не загружен scsi_mod.o. Когда он должен появляться и как грузить scsi_mod.o и ft3xx.o? Подозреваю, что прописать в modules.dep
#insmod scsi_mod.o - ок
#insmod ft3xx.o - куча unresolved...
Как бороться с unresolved-ами? Помогите кто знает в чем проблема... Что неправильно на этапе компиляции?