Подтвердить что ты не робот

Может ли кто-нибудь указать мне на битбокс или учебник с открытым исходным кодом?

Я работаю с дистрибутивом Angstrom Linux для BeagleBoard. Может ли кто-нибудь указать мне на учебник или ссылку на то, как Bitbake и OpenEmbedded действительно работают? Например, когда я вызываю битбокс следующим образом:

bitbake virtual/kernel

что на самом деле происходит? Я grep'ed рецепты Angstrom и искал файловую систему Angstrom, но я, похоже, не могу найти ссылки ни на виртуальные, ни на ядро. Я чувствую себя немного смущенным, работая с этой инструментальной цепочкой и делая патчи ядра, не понимая, как работает битбокс.

4b9b3361

Ответ 1

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

Лучший способ, который я нашел, чтобы выяснить, что происходит, когда вы пытаетесь что-то построить, - передать параметр -g для битбокса, который будет генерировать два файла: depend.dot и task-depends.dot. Первый - это график зависимостей этого пакета, показывающий, какие другие пакеты втягиваются при выполнении конкретной задачи. Последний показывает более подробно, показывая задачи вместо пакетов. Эти задачи немного ниже, чем сами пакеты; создание пакета может привести к тому, что система будет извлекать источники, исправлять источники, запускать configure script, выполнять компиляцию, устанавливать двоичные файлы и разбивать полученные файлы на подпакеты.

Эти файлы могут показать, почему вы пытаетесь найти часть программного обеспечения, которого вы не хотите, чтобы вы могли редактировать нарушающий пакет, чтобы удалить его зависимость. Созданные здесь графики могут быть визуализированы с помощью пакета graphviz, но если вы запустите параметр -g для большой задачи, такой как задача изображения, созданный граф будет слишком большим для визуализации. Это может быть полезно для grep через .dot файлы.

Ответ 2

В будущем обратитесь к тем, кто задается вопросом о том же. Если в вашей файловой системе вы перейдете на overo/org.openembedded.dev/docs/usermanual, а затем запустите "make", тогда большая документация о bitbake и openembedded будет сделана для вас как html файлы. Это объясняет многое из того, что происходит.

Ответ 3

Руководство пользователя OpenEmbedded, на которое ссылается Энтони, доступно на сайте OE. Глава 7 дает хорошее введение в OE и то, как она использует BitBake:

http://docs.openembedded.org/usermanual/usermanual.html#chapter_using_bitbake_and_oe

Подразделы Configuration, Work Space и Tasks обеспечивают хороший фон о том, что происходит за кулисами, если вы следуете на странице OE Getting Started:

http://www.openembedded.org/wiki/Getting_started

Ответ 4

Несмотря на то, что у BitBake нет подробного и удобного учебника, проекты OpenEmbedded (более старые) и YOCTO (более новые), в которых используется BitBake, есть несколько руководств или книг, где описаны рецепты BitBake и BitBake. В настоящее время BitBake поддерживает проекты Openembedded и YOCTO, и когда вы используете BitBake обычно, вы будете использовать эти два проекта, чтобы найти основные компоненты Linux, такие как загрузчик, busybox и т.д., Подходящие для вашей цели.

Литература: http://docs.openembedded.org/usermanual/usermanual.html http://www.yoctoproject.org/docs/1.8/ref-manual/ref-manual.html#patching-dev-environment (глава 3 больше связана с BitBake)