Знаю, что среди треккеров есть такие, но вопрос не из простых, поэтому не рассчитываю на множество ответов.
Дано:
- Debian 6.0 "Squeeze" с ядром 2.6.32-5 (дернуло ж меня обновляться с Lenny...);
- RAID-контроллер HighPoint RocketRaid 2640X1;
- установленный драйвер для данного контроллера (модуль ядра).
Требуется:
заставить работать софт управления
Что имеем в жизни:
При попытке запуска демона управления hptsvr получаем такой отлуп # /etc/init.d/hptdaemon start
Starting hptsvr daemonDriver is not loaded.
Хотя драйвер-то загружен: # lsmod | grep rr
rr26xx 248896 1
scsi_mod 122149 3 sd_mod,libata,rr26xx
Конфиг-файл содержит требуемую строку с именем модуля: # cat /etc/hptcfg
rr26xx
Starce для init-скрипта:
оффтоп # strace /etc/init.d/hptdaemon start
execve("/etc/init.d/hptdaemon", ["/etc/init.d/hptdaemon", "start"], [/* 16 vars */]) = 0
brk(0) = 0x16b4000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7f3f903000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=47775, ...}) = 0
mmap(NULL, 47775, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f7f3f8f7000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\355\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1432968, ...}) = 0
mmap(NULL, 3541032, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7f3f387000
mprotect(0x7f7f3f4df000, 2093056, PROT_NONE) = 0
mmap(0x7f7f3f6de000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x157000) = 0x7f7f3f6de000
mmap(0x7f7f3f6e3000, 18472, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7f3f6e3000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7f3f8f6000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7f3f8f5000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7f3f8f4000
arch_prctl(ARCH_SET_FS, 0x7f7f3f8f5700) = 0
mprotect(0x7f7f3f6de000, 16384, PROT_READ) = 0
mprotect(0x7f7f3f905000, 4096, PROT_READ) = 0
munmap(0x7f7f3f8f7000, 47775) = 0
getpid() = 4581
rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTORER|SA_RESTART, 0x7f7f3f3b91e0}, {SIG_DFL, [], 0}, = 0
geteuid() = 0
brk(0) = 0x16b4000
brk(0x16d5000) = 0x16d5000
getppid() = 4580
stat("/root/Fucking_RAID/CLI-Linux-3.5-100701/deb", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/etc/init.d/hptdaemon", O_RDONLY) = 3
fcntl(3, F_DUPFD, 10) = 10
close(3) = 0
fcntl(10, F_SETFD, FD_CLOEXEC) = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, = 0
rt_sigaction(SIGINT, {0x40f540, ~[RTMIN RT_1], SA_RESTORER, 0x7f7f3f3b91e0}, NULL, = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, = 0
rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f7f3f3b91e0}, NULL, = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, = 0
rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f7f3f3b91e0}, NULL, = 0
read(10, "#! /bin/sh "..., 8192) = 1971
write(1, "Starting hptsvr daemon", 22Starting hptsvr daemon) = 22
pipe([3, 4]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f7f3f8f59d0) = 4582
close(4) = 0
read(3, "rr26xx\n", 128) = 7
read(3, "", 128) = 0
close(3) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4582
--- SIGCHLD (Child exited) @ 0 (0) ---
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fcntl(1, F_DUPFD, 10) = 11
close(1) = 0
fcntl(11, F_SETFD, FD_CLOEXEC) = 0
dup2(3, 1) = 1
close(3) = 0
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
fcntl(2, F_DUPFD, 10) = 12
close(2) = 0
fcntl(12, F_SETFD, FD_CLOEXEC) = 0
dup2(3, 2) = 2
close(3) = 0
stat("/usr/local/sbin/modprobe", 0x7fff64c8e150) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/modprobe", 0x7fff64c8e150) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/modprobe", 0x7fff64c8e150) = -1 ENOENT (No such file or directory)
stat("/usr/bin/modprobe", 0x7fff64c8e150) = -1 ENOENT (No such file or directory)
stat("/sbin/modprobe", {st_mode=S_IFREG|0755, st_size=57360, ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f7f3f8f59d0) = 4583
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4583
--- SIGCHLD (Child exited) @ 0 (0) ---
dup2(11, 1) = 1
close(11) = 0
dup2(12, 2) = 2
close(12) = 0
stat("/usr/local/sbin/start-stop-daemon", 0x7fff64c8e240) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/start-stop-daemon", 0x7fff64c8e240) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/start-stop-daemon", 0x7fff64c8e240) = -1 ENOENT (No such file or directory)
stat("/usr/bin/start-stop-daemon", 0x7fff64c8e240) = -1 ENOENT (No such file or directory)
stat("/sbin/start-stop-daemon", {st_mode=S_IFREG|0755, st_size=28584, ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f7f3f8f59d0) = 4584
wait4(-1, Driver is not loaded.
[{WIFEXITED(s) && WEXITSTATUS(s) == 255}], 0, NULL) = 4584
--- SIGCHLD (Child exited) @ 0 (0) ---
write(1, ".\n", 2.
) = 2
exit_group(0) = ? Скрыть
Я пробовал версии CLI-утилиты 3.3 и 3.5, а также версии WEB-утилиты 1.4-10 и 1.4-14. Результат везде абсолютно одинаковый.
Даже пересобрал ядро с поддержкой legacy SCSI (/proc/scsi/) - не помогло.
P.S. Графического интерфейса на машине нет, поэтому GUI я не пробовал.