Частично разобрался в проблеме. На 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, или из-за того, что драйвер был встроен в ядро.