基于S32G2 提供的ubuntu20.04 yocto 配方集成ros2,以及针对原ubuntu-ros1配方国外源下载超时导致镜像构建失败的解决方法。
基于yocto和meta-ros的ros2 humble镜像
参考优快云:yocto 集成ros2
- 拷贝ros配方到source下
git clone -b kirkstone https://github.com/meta-qt5/meta-qt5.git meta-qt5
git clone -b kirkstone https://github.com/ros/meta-ros.git meta-ros
- 添加以下meta层到bblayers.conf下
meta-qt5
meta-java
meta-ros/meta-ros2-humble
meta-ros/meta-ros2
meta-ros/meta-ros-common
- gcc-cross 报错
The following requested languages could not be built: fortran
//在local.conf 添加以下内容,取消fortran的编译
ROS_WORLD_SKIP_GROUPS += " fortran"
//gvip的软件特性也关闭
DISTRO_FEATURES:remove = " xen"
DISTRO_FEATURES:remove = " goldvip-crypto"
DISTRO_FEATURES:remove = " goldvip-containerization seccomp"
DISTRO_FEATURES:remove = " goldvip-dds"
DISTRO_FEATURES:remove = " goldvip-gateway"
DISTRO_FEATURES:remove = " goldvip-ml"
DISTRO_FEATURES:remove = " goldvip-ota"
DISTRO_FEATURES:remove = " goldvip-benchmark"
DISTRO_FEATURES:remove = " goldvip-telemetry-server"
- 添加ros的软件包到image配方里
inherit ros_distro_${ROS_DISTRO}
inherit ${ROS_DISTRO_TYPE}_image
IMAGE_INSTALL:append = " \
ros-core \
turtlesim \
demo-nodes-cpp \
demo-nodes-py \
"
- bitbake镜像配方
基于nxp ubuntu20.04的ros1 noetic镜像
rosdep超时
该配方可能因为rosdep 超时导致无法编译成功,参考清华源rosdistro 清华大学开源软件镜像站修改rosdep源
修改国内源如下
--- /home/wumingxu/project/gatewa