LINUX.ORG.RU

Порядок загрузки built-in модулей ядра.


0

1

Привет всем.

Имеем: 2 модуля вкомпиленных в ядро. Каких-либо зависимостей по символам нет. Надо заставить один инициализироваться раньше другого.
Порядок в Makefile'е менял(вернее, порядок субдир - сабжи находятся в разных), гуглил. Не помогает.

Кажется, что это нечто простое (из вертящихся в уме), но как-то пока не осилил.

Ай нид хелп!
Спасибо.

когда они build-in, они уже не модули ;)

а шаманство с makefiles - это, на мой субъективный взгляд, вообще не из той оперы.

кажется мне, самое простое вынести их именно в модули и от этого уже плясать.

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

когда они build-in, они уже не модули ;)

согласен. погорячился.

а шаманство с makefiles - это, на мой субъективный взгляд, вообще не из той оперы.

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

кажется мне, самое простое вынести их именно в модули и от этого уже плясать.

по условиям задачи не имеем Loadable module support. Не спрашивайте зачем и почему. Не я определяю.

farisey
() автор топика

Варианты решения.

В том драйвер, что должен грузиться раньше, заменил макрос для точки входа с module_init на fs_initcall, и он сразу взлетел в хитпараде загрузки. Костыльно, но лучше чем ничего.

Теоретически возможжен такой способ:
1. в первом драйвере прописать фейковую функу a-la hello world и экспортировать её.
2. во втором в ините её вызывать.

Не пробовал, но как бы вариант.

farisey
() автор топика
Ответ на: Варианты решения. от farisey

да, чисто теоретически, мне этот способ тоже не кажется криминальным. надо пробовать ;)

aol ★★★★★
()

См. include/linux/init.h

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