LINUX.ORG.RU

kernel 2.6.x&Boot from RAID 1 FastTrak TX2000


0

0

Добрый день. Мне посоветовали вот такой патч к udev чтобы загружаться со своего RAID в 2.6. http://www.hailfinger.org/carldani/linux/patches/raiddetect/

попробовал вставить raiddetect в initrd, и все равно не увидел своего массива. (Работаю в 2.4 с драйверами с сайта promise)

Если кто то грузился с RAID FastTrak TX2000 при помощи этого патча, опишите пожалуйста шаги установки.

Если кто нибудь грузился с RAID FastTrak TX2000 с ядром 2.6.x каким либо другим способом опишите пожалуйста как.

Благодарю Shaud.


Я сейчас изучаю такую возможность, как запуск драйверов от ядер 2.4
под ядрами 2.6. Скажу сразу, задачка не легкая, но выполнимая, модули
из 2.4 легко линкуются с самописным врапером в несколько строчек, что
бы затем они могли запускаться в 2.6, основная проблема, это измененные
функции, измененные типы значений в аналогичных функциях, вообщем
проблемы такие же, как были при переходе с ядра 2.2 на 2.4. Мне удалось
запустить простенькие драйверочки из ядра 2.4 в 2.6, работают, что
вселяет надежду продолжить работу над закрытыми бинарными драйверами
как в вашем случае, однако есть одно но, некоторые драйвера не смогут
работать в ядрах с 4К стеком, поэтому придеться переходить/сидеть на 8К...

McMCC ★★★
()
Ответ на: комментарий от McMCC

Добрый день. Драйвера с сайта Promise, поставляются в виде исходников для Линуксов с ядрами 2.2/2.4. Правда с ядрами 2.4 они несколько криво компилируются с SMP (При запуске с SMP ядром машина виснет), но это легко исправляется добавлением include чего то там smp.h. (содержит один define с признаком SMP, после чего внешние модули нужные для компиляции драйвера собираются правильно).

К сожалению у меня недостаточная квалификация что бы переписать драйвера с kernel 2.4 на kernel 2.6.

Благодарю за ответ Shaud.

Shaud
() автор топика
Ответ на: комментарий от Shaud

>К сожалению у меня недостаточная квалификация что бы переписать
>драйвера с kernel 2.4 на kernel 2.6

Скачал я исходники и помотрел, вообщем сделать можно, но много
времени уйдет и неизвестно, будет ли он работать, очень сильно
поменялась работа scsi, много переделывать надо, даже если все
сделать нормально, то там есть закрытый линковочный модуль,
поэтому могут возникнуть проблемы в нем и зря будет потеряно время...

P.S. Лучше дождаться, когда сам производитель напишет или кто
возьметься сам править....

McMCC ★★★
()
Ответ на: комментарий от McMCC

Вроде начинает вырисовываться вариант с udev+patch raiddetect+родной Linux драйвер. (дело в том что с родным Линукс драйвером не получается _загрузится_ с RAID масива, поэтому нужны эти навороты.) Но.

Если можно опишите какие подводные камни есть в собирании проектов для ядра 2.6 если машина запущена с ядром 2.4.

У меня пока не получается :( (Может ошибка глупая, но я еще не понял, выдает что в файле /usr/src/linux-2.6.5/include/linux/config.h не определен какой то дефайн __KERNEL__. сейчас пойду пытаться понять в чем дело.)

Shaud
() автор топика
Ответ на: комментарий от Shaud

Кое что можно прочесть тут:
http://linuxdevices.com/articles/AT4389927951.html
Мой пример для сборки простенького модуля можно подсмотреть тут,http://mcmcc.bat.ru/mypatches/mod_updater-1.1.tar.bz2
там есть Makefile для 2.6 и 2.4, но можно ли собрать модуль ядра 2.6
в среде 2.4, незнаю, но наверное можно...

McMCC ★★★
()
Ответ на: комментарий от McMCC

яНАПЮРЭ Б ЯПЕДЕ 2.4 ОПНЦПЮЛЛЙС ДКЪ 2.6 ОНКСВХКНЯЭ. ДЮК ОПХ ЙНЛОХКЪЖХХ ХЯОНКЭГНБЮРЭ /lib/modules/linux-2.6.5/build(ЯЯШКЙЮ МЮ .usr/src/linux-2.6.5) БПНДЕ БЯЕ УНПНЬН. (ОНЯКЕ РНЦН ЙЮЙ САПЮК ЯРПНЙС #ifndef __KERNEL__ error... ХГ ТЮИКЮ /lib/modules/linux-2.6.5/build/include/linux/config.h)

raiddetect МЕ ЛНДСКЭ,ЩРН ОПНЦПЮЛЛЙЮ ДКЪ initrd ЯНАХПЮЕРЯЪ ЯРЮРХВЕЯЙХ Я klibc.

рЕОЕПЭ Ъ ╨РС ОПНЦПЮЛЛЙС ЯНАПЮК БЯРЮБХК Б initrd, НМЮ ГЮОСЯРХКЮЯЭ, НОПЕДЕКХКЮ ЛНИ raid. х БЯЕ :( ъДПН ОН ОПЕФМЕЛС МЕ ЯЛНЦКН ЩРНР raid МЕЯВЮЯРМШИ ЯЛНМРХПНБЮРЭ. вРН МЮДН ДЕКЮРЭ МЕ ОНИЛС. й ЯНФЮКЕМХЧ ХГ ДНЙСЛЕМРЮЖХХ Й ЩРНЛС raiddetect ОПХЯСРЯРБСЕР РНКЭЙН ХЯУНДМШИ ЙНД. ЯХФС ВХРЮЧ. ОНЙЮ МХВЕЦН МЕ ОНМЪК.

яОЮЯХАН ГЮ НРБЕР. Shaud.

Shaud
() автор топика
Ответ на: комментарий от Shaud

>Теперь я ?ту программку собрал вставил в initrd, она запустилась,
>определила мой raid. И все :( Ядро по прежнему не смогло этот raid
>несчастный смонтировать. Что надо делать не пойму. К сожалению из
>документации к этому raiddetect присутствует только исходный код. сижу
>читаю. пока ничего не понял.

А рейд как scsi работает? Если да, то нужно сказевых модулей еще добавить
в initrd...

McMCC ★★★
()
Ответ на: комментарий от McMCC

Насколько я понял scsi там и не пахнет "Raiddetect is a program to find vendor software RAID superblocks, analyze them for validity, group them by RAID vendor and (later on) set them up via MD/DM." Я поддержку RAID (и software RAID) в ядро встроил.

Shaud
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.