среда, 20 июня 2012 г.

gumstix и секс мозга при буте с NFS

Недавно занялся разработкой одного интересного драйвера под  gumstix-ы и первое, что мне понадобилось - собсно, загрузить сам gumstix,  точнее загрузить в него linux )

№;%:?*()(:%%:;№;:?*(?)(*;№:№;(_(№*;:;"(№_"(*):?;%№!!!!!!!!!!!!


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

(список буду обновлять по возможностям)

1.  Бут девайса по сети! (gumstix network booting)
Такой режим загрузки необходим при активном девелопинге под gumstix, особенно если это драйвер (простые проги можно собирать прямо на самом gumstix-е).  Собрал драйвер, закинул в rootfs, нажал reset на gumstix-е и чотко же, он мгновенно подтягивает пропатченный линукс.

Проблемы:
а. Девайс грузится, однако доходит до определённого момента:
Starting Network connection manager daemon: NetworkManager.
nfs: server 192.168.xxx.xxx not responding, still trying

Собсно, nfs сервер и не должен тут отвечать! Почему? Ды первая строка и объясняет - запускается  NetworkManager и перенастраивает сеть (а изначально настройки задаются в параметрах окружения загрузчика uBoot)! После чего nfs благополучно отваливается.  Для того, чтобы просто запустить линукс, можно сделать такой хак, какой я додумал (да, я не линуксоид и мне сложновато было допереть где тут что):

идём в рутовую файловую систему gumstix-а в папку /etc/init.d/ и открываем файл для редактирования   NetworkNamager.  В самом начале файла дописываем exit 0 


Таким образом  NetworkNamager не сможет запуститься и даст вам возможность загрузить наконец linux.  Дальше уже можно прям из под линукса настроить как надо NetworkManager )