LINUX.ORG.RU

Компиляция ядра и модули


0

0

После комптляции при перезагрузке depmod выдает кучу ошибок - unresolved simbols in module xxxxxx причем я так понял не хватает все одних и тех же. Где можно почитать как найти эти потерянные символы и почему это происходит ?

anonymous

Тебе нужно перекинуть файл /usr/src/linux/System.map в /boot/System.map. Это то, что использует по умолчанию depmod. В последних версиях можно явно сослаться на необходимый файл с помощью флага -F.

DronK
()

такая же трабла возникла при устнаовке ред-хата 6.2 у друга... себе все покомпилил на ура... <p>после перекидывания System.map модули не только не перестали ругаться на связи, они еще и перестали работать... сплошной гемор... :(

dezruptor
()

Вчера перекинул System.map - не помогло... Еще в каком то FAQ вычитал что надо удалить все из директории /lib/modules и сделать по-новой make modules_install - не помогло. Полазил по сырцам - символы определяются в файле best_function.c, что-то связанное с SIMD инструкциями - расширением команд для PIII насколько я понимаю. У меня простой пенек и никаких СИМД там конечно нет. Но я и не включал эти опции при компиляции. Все это странно. К тому же в System.map они присутствуют - что-то типа best_memcpy итп.

anonymous
()

А make clean ты перед компиляцией делал? Последовательность такая:
make dep
make clean
make bzImage
make modules
make modules_install
Чистить в /lib/modules не нужно, там все будет перезаписано после make modules_install.

DronK
()

Именно так и делал.. Да я уже раз сто раньше компиляцией "баловался" все ок было, а щас новую версию Шапки поставил , дай думаю повыкидываю лишнее - всякие там поддержки ISDN и прочее - хренась - теперь вобще ничего не пашет. Насколько я понял эти символы ближе к нижнему уровню, так как не загружается большая часть модулей. Либо надо включить какую нибудь поддержку PIII инструкций. Сегодня попробую.

anonymous
()

Забей на PIII-инструкции. depmod из нового дистрибутива взял? Можешь описать полностью по шагам, что ты делашь вплоть до перезагрузки с новым ядром? Зуб даю, что-то ты пропускаешь.

DronK
()

depmod из того же что и kernel-src make dep make clean make bzImage make modules make modules_install потом копирую ядро из /usr/src/linux/arch в /boot туда же System.map прописываю в lilo.conf запускаю lilo и перезагружаюсь по моему все как надо... кстати вопроас - ksyms -a должно выдавать то же что и System.map? У меня выдает другое.

tim_ka
()

у редхата есть глюка, она иногда лишние, не указанные, и следовательно, не компилеванные модули сует в modules.dep, см. /lib/modules

dezruptor
()

Я бы стерпел если бы лишние ругались - просто говоришь depmod'у игнорить нерезолвенные символы и все. ДронК: кстати пробовал явно сослатся -F System.map - результат тот же. Доп инфо : Может дело в том что я апгрейдился со старой на новую Шапку и какието пакеты не проапгрейдил. По своему разумению проверил версии - вроде все ок. Может есть мысли по этому поводу?

tim_ka
()

Мысли кончились :-) Разве что ты скажешь откуда и куда ты апгрейдился и как конкретно ругается depmod. У меня тут разные Линуксы живут, и обновляю я их по-всякому, но проблем как-то пока не наблюдалось...

DronK
()

убери опцию типа cpu_optimiztion, не помню точно, как она называется, отключить ммх оптимизацию надо, с этой уже раз в пятый сталкиваюсь...

dezruptor
()

Dezruptor : yes!!!! Poluchilos s pervogo zhe raza! Ja tak i podozreval chto delo v podderzhke sistemy kommand. Ty eto experimentalno vychislil ili gde to prochital? Ya imeju vvidu est li metod vychistit podobnyj kosjak ili edinstvennyj metod - " tyka" ?

tim_ka
()

почти методом тыка... :)) но иногда получается так, что если выключено mmx_optimization, и не включено math emulation ядро просто не собирается. это так, для информации ;)

dezruptor
()

Это более чем странно :) В хелпах к конфигуратору пишется что если у меня проц выше Pentium/K6 "it is safe to turn it ON", я бы ни за что не понял что дело в этом... Что за кривость такая прямоугольная... Ведь не определяются какието основные символы и в результате практически все модули становятся рачками. А по поводу эмуляции вообще написано - братва не писайтесь, если даже включите, ядро само разберется че к чему, и будет чисто юзать сопроцессор по понятиям вместо эмуляции, если он есть. Зато много интересного узнаешь, только бы это еще в систему привести. Типа команды ksyms итп. Вопрос к общественности - знает ли кто более-менее универсальный метод борьбы с непонятками при сборке ядра? Во всех "хавтушках" что мне попадались описаны только основные ляпы типа если не грузится, значит забыли откомпилять... :) А ведь компиляция пока остается основным методом настройки системы "под себя"...

tim_ka
()

к слову о math emulation: рекомендую держать сего зверя всегда включенного, без него некоторые вещи странно работают. и к теме топика: может mmx optimization не может работать в паре с сопроцессором? (что в принципе и есть :), ведь при включении ммх-инструкции сопроц. вырубается :)

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