-
Notifications
You must be signed in to change notification settings - Fork 254
OpenEmbedded Build Instructions
Revision: 1 Published: 2019-04-17
NOTE: This page will eventually be merged into meta-ros/README.md
.
These instructions are for building ROS 2 crystal using OpenEmbedded thud on Ubuntu 18.04.
-
Setup bitbake and OE-Core using a separate disk for the Yocto build artifacts. Note that the upstream HEAD of the
[thud]
and[1.40]
branches can be updated at any time.R=$PWD git clone -b 1.40 git://git.openembedded.org/bitbake git clone -b thud git://git.openembedded.org/openembedded-core mkdir -p <YOCTO-ARTIFACTS-DISK>/BUILD ln -s <YOCTO-ARTIFACTS-DISK>/BUILD build source openembedded-core/oe-init-build-env # Current directory is now <YOCTO-ARTIFACTS-DISK>/BUILD . mv conf $R/. ln -s $R/conf . cd $R
-
Add this to the bottom of
conf/bblayers.conf
:BBLAYERS_FETCH_DIR = "${COREBASE}/.." ROS_DISTRO = "crystal"
-
Add the dependent layers from
LAYERDEPENDS_ros-layer
toconf/layer.conf
:bitbake-layers layerindex-fetch -b thud meta-python # Satisfies the meta-oe layer dependency bitbake-layers layerindex-fetch -b thud meta-qt5
bitbake-layers show-layers layer path priority ========================================================================== meta <$R>/openembedded-core/meta 5 meta-oe <$R>/meta-openembedded/meta-oe 6 meta-python <$R>/meta-openembedded/meta-python 7 meta-qt5 <$R>/meta-qt5 7
-
Fix up the checkouts of the repos (the
-b
flag tobitbake-layers
is ineffectual):cd meta-openembedded; git checkout thud; cd - cd meta-qt5; git checkout thud; cd -
-
Clone
lgsvl/meta-ros2[thud-superflore-crystal]
and add it toBBLAYERS
:git clone -b thud-superflore-crystal [email protected]:lgsvl/meta-ros2.git meta-ros bitbake-layers add-layer meta-ros
(Until the commits have been finalized and merged into
lgsvl/meta-ros2[thud-superflore-crystal]
, you should clone from the rebaseable branchherb-kuta-lge/meta-ros2[r.hk/thud-superflore-crystal]
.) -
Add this to the bottom of
conf/local.conf
:ROS_YOCTO_ARTFACTS = "<YOCTO-ARTIFACTS-DISK>" # BUILDHISTORY_DIR is kept under TOPDIR DL_DIR = "${ROS_YOCTO_ARTFACTS}/downloads" SSTATE_DIR = "${ROS_YOCTO_ARTFACTS}/sstate-cache" TMPDIR = "${ROS_YOCTO_ARTFACTS}/BUILD/tmp" MACHINE = "qemuarm64" SSTATE_MIRRORS = " \ file://.* http://sstate.yoctoproject.org/2.6.1/PATH;downloadfilename=PATH \n \ "
cd -P build; bitbake core-image-ros-roscore
cd -P build; bitbake core-image-ros-world
- Initial publication.