Подскажите как включить сборку с ssl? Подробнее если можно, где и что
поправить.
Я собираю helloworld, это моя первая сборка в ОЕ. Я только выбрал
ветку Stable2009 и запустил сборку. ssl я не отключал. За основу был
выбран дистрибутив minimal.conf. Единственная правка была в нём,
выкинул не нужные фичи в DISTRO_FEATURES что бы быстрее собралось
Поправил только 1 файл. Мне не нужен bluetooth и usb. Зачем их
собирать в этом случае?
Без них думаю чуть быстрее соберётся и меньше
будет качать из инета.
Неужели эта правка выключила ssl?
Про angstrom вычитал в Википедии:
"Ångström — дистрибутив операционной системы GNU/Linux,
предназначенный для работы на КПК. Тип ядра ARM."
Ничего общего с моим таргетом.
У меня промышленный контроллер IBM-PC
архитектуры на основе i586. В рецепте angstrom гораздо больше всего
навёрнуто чем в minimal. Если не так и он мне подходит объясните.
И ещё раз спрошу что мне надо сделать что бы включилась ssl и сборка
продолжилась? Объясните пожалуйста, вся работа встала.
Но если бы не выкинул то собрались, на сколько понимаю.
> > Без них думаю чуть быстрее соберётся и меньше
> > будет качать из инета.
>
> Не будет оно меньше оттуда качать.
Почему же, не требуется исходников на все эти фичи. Хорошо, попробую
всё включить как было и собрать.
> > Неужели эта правка выключила ssl?
>
> Я вот думаю что у вас из-за этого что-то не так собралось.
Всё включил как было и запустил. Не помогло, всё как было. Правда тмр
не удалял.
> > Про angstrom вычитал в Википедии:
> > "Ångström — дистрибутив операционной системы GNU/Linux,
> > предназначенный для работы на КПК. Тип ядра ARM."
> > Ничего общего с моим таргетом.
>
> У меня такое ощущение, что вы не понимаете что такое openembedded и что
> такое дистрибутив в его рамках.
Я пока начинающий. Понимаю всё так. openembedded - машинка собирающая
из исходников образ файловой системы Линукс под мой таргет. В этой ФС
будут только те модули функции которые запросил. Ничего лишнего. ОС не
будет просить ввести Логин и Пароль. И всё откомпилированно под проц
таргета. Будут добавлены драйвера под железо.
Думаю дистрибутив в понимании openembedded описывает только
возможности будущей ОС, а компилится всё под указанный проц. Потому
если выкинул не нужную функцию ОС то не должно быть затыка в сборке
остального. В итоге мне нужен образ ФС, чтобы залить его на
CompactFLASH и вставить в девайс.
> > У меня промышленный контроллер IBM-PC
> > архитектуры на основе i586. В рецепте angstrom гораздо больше всего
> > навёрнуто чем в minimal. Если не так и он мне подходит объясните.
>
> Объясняю. Хотя в дистрибутиве может быть ограничение по используемым
> платформам в angstrom его нет.
Честно скажу, не понял. angstrom это разве не дистрибутив? Понимаю что
дистрибутив (distro/*.conf) описывает озможности будущей ОС +
перифирию (wi-fi, usb..), а проц таргета описан в (machine/*.conf).
Платформа это дистрибутив + проц. Так? Тогда расскажите что такое
angstrom? В чём его отличия от minimal? Для чего он подходит? Если
можно подробнее.
> > И ещё раз спрошу что мне надо сделать что бы включилась ssl и сборка
> > продолжилась? Объясните пожалуйста, вся работа встала.
>
> Для начала вам надо понять что и как делает openembedded. А вы этого не
> понимаете.
Полностью прочёл http://docs.openembedded.ru/index.html. Понимаю что
openembedded это только описание-рецепты. По которым машинка BitBake
выполняет действия - скачивает, компилит, ставит...
Возможно глубин не понимаю, новичёк как и все когда то были. Поэтому и
нужна помощь со стороны разобравшихся с этим людей.
Но если бы не выкинул то собрались, на сколько понимаю.
Всё включил как было и запустил. Не помогло, всё как было. Правда тмр
не удалял.
Я пока начинающий. Понимаю всё так. openembedded - машинка собирающая
из исходников образ файловой системы Линукс под мой таргет. В этой ФС
будут только те модули функции которые запросил. Ничего лишнего. ОС не
будет просить ввести Логин и Пароль. И всё откомпилированно под проц
таргета. Будут добавлены драйвера под железо.
Думаю дистрибутив в понимании openembedded описывает только
возможности будущей ОС, а компилится всё под указанный проц.
Потому если выкинул не нужную функцию ОС то не должно быть затыка в сборке
остального. В итоге мне нужен образ ФС, чтобы залить его на
CompactFLASH и вставить в девайс.
Честно скажу, не понял. angstrom это разве не дистрибутив? Понимаю что
дистрибутив (distro/*.conf) описывает озможности будущей ОС +
перифирию (wi-fi, usb..), а проц таргета описан в (machine/*.conf).
Платформа это дистрибутив + проц. Так?
Тогда расскажите что такое
angstrom? В чём его отличия от minimal? Для чего он подходит? Если
можно подробнее.
Полностью прочёл http://docs.openembedded.ru/index.html. Понимаю что
openembedded это только описание-рецепты. По которым машинка BitBake
выполняет действия - скачивает, компилит, ставит...
Возможно глубин не понимаю, новичёк как и все когда то были. Поэтому и
нужна помощь со стороны разобравшихся с этим людей.
Как Вы написали "компоновка всех этих пакетов в образ" идёт
автоматически. Это прописанно в подключенных к дистрибутиву рецептах.
Т.е. идёт автоматом. Вручную я пакеты не ставлю. Поэтому что бы они не
ставились, их надо исключить из описания. Так понимаю?
>
> > Всё включил как было и запустил. Не помогло, всё как было. Правда тмр
> > не удалял.
> > Удалите и для начала соберите ангстром.
Хорошо. Так и сделал. Поставил DISTRO = "angstrom-2008.1" MACHINE =
"x86". Тмр удалил.
2/3 задач прошёл за 3 рабочих дня. Теперь заново :(. Но главное что бы
собралось.
> > Я пока начинающий. Понимаю всё так. openembedded - машинка собирающая
> > из исходников образ файловой системы Линукс под мой таргет. В этой ФС
> > будут только те модули функции которые запросил. Ничего лишнего. ОС не
> > будет просить ввести Логин и Пароль. И всё откомпилированно под проц
> > таргета. Будут добавлены драйвера под железо.
>
> Не так все это. Во первых openembedded собирает toolchain для генерации кода
> под другую платформу.
> Затем осуществляется сборка пакетов и компиляция ядра под платформу и только
> потом идет компоновка
> всех этих пакетов в образ. Кроме toolchain который генерирурет код
> собираются воспомогательные утилиты для
> правильной сборки пакетов.
Точно, стадию toolchain упустил. Просто проц таргета и хоста почти
одинаков: Pentium-I (i586) и Pentium-III (i686).
> Нет. Платформа это конкретная железяка с конкретной переферией и
> процессором. Именно по-этому она описывается как указано тутhttp://docs.openembedded.ru/commonuse_new_machine.html
> Дистрибутив под железяку может быть любой.
Всё. Разобрался. Главное что написанно в MACHINE_FEATURES. Просто
думал что дистрибутив должен быть заточен под таргет. А получается что
описать можно много чего а соберётся только что будет в
MACHINE_FEATURES.
> > Тогда расскажите что такое
> > angstrom? В чём его отличия от minimal? Для чего он подходит? Если
> > можно подробнее.
>
> minimal это шаблон для создания дистрибутива. angstrom же базовый
> дистрибутив который собирается практически под все target.
Значит всё собирать на основе angstrom? И если понадобиться что то
добавить то добавлять в него.
> Полностью прочёлhttp://docs.openembedded.ru/index.html. Понимаю что
> > openembedded это только описание-рецепты. По которым машинка BitBake
> > выполняет действия - скачивает, компилит, ставит...
>
> Этот материал предназначен для тех кто понимает что такое кросс-компиляция,
> как производится загрузка, что такое ядро и зачем оно необходимо в Linux.
Эти вещи я понимаю. Разбирался с загрузкой Slackware Linux.
> > Возможно глубин не понимаю, новичёк как и все когда то были. Поэтому и
> > нужна помощь со стороны разобравшихся с этим людей.
>
> Начните с простого
> http://openembedded.ru/2008/12/25/zdravstvuj-mir/
С этого описания и начинал. Просто ранее выбрал minimal.
> Соберите сначала для x86, а уже потом пробуйте собирать под PowerPC.
PowerPC - я нигде не упоминал. Мой таргет: Intel i586. Обычный х86
совместимый проц класса Пентиум. А плата это стандартный IBM-PC
совместимый комп. Наоборот ни какой экзотики, в отличии от ARM, AVR и
PowerPC. Единственное что я сделал это пытался собрать не под х86 (по
описанию это i486) а под i586.
> Высейчас пытаетесь откусить больше чем можете.
Стараюсь этого не делать. Пытался только заточить под таргет.
Как Вы написали "компоновка всех этих пакетов в образ" идёт
автоматически. Это прописанно в подключенных к дистрибутиву рецептах.
Т.е. идёт автоматом. Вручную я пакеты не ставлю. Поэтому что бы они не
ставились, их надо исключить из описания. Так понимаю?
Хорошо. Так и сделал. Поставил DISTRO = "angstrom-2008.1" MACHINE =
"x86". Тмр удалил.
2/3 задач прошёл за 3 рабочих дня. Теперь заново :(. Но главное что бы
собралось.
Точно, стадию toolchain упустил. Просто проц таргета и хоста почти
одинаков: Pentium-I (i586) и Pentium-III (i686).
Всё. Разобрался. Главное что написанно в MACHINE_FEATURES. Просто
думал что дистрибутив должен быть заточен под таргет. А получается что
описать можно много чего а соберётся только что будет в
MACHINE_FEATURES.
Значит всё собирать на основе angstrom? И если понадобиться что то
добавить то добавлять в него.
PowerPC - я нигде не упоминал. Мой таргет: Intel i586. Обычный х86
совместимый проц класса Пентиум. А плата это стандартный IBM-PC
совместимый комп. Наоборот ни какой экзотики, в отличии от ARM, AVR и
PowerPC. Единственное что я сделал это пытался собрать не под х86 (по
описанию это i486) а под i586.
Вот теперь всё сраслось. Главное описание (стартовая точка) это рецепт
образа с которым запускаю BitBake. В нём описано содержание ФС.
дистрибутив только подсказывает какую версию пакета брать и где. А
machine нужна для toolchain, и говорит что надо собрать в ядро
Линукса. Вроде так.
> > Купите более быстрый компьютер. На моем сборка занимает от силы часа 4.
Что выделили для этой задачи. Быстрые все заняты.
> > Разница есть, но вообще x86 по умолчанию компилируется под i486
Вот и хотел что бы было под i586 а не i486. Потому и правил MACHINE.
> > Если вы не планируете делать свой дистрибутив лучше использовать его.
Нет не планирую. Из фич нужен будет только FTP сервер. Как понимаю это
надо указывать в образе.
> > Эти вещи я понимаю. Разбирался с загрузкой Slackware Linux.
> Извините, но не заметно.
Да без проблем. С моим стажем в Линуксе это нормально, не заметность.
> > Для какой цели вам это все надо?
Поставить в контроллер многозадачную ОС, и вести разработку программ
под неё.
Вот теперь всё сраслось. Главное описание (стартовая точка) это рецепт
образа с которым запускаю BitBake. В нём описано содержание ФС.
дистрибутив только подсказывает какую версию пакета брать и где. А
machine нужна для toolchain, и говорит что надо собрать в ядро
Линукса. Вроде так.
Что выделили для этой задачи. Быстрые все заняты.
Нет не планирую. Из фич нужен будет только FTP сервер. Как понимаю это
надо указывать в образе.
Поставить в контроллер многозадачную ОС, и вести разработку программ
под неё.
Спасибо. Очень полезная и актуальная статья.
1. Можно ли на CF оставить FAT16(32)? И использовать загрущик LILO?
Это бывает необходимо для совместимоти CF с Win.
2. Как быть когда нет адаптера CF-IDE? Есть только CardReader USB-CF.
Можно ли полученную ФС просто скопировать на CF, а затем загрузившись
в DOS на таргете запутить LOADLIN. Загрузится Linux, и затем запустить
LILO для прописывания его в MBR?
Вроде Linux может работать на FAT. А раз надо пусть работает.
> > Можно ли полученную ФС просто скопировать на CF, а затем загрузившись
> > в DOS на таргете запутить LOADLIN. Загрузится Linux, и затем запустить
> > LILO для прописывания его в MBR?
>
> Можно, но fat надо будет подготовить специальным образом.
Для чего готовить и как? Где можно почитать подробнее?
> Вариант с запуском из запакованного образа будет лучше.
Нужна раскрытая ФС, что бы можно было подновлять рабочие и
конфигурационные файлы при необходимости. Например скинули заказчику
новую версию программы, он её залил кард-ридером в указанное место.
> Можно, но это редкостный изврат.
Вроде Linux может работать на FAT. А раз надо пусть работает.
Для чего готовить и как? Где можно почитать подробнее?
Нужна раскрытая ФС, что бы можно было подновлять рабочие и
конфигурационные файлы при необходимости. Например скинули заказчику
новую версию программы, он её залил кард-ридером в указанное место.
Файловая система нужна только для начальной загрузки. Никаких
сохранений результатов работы в ФС не планируется.
> > Для чего готовить и как? Где можно почитать подробнее?
>
> > Вот тут описано как http://opennet.ru/docs/HOWTO/UMSDOS-HOWTO-3.html
Спасибо. Почитаю.
> Но я сильно сомневаюсь что в 2.6.x эта фича есть.
>
> > Нужна раскрытая ФС, что бы можно было подновлять рабочие и
> > конфигурационные файлы при необходимости. Например скинули заказчику
> > новую версию программы, он её залил кард-ридером в указанное место.
>
> > Файлы конфигурации потом стягивать с fat проблемы не составляет. А
> программы лучше компоновать еще в один образ и подключать его. Как результат
> есть образ базовой системы, конфиги, образ программ.
Как раз нужен не образ программ, а набор файлов программ, что бы можно
было подновлять по 1 файлу. Зачем пересылать и заменять все файлы если
изменилась 1 функция реализованная в 1 файле. Да и на практике бывают
ситуации когда нельзя всё подновлять. Например если реализация другой
функции у разработчика сильно изменилась и может повлечь
несовместимость с версиями установленными давно у заказчика.
Но это всё отвлечение от темы. Итак я сделал всё заново. Стёр build/
tmp. Установил DISTRO = "angstrom-2008.1" MACHINE = "x86". Запустил
сборку и получил туже ошибку в opkg-native. Может надо было выбрать
ветку разработки а не стабильную_2009? Или ещё есть вариант стереть
всю папку ОЕ, поставить всё заново. Кстати несколько файлов ОЕ не
нашёл в инете. Их обновили, и пришлось старые версии отдельно искать и
качать.
Вы можете попробовать запустить с этими параметрами стабильную ветку?
Вдруг таже ошибка будет?
Файловая система нужна только для начальной загрузки. Никаких
сохранений результатов работы в ФС не планируется.
Итак я сделал всё заново. Стёр build/
tmp. Установил DISTRO = "angstrom-2008.1" MACHINE = "x86". Запустил
сборку и получил туже ошибку в opkg-native. Может надо было выбрать
ветку разработки а не стабильную_2009? Или ещё есть вариант стереть
всю папку ОЕ, поставить всё заново. Кстати несколько файлов ОЕ не
нашёл в инете. Их обновили, и пришлось старые версии отдельно искать и
качать.
Вы можете попробовать запустить с этими параметрами стабильную ветку?
Вдруг таже ошибка будет?
конфигурация взята из:
cp openembedded/conf/local.conf.sample build/conf
правка:
DISTRO = "angstrom-2008.1"
MACHINE = "x86"
ничего больше не делал.
на хосте Slackware 13, в консольном режиме. Без Х и КДЕ.
выложил содержимое папки source с указанием размеров файлов, сравните:
http://pastebin.com/d49WbYvD
тут только те что ОЕ успел накачать. Несколько файлов ОЕ не мог найти
(обновились), те я сам нашёл и скачал сюда.
у меня меньше:
linux-gate.so.l => (OxffffeOOO)
liblber-2.3.so.O => /usr/lib/liblber-2.3.so.O (0xb7f7b000)
libresolv.so.2 => /lib/libresolv.so.2 (0xb7f65000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (Oxb7f4eOOO)
libssl.so.0 => /usr/lib/libssl.so.O (0xb7f08000)
libcrypto.so.O => /usr/1ib/1ibcrypto.so.0 (Oxb7dbcOOO)
libc.so.6 => /lib/libc.so.6 (Oxb7c5cOOO)
libd1.so.2 => /lib/libdl.so.2 (0xb7c57000)
/lib/ld-linux.so.2 (0xb7fcf000)
Это вызвало затруднение. Как правильно это сделать?
Покопав инет нашёл:
OpenSSL ftp://ftp.openssl.org/source/openssl-1.0.0.tar.gz
OpenLDAP ftp://ftp.openldap.org/pub/OpenLDAP/openldap-stable/openldap-stable-20100219.tgz
Надо их поставить? Или это не с той оперы?
Это вызвало затруднение. Как правильно это сделать?
> > Попробуйте обновить ldap и ssl
скачал и поставил самые последнии пакеты:
ftp://ftp.openldap.org/pub/OpenLDAP/openldap-stable/openldap-stable-20100219.tgz
http://openssl.org/source/openssl-1.0.0.tar.gz
последнему переименовал расширение tar.gz в tgz. Тогда pkgtool его
увидел и поставил.
Ранее были установлены пакеты (имена файлов из дистрибутива Слакваря):
openssl-0.9.8k-i486-2.txz - теперь 1.0.0
openldap-client-2.3.43-i486-1.txz - теперь 2.4.21
Список файлов (ldd /usr/lib..) остался таким как я выкладывал ранее.
Стоит ли попробовать опять запустить сборку?
Список файлов (ldd /usr/lib..) остался таким как я выкладывал ранее.
Стоит ли попробовать опять запустить сборку?
Удалил TMP. Запустил сборку. И опять получил ту же ошибку в opkg-
native.