Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51
- Embedded Linux - Форум - starterkit.ru
Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
sasamy (Guest)
Добавлено 13.01.2009 18:12 Редактировалось 13.01.2009 18:12 Сообщение: 71
sasamy (Guest)

Давно хотел сказать - может кому будет полезно, в buildroot можно указать свой конфиг для busybox. Я делал так - запускаю make menuconfig в исходниках busybox, выбираю все что мне нужно (чаще всего все что там есть :), выхожу, полученный .config переименовываю и кладу в дерево исходников buildroot. При конфигурировании buildroot указываю путь и имя своего конфига. Так вот применительно к логину - busybox может использовать встроенные библиотеки для паролей и тд - опция Login/Password Management Utilities -> Use internal password and group functions rather than system functions. Если еще почитать хелп к ней то возможно поможет решить проблему.
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 13.01.2009 20:37 Редактировалось 13.01.2009 20:37 Сообщение: 72
repairman (Guest)

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

После первой сборки - заходим в любой компонент, настраиваем - пересобирается только он...
Есть хитрости - присутсвие файла .configured в директории говорит, что кофигурацию компонента buildroot'у (и только ему!) трогать нельзя, файл .patched - говорит, что патчить не нужно, остальное - стандартные принципы работы make... Если отсутствует результат цели сборки - сборка пройдет снова с частичным по возможности использованием .o, если дата Makefile моложе файлов сборки - сборка пройдет полностью... make clean заставит собрать компонент заново с текущим конфигом, make distclean - убьет конфиг, сборка полностью с нуля и т.д. ... комбинации позволяют получить нужный результат....

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 13.01.2009 г. в 20:56:14
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 13.01.2009 20:53 Редактировалось 13.01.2009 20:53 Сообщение: 73
sasamy (Guest)

Вопрос - как собрать новый компонент после добавления через make menuconfig, не пересобирая toolchain заново ? Если ввести make - начнется куча ненужных компиляций при готовом от предыдущей сборки toolchain-е, когда нужно всего лишь добавить новый компонент ? Имеется ввиду сборка с uclibc и gcc со своим кросстулчайном - без помощи внешних тулчайнов.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно sasamy 13.01.2009 г. в 20:59:32
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 13.01.2009 20:58 Редактировалось 13.01.2009 20:58 Сообщение: 74
repairman (Guest)

Нет, если buildroot собран и не менялся - пройдет мухой только провека, что ничего не менялось... т.к. компонентов много, то такая плевая операция может идти около минуты... Собираться будут ТОЛЬКО те компоненты, которые изменили свое состояние с последней сборки...

В зависимости от того что мне нужно пересобрать и как - я могу:
- просто изменить .c файл
- изменить что-то и touch makefile
- изменить и make clean
- удалить .configured
и т.д. и т.п.

Можно запустить make buildroot'а, а можно make только на данном компоненте со своими параметрами, отличными от заданных buildroot... Понятное дело, что make clean ВСЕГО buildroot - заставит пересобрать ВЕСЬ buildroot, а make distclean в buldroot - еще и заставит заново скачать ВСЕ исходники... поэтому прежде чем что-то делать - подумайте....

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 13.01.2009 г. в 21:07:01
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 13.01.2009 21:04 Редактировалось 13.01.2009 21:04 Сообщение: 75
sasamy (Guest)

Так вот почему-то это не так - если наример удалить и добаввить что-то - после make начинается непонятная компиляция...не получается просто кросскомпиляция новой rootfs. Такое ощущение что все начинается заново - за исключением того что попало в кеш... По крайней мере затяжную сборку gcc трудно с чем-то перепутать - она происходит в 3 этапа и длится достаточно долго.
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 13.01.2009 21:07 Редактировалось 13.01.2009 21:07 Сообщение: 76
repairman (Guest)

Не... если тулчайн собран и не трогать его настроек - он живет во веки веков в таком состоянии.... posix make не тронет up to date сборок....

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 13.01.2009 г. в 21:09:20
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 13.01.2009 21:22 Редактировалось 13.01.2009 21:22 Сообщение: 77
sasamy (Guest)

Возможно это связано с тем что я в конфиге как правило выбираю текущие снапшоты uclibc... Но все именно так как я говорю :) Джае например с внешним тулчайном arm-none-linux-gnueabi busybox собирается зачем-то каждый раз заново, хотя конфиг не меняется.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно sasamy 13.01.2009 г. в 21:23:48
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 13.01.2009 21:24 Редактировалось 13.01.2009 21:24 Сообщение: 78
repairman (Guest)

Сложно сказать что происходит, но это противоречит тому, что я знаю и вижу...

Хм... Кстати, проблем с часами на машине не наблюдается ??? НЕ VMWare ???

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 13.01.2009 г. в 21:26:00
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 13.01.2009 22:06 Редактировалось 13.01.2009 22:06 Сообщение: 79
sasamy (Guest)

Зато не противоречит тому что вижу я - вот и спрашиваю :) Например, мне нужно удалить какой-то пакет - в menuconfig я его отключил, делаю make - казалось бы все ок, но buildroot ничего не сделает - он оставит его бинарники там где они были нетронутыми, директория root останется без изменения. Что я делаю - в menuconfig меняю всего лишь название проекта, все остальное без изменения, buildroot создает новый проект (новую директорию в ./project_build_arm с новой root) и начинает сборку заново - как этого избежать ?
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 13.01.2009 22:24 Редактировалось 13.01.2009 22:24 Сообщение: 80
repairman (Guest)

Никак, новый проект = новая сборка со всеми потрохами, новый тулчайн, новые утилиты, новый рут...

Я играю в пределах одного проекта.... а чтобы пресобрался rootfs, просто сотри директорию root и удали файлик .root из директории проекта... Пускай make - ТОЛЬКО ЭТО buildroot сделает заново, причем компиляции не будет, только инсталляция... 5 секунд...

p.s. одно из правил make - исчезла цель, проверить собрана ли, нет -собрать , да - происталлировать собранное...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 13.01.2009 г. в 22:35:53
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Embedded Linux