LINUX.ORG.RU

[openSUSE] Сборка модуля ядра.

 


0

0

Можно ли собрать отдельно модуль из исходников, не собирая ядро целиком? Правильно ли я понимаю, что если у меня сейчас стоит -desktop ядро, то дефолтный конфиг - и есть конфиг этого ядра?
//Может поделится кто p4_clockmod для 2.6.31.5-0.1-desktop ?

★★★

Можно ли собрать отдельно модуль из исходников, не собирая ядро целиком?

Да можно. Для этого нужно либо исходные коды ядра, либо заголовочные файлы(пакет kernel-headers).

Правильно ли я понимаю, что если у меня сейчас стоит -desktop ядро, то дефолтный конфиг - и есть конфиг этого ядра?

Нет. Но конфиг запущенного ядра можно получить через proc.

fdd
()
Ответ на: комментарий от sda00

Не понял я, как это поможет мне собрать конкретно p4_clockmod, который вполне себе есть в основной ветке, просто почему-то не включен в пакеты с ядрами для openSUSE, не собирая всего ядра, ну да хрен с ним. Возможно, я таки тупой. Просьба, по возможности, проигнорировать это сообщение.

unikoid ★★★
() автор топика

Внимательно перечитал README.SUSE в папке с ядром. Сделал:
cd /usr/src/linux
make clean
make mrproper
cd /usr/src/linux-obj/i586/desktop/
make clean
make mrproper
make cloneconfig
mcedit .config //Добавил нужный модуль (p4_clockmod) в конфиг
make modules_prepare
make SUBDIRS=/usr/src/linux/arch/x86/kernel/cpu/cpufreq/ modules //Собрать все модули в папке с нужным.
Все нормально отрабатывает. По идее теперь надо insmod /usr/src/linux/arch/x86/kernel/cpu/cpufreq/p4_clockmod.ko.
Но он выдает
insmod: error inserting '/usr/src/linux/arch/x86/kernel/cpu/cpufreq/p4-clockmod.ko': -1 Invalid module format

Вопрос: ЧЯДНТ?
//Да, если просто сконфигурировать ядро и выполнить make modules, ничего не меняется.

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

Да, версия GCC, разумеется, совпадает с той, которой откомпилировано ядро.

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

imho - а есть уверенность, что p4_clockmod до сих пор жив? ему вроде оставили только abi, а всё управление вынесли наружу - на cpufreq. он вроде только номинально в ядре и на что-то хорошее уже давно не способен

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

>imho - а есть уверенность, что p4_clockmod до сих пор жив? ему вроде оставили только abi, а всё управление вынесли наружу - на cpufreq. он вроде только номинально в ядре и на что-то хорошее уже давно не способен
Пересобрал ядро, включив его в качестве модуля. Все работает.
Но все ж не могу понять, вроде новое ядро собирал из сусевких дистрибных исходников, в конфиге изменения коснулись только модулей (много чего выкинул), версия компилятора - дистрибутивная. Но в итоге мое ядро не хочет грузить модули от дистрибутивного и наоборот.

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

значит учёл ты не всё. возьми kernel*.src.rpm и посмотри как в spec файле идёт сборка. подозреваю, что при изготовлении своего ядра вы чуток промахнулись с «именованием» и заголовочными файлами - вот и получается, что abi собранного вами ядра не идентичен дефолтному из oS.

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