среда, 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 ) 

3 комментария:

  1. Редактировать NetworkManager в init.d - это брутально :) Проще убрать ссылку на него из rc2.d или rc5.d, не знаю в какой runlevel там у вас оно грузится по умолчанию. Какой кстати дистриб?

    ОтветитьУдалить
  2. Дистриб Angstrom 2.6.34 Да, я брутален. А вообще нужно не убирать на него ссылку и не отключать его как я, а сделать так, чтобы NetworkManager выставил "правильные" параметры сети. Собсно, где это можно настроить вручную? (т.е. поправи ть файл)

    ОтветитьУдалить
  3. Прикольный дистриб, не знал что такое бывает. По поводу настройки NetworkManager - в убунте 10.04 которая у меня сейчас под рукой конфиги лежат в /etc/NetworkManager/*, но вот мануала по ним сходу найти не удалось. Вообще по идее интерфейсы прописанные в /etc/network/interfaces NetworkManager трогать не должен, но тут похоже немного не тот случай. А, и еще есть такая интересная статья, может поможет: http://www.arachnoid.com/linux/NetworkManager/

    ОтветитьУдалить