Последовательность загрузки модулей ядра Linux?

Ни как не могу понять где задаётся порядок загрузки системных модулей.

Смигрировал образ OS с одной arm машины (odroid) на другую (cubietruck). Железо другое, но ядро и модули уже собраны для новой машины.

Загружается ядро, затем запускается init, и уже после init загружаются модули сетевой карты (если не прописать этот модуль в /etc/modules, то модуль вообще не прогружается), что приводит к нерабочей системе, и после перезагрузки приходится перезапускать все сетевые сервисы.

Главное, что есть другая arm машина (cubietruck), но с чистым дистрибутивом, который был собран исключительно под cubietruck, там модуль прогружается до запуска сетевых сервисов.

Где прописывается последовательность модулей? Как решить проблему? Переустановить чистый debian под cubietruck и смигрировать все /etc/ и софт - не решение, хочу разобраться в проблеме.
  • Вопрос задан
  • 4859 просмотров
Решения вопроса 1
kay
@kay Автор вопроса
Частично разобрался в проблеме. На debian был установлен upstart, /etc/modules подгружается через /etc/init.d/kmod, который запускается через обертку upstart "rc-sysinit", сама обертка rc-sysinit загружается только после загрузки failsafe.conf, но failsafe.conf ждет, пока поднимется сеть.

Хук заключался в том, что я бэкпортировал upstart kmod.conf из последней версии ubuntu, теперь модули подгружаются раньше всех сервисов.

А на odroid-u2 upstart работал, т.к. модуль сетевой карты подгружался раньше. Возможно из-за наличия initrd, или из-за того, что драйвер был встроен в ядро.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Модули грузятся автоматически для устройств находящихся на сканируемых шинах (PCI, USB) а так же для устройств прописанных в DTB либо зарегистрированных как platform device. Всё остальное -- это явные modprobe/insmod.
Как подключена ваша сетевуха? Что в DTS?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы