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
Openembedded - 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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Openembedded
sasamy
Добавлено 17.10.2010 13:26
0
Сообщение: 1
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Решил создать тему посвященную этой ситеме сборки - появляется все больше плат с нормальной поддержкой lcd, buildroot уже начинает не хватать а "обычные" дистрибутивы слишком тяжелы для слабых процессоров arm9. Некоторое время назад полностью перешел на ubuntu и еще ниразу не пожалел об этом - все что описываю я делал на ubuntu 10.04. С чего начать
1 Подготавливаем систему как описано тут
http://wiki.openembedded.org/index.php/OEandYourDistro
все как для debian но не забываем сделать специфичные для ubuntu шаги иначе получите досадные ошибки при сборке.
2 Подготавливаем openembedded как описано тут
http://wiki.openembedded.org/index.php/Getting_started
Все готово для сборки :) Я делал применительно к i.mx233 - добавил новое описание для платы в /stuff/openembedded/conf/machine/imx233.conf с такм содержанием
Код

#@TYPE: Machine
#@Name: Freescale Development Platform
#@DESCRIPTION: Machine configuration for the SK-iMX233 development board with a i.MX233 processor

TARGET_ARCH = "arm"

PREFERRED_PROVIDER_virtual/kernel = "linux"

# used by sysvinit_2
SERIAL_CONSOLE = "115200 ttyAM0"

require conf/machine/include/tune-arm926ejs.inc


Мой конфиг /stuff/build/conf/local.conf
Код

DL_DIR = "${HOME}/sources"
BBFILES := "/stuff/openembedded/recipes/*/*.bb"
BBMASK = ""
PREFERRED_PROVIDERS = "virtual/qte:qte virtual/libqpe:libqpe-opie"
PREFERRED_PROVIDERS += " virtual/libsdl:libsdl-x11"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
MACHINE = "imx233"
DISTRO = "angstrom-2008.1"
GLIBC_GENERATE_LOCALES = "en_US.UTF-8 ru_RU.UTF-8" # можно закоментить это - при этом сгенерируются все возможные локали
IMAGE_FSTYPES = "tar.gz" # имидж корневой ФС - мне нужен простой архив
PARALLEL_MAKE = "-j 2" # весьма чуствительный параметр - при большом количестве потоков можно получить досадные ошибки
BB_NUMBER_THREADS = "2" # сколько потоков у bitbake - не стал жадничать - мне достаточно чтобы один поток собирал а второй напрмер качал исходники
BBINCLUDELOGS = "yes"


Сразу хочу сделать оговорку - windows-пользователи с linux на виртуальной машине скорей всего обломаются и будут до пенсии ждать окончания сборки - нужны нехилые мощности для сборки, opie-image у меня с нуля на двухядерном ноуте собирался 5 часов, на диске нужно сразу подготовить побольше места - у меня 100 Гбайт. Для атмеловских плат там есть готовые конфиги - в том числе и для at91sam9g45

После небольших экспериментов я поступил так
1 Взял у жены второй ноутбук помощней, поставил там такую же убунту, собрал тулчайн
$bitbake meta-toolchain
2 перенес его на свой
3 Настроил distcc-кластер и запустил openembedded на кластере - жить стало намного веселее ;-)

Если кому нужно - опишу потом по шагам. Пока я только все собрал и ничего не испытывал на железе - это в другой раз. Сейчас у меня успешно собрались цели
bitbake meta-toolchain
bitbake opie-image
bitbake meta-toolchain-qte

Общие впечатления - тут все намного стабильнй, удобней и настраиваемей :) чем в буилдруте но для небольших проектов явный оверхед - нужна мощная машина для сборки. Планирую полностью перейти на openembedded.
Спуститься к концу Подняться к началу
Персональная информация
marat_mmx
Добавлено 18.10.2010 11:47 Сообщение: 2
marat_mmx
0

Пункты: 160
Регистрация: 05.08.2009
1. Наиболее подходящее устройство для imx233 - chumby-falconwing, используя его можно не писать свои конфигурации
2. Чтобы уменьшить занимаемое пространство при сборке можно добавить INHERIT += "rm_work"

3. Последнее ядро для imx233 можно утянуть здесь - git clone git://opensource.freescale.com/pub/scm/imx/linux-2.6-imx.git, но придется немного модернизировать его.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 18.10.2010 13:18 Редактировалось 18.10.2010 13:39 Сообщение: 3
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
1 Да - я его потом тоже увидел, посмотрел ничего нового там не увидел :) да и его тоже править нужно, , можно вообще взять конфиг от любого подходящего чипа например at91sam9263 - при сборке корневой фс это выльется только в изменении строки приветствия, ядро я собираю отдельно - постоянно вношу изменения.
2 Нужная опция - спасибо, если есть опыт использования openembedded - что еще можете посоветовать ?
3 Не могу к нему подключиться
Цитата

sasa@sasa-laptop:~$ git clone git://opensource.freescale.com/pub/scm/imx/linux-2.6-imx.git
Initialized empty Git repository in /home/sasa/linux-2.6-imx/.git/
opensource.freescale.com[0: 192.88.156.202]: errno=Connection timed out
fatal: unable to connect a socket (Connection timed out)

хотя через web-интерфейс он виден
http://opensource.freescale.com/git?p=imx/linux-2.6-imx.git;a=summary
я просмотрел закомиттенные патчи для imx233 - пока ничего интересного там не увидел.

На данный момент у меня конфиг такой
Код

#@TYPE: Machine
#@Name: Freescale Development Platform
#@DESCRIPTION: Machine configuration for the SK-iMX233 development board with a i.MX233 processor

TARGET_ARCH = "arm"

PREFERRED_PROVIDER_xserver = "xserver-kdrive"
XSERVER = "xserver-kdrive-fbdev"
PREFERRED_PROVIDER_virtual/kernel = "linux"
USE_VT = "0"
MACHINE_FEATURES = "kernel26 alsa ext2 usbhost screen touchscreen"


# used by sysvinit_2
SERIAL_CONSOLE = "115200 ttyAM0"

require conf/machine/include/tune-arm926ejs.inc


Не совсем понятно назначение MACHINE_FEATURES - она по описанию должна сообщать task-base чем располагает наша система, но на практике при сборке opie никак не влияет на конечный результат - имиджи одинаковые и при этом никакой графики на экране я так и не увидел :) в консоли вроде все есть.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux