roboforum.ru

Технический форум по робототехнике.

uClinux, и с чем его едят.

Re: uClinux, и с чем его едят.

Strijar » 27 июл 2011, 08:17

Сергей писал(а):Угу, копался в исходниках. Это было что-то. Во-первых они не читаемые - вероятно специально шифруются от злодеев и негодяев


Видимо у вас "гранаты не той системы" ;) Я сейчас по работе 90% времени изучаю исходники ядра и все что вокруг (драйвера итд), все достаточно понятно. Надо просто жить этой системой - принять ее какой она есть и играть по ее правилам. Хотя я уже "гик" с 12 летним стажем ;)

Re: uClinux, и с чем его едят.

setar » 27 июл 2011, 10:51

Michael_K писал(а):Я это понимаю, но на самом деле мне кажется, что таких ситуаций достаточно немного. Думаю, что большая часть случаев (если не все вообще) может быть собрана и в кросс-среде.

Одного базового пакета достаточно чтобы линукс не заработал, ну а вообще да, такая ситуация попадается примерно в 20% пакетов.
У меня-то лично есть ощущение, что основные причины использования нативных компиляторов в том, что 1. "лень разбираться" и 2. "лучше не рисковать".
запуск только что собранного бинарника для выяснения параметров для сборки следующего.
Вы же сами понимаете, что это извращение, хотя я не сомневаюсь, что через эту ж... все и ходят. Только потому, что этот путь наиболее автоматизирован.

:) это Вы разработчикам расскажите.
У меня глубокое знание линукса, и малое знание программерства, и дело совсем не в лени.
А в понимании того что править исходный код пакетов это задача не по плечу мне.

Re: uClinux, и с чем его едят.

Michael_K » 27 июл 2011, 12:52

Да нееет...
Там не надо править исходные коды пакетов (я имею в виду сишные исходники).
Вы же сами сказали, что "выясняются параметры для сборки следующего" - так оно и есть.
Это максимум ключики для запуска мэйков, возможно (менее вероятно) сами мэйки или линкер-скрипты...

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

Проще собрать и запустить утилитку, которая все это сама определит, и скриптик сам поставит нужные ключики.
В принципе, конечно, если ты сам сделал плату и сам собираешь все библиотеки, ты все эти параметры уже знаешь.
Просто по определению.
Но система огромная и необозримая, поэтому руками все зависимости искать и прописывать, мягко говоря, задолбаешься.
Разбираться никому не охота, есть риск что-то проморгать, только поэтому народ и не парится - я и говорю "лень разбираться" и "лучше не рисковать".

Re: uClinux, и с чем его едят.

setar » 27 июл 2011, 13:27

:) поверь, это не просто.
То что предлагаешь ты - это переписывание мейк файлов.
Это практически то же самое что править исходники, и вероятность накосячить очень велика.
И ещё огромный минус того что единыжды исправив мейк файлы в 500-600 пакетах получаешь закостенелый дистрибут, без обновления вообще.

Re: uClinux, и с чем его едят.

Strijar » 27 июл 2011, 13:38

setar писал(а):То что предлагаешь ты - это переписывание мейк файлов.
Это практически то же самое что править исходники, и вероятность накосячить очень велика.
И ещё огромный минус того что единыжды исправив мейк файлы в 500-600 пакетах получаешь закостенелый дистрибут, без обновления вообще.


Вот именно для этого и придумали давным давно autoconfig и pkg-config. Другой вопрос, что пользуются ими криво - частенько народ и не подозревает что существует кросс-компиляция.

Re: uClinux, и с чем его едят.

Michael_K » 27 июл 2011, 13:55

Нене... я не предлагаю. нафиг-нафиг. :)
Это просто оффтоп про кросс- и нэйтив- компиляторы...

Другое дело, что мне же так и так придется что-то править, потому что пакета именно под свою плату я абсолютно точно не найду.
Максимум, я найду "похожий". Ну, скажем, от олимексовской платы.
Но я абсолютно пока не понимаю, куда его крутить.

Там "штатный" вариант - это загрузить в проц бинарный убут, который подгрузит ядро с внешнего носителя.
У меня, конечно, есть там возможность подключить SD-карточку и интерфейс там штатный, но вот, например, нога определения наличия флэшки - другая (не такая, как на олимексе), управление питанием флэшки - тоже, а эзернета нет вообще,
то есть кусок убута, который работает с TFTP мне не нужен (и даже вреден, потому что он там что-то инициализирует, а у меня эти ноги используются). Зато у меня на плате стоит микросхема сериал-флэш (с которой казалось бы можно грузиться штатно, но этому нужно как-то научить убут).

Поэтому я пока не очень понимаю, с чего правильно (читай "кошерно" с линуксовой точки зрения) начать ковырять...
Ковыряюсь, конечно, потихоньку, но пока "между дел".

Например, меня все больше посещает мысль, нафига мне убут вообще как таковой? :)

Re: uClinux, и с чем его едят.

setar » 27 июл 2011, 14:35

юбут полезен для динамической смены параметров загрузки ядра.
но необязателен если есть привычка шить девайс программатором.

И начать как раз удобно со сборки "заточенного под борду" юбута.
там опциями в исходниках можно выключить ненужный функционал.
так я делал для mini2440, только вроде подробно не документировал

Re: uClinux, и с чем его едят.

Michael_K » 27 июл 2011, 14:39

setar писал(а):получаешь закостенелый дистрибут, без обновления вообще.

А вот это меня как раз нисколько не волнует.

С чем можно сравнивать? С самопиской? Там ты тоже "получаешь закостенелый дистрибут без обновления вообще".
И еще, вы, пожалуйста, не путайте компьютер или эваборду с конечным пользовательским устройством.

Вы давно на стиральной машинке обновляли ось?
А на станке с ЧПУ, например, обновляет кто-то ось?
А в кардиомониторе, спектроанализаторе или пользовательском интерфейсе паровой турбины?
Нет!!! Принцип "работает-не трогай" в таких приложениях работает как часы - в ста процентах случаев.

юбут полезен для динамической смены параметров загрузки ядра.

Я понимаю, что в процессе ковыряния это удобно, конечно,
чтобы не перезаливать все каждый раз через непойми какое место.
Проблема в том, что его еще нужно "заточить под борду"

Re: uClinux, и с чем его едят.

setar » 27 июл 2011, 14:52

есть удобные инструменты, в том числе обновления линукса.
Какие из них оставить а какими принебречь - решать Вам

Re: uClinux, и с чем его едят.

Strijar » 27 июл 2011, 16:57

Michael_K писал(а):Нене... я не предлагаю. нафиг-нафиг. :)
Другое дело, что мне же так и так придется что-то править, потому что пакета именно под свою плату я абсолютно точно не найду.


Что значит "пакета под свою плату"? Если на этой плате Линукс - то софту все равно на какой плате он будет работать. На 99% даже без разницы какой проц (1% на ASM вставки)

Re: uClinux, и с чем его едят.

Michael_K » 27 июл 2011, 18:32

Strijar писал(а):Что значит "пакета под свою плату"?

Неправильно выразился - сборки линукса под свою плату.

Re: uClinux, и с чем его едят.

setar » 28 июл 2011, 02:04

к вопросу разумности нативной сборки: forum96/topic8508.html
смотреть первый пост со слов "пример насколько это "тяжкая задача""

Re: uClinux, и с чем его едят.

Dmitry__ » 28 июл 2011, 02:54

прочитал статью, не встретил ни одного знакомого слова, ты действительно такой умный? :shock: :good: :oops:

Re: uClinux, и с чем его едят.

setar » 28 июл 2011, 08:52

Там тема просто очень сложная, я часто сам к своим же записям обращаюсь.
Пока делаешь - все в голове, пару недель отвлекся и в голове только общее понимание процесса.

Re: uClinux, и с чем его едят.

Strijar » 28 июл 2011, 10:35

setar писал(а):Там тема просто очень сложная, я часто сам к своим же записям обращаюсь.


Сергей, а ты не пробовал OpenEmbedded? Я до сих пор пользовался buildroot, но новые версии чего то для sparc не хотят собирать toolchain. Вот подумываю про OE - там софта вагон и тележка, но поддержки sparc "в коробке" почти нет.


Rambler\'s Top100 Mail.ru counter