Ни как не могу понять где задаётся порядок загрузки системных модулей.
Смигрировал образ OS с одной arm машины (odroid) на другую (cubietruck). Железо другое, но ядро и модули уже собраны для новой машины.
Загружается ядро, затем запускается init, и уже после init загружаются модули сетевой карты (если не прописать этот модуль в /etc/modules, то модуль вообще не прогружается), что приводит к нерабочей системе, и после перезагрузки приходится перезапускать все сетевые сервисы.
Главное, что есть другая arm машина (cubietruck), но с чистым дистрибутивом, который был собран исключительно под cubietruck, там модуль прогружается до запуска сетевых сервисов.
Где прописывается последовательность модулей? Как решить проблему? Переустановить чистый debian под cubietruck и смигрировать все /etc/ и софт - не решение, хочу разобраться в проблеме.
Частично разобрался в проблеме. На 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, или из-за того, что драйвер был встроен в ядро.
Модули грузятся автоматически для устройств находящихся на сканируемых шинах (PCI, USB) а так же для устройств прописанных в DTB либо зарегистрированных как platform device. Всё остальное -- это явные modprobe/insmod.
Как подключена ваша сетевуха? Что в DTS?