Devshell

Одна из областей где OpenEmbedded помогает вам, это установка переменных окружения. Таких как CC, PATH и многие другие используемые при кросс-компиляии. Если требуется вручную запускать скрипты настройки приложения и кросс-компиляцию во время разработки, то может потребоваться выставлять переменные окружения вручную. Для этого можно вспользоваться devshell. Он предоставляет интерактивный режим для установки всех необходимых для кросс-компиляции переменных оокружения.

devshell через подключение

Это новый метод подключения devsell. Он может подойти для большинства разработчиков. Этот метод требует подключения класса devshell через добавление его в локальный файл настроек. Для этого в ваш файл local.conf или файл настроек вашего дистрибутива следующий параметр:

INHERIT += "src_distribute_local insane multimachine devshell"

После подключения класса devshell добавится как новая задача которую можно использовать с рецептом:

~%> bitbake -b recipes/lzo/lzo_1.08.bb -c listtasks
NOTE: package lzo-1.08: started
NOTE: package lzo-1.08-r14: task do_listtasks: started
do_devshell
do_fetchall
do_listtasks
do_rebuild
do_compile
do_build
do_mrproper
do_fetch
do_configure
do_clean
do_populate_staging
do_package
do_unpack
do_install
do_package_write
do_distribute_sources
do_showdata
do_qa_staging
do_qa_configure
do_patch
NOTE: package lzo-1.08-r14: task do_listtasks: completed
NOTE: package lzo-1.08: completed

Для вызова devshell запустите bitbake с указанием нужного рецепта и задачи devshell:

~%> ./bb -b recipes/lzo/lzo_1.08.bb -c devshell
NOTE: package lzo-1.08: started
NOTE: package lzo-1.08-r14: task do_devshell: started
[... devshell запустится тут ...]
NOTE: package lzo-1.08-r14: task do_devshell: completed
NOTE: package lzo-1.08: completed

Как devshell запустится зависит от настройки параметра TERMCMD вы можете посмотреть настройки по умолчанию и возможные значения в conf/bitbake.conf. Поэкспеременитруйте с ними в вашем local.conf. По умолчанию откроется новоге окно терминала с devshell.

Задача devshell добавляется после задачи patch, если вы еще не запускали bitbake, то перед запуском devshell сначала произойдет скачивание архивов с исходными кодами, распаковка и наложение патчей.

Замечание

Этот метод запуска devhshell работает если вы используете bash как свой shell, но это не будет работать при использовании using zsh вместо bash. Другие shell так же могут не работать.

devshell дополнение

devshell дополнение это старый мотод метод подключения devshell.

Это не требует изменения ваших настроек, вместо этого просто соберите рецепт devshell:

bitabike devshell

и затем в ручную азпустите devhell. Затем необходимо изменить текущий каталог на рабочий каталог рецепта с который необходим n:

~%> ./tmp/deploy/addons/sh4-linux-erouter-titan-devshell
bash: alias: `./configure': invalid alias name
[OE::sh4-linux-erouter-titan]:~$ cd tmp/work/lzo-1.08-r14/lzo-1.08
[OE::sh4-linux-erouter-titan]:~tmp/work/lzo-1.08-r14/lzo-1.08$

Замечание

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

Работа с devshell

[В процессе]