【问题标题】:Yocto recipe for adding export to .bash_profile将导出添加到 .bash_profile 的 Yocto 配方
【发布时间】:2017-04-23 16:06:02
【问题描述】:

如何定义环境变量,否则我会使用 export 将 .bashrc 或 .bash_profile 放入 yocto 构建中,以免每次刷新操作系统时都这样做。

详情:
我正在构建的电路板:Toradex Apalis T30
我正在添加这个食谱:https://github.com/bmwcarit/meta-ros

如上面配方的自述文件所示,我们需要set up the environment with

export ROS_ROOT=/opt/ros
export ROS_DISTRO=indigo
export ROS_PACKAGE_PATH=/opt/ros/indigo/share
export PATH=$PATH:/opt/ros/indigo/bin
export LD_LIBRARY_PATH=/opt/ros/indigo/lib
export PYTHONPATH=/opt/ros/indigo/lib/python2.7/site-packages
export ROS_MASTER_URI=http://localhost:11311
export CMAKE_PREFIX_PATH=/opt/ros/indigo
touch /opt/ros/indigo/.catkin

另外我怎样才能添加最后一次触摸只运行一次。(我想每次打开终端时都不需要运行)。

我尝试创建一个服务来声明这些变量,但我认为这不是最有效(或至少是好的)方法。

【问题讨论】:

    标签: yocto recipe openembedded


    【解决方案1】:

    我不知道是否有更简单的方法,但我创建了一个“基本文件”配方的 .bbappend,用于提供 .profile 文件

    FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
    

    里面。

    然后你需要有一个名为dot.profile 的文件并放入你的环境变量。

    作为一般建议,当您遇到此类问题时,请使用find 命令查找哪个配方提供了哪些文件

    【讨论】:

    • 花了一些时间弄清楚文件夹路径和文件名,但最终它的工作,你的 find 方法也有助于理解路径。
    • 这是一种蛮力,但它总是有效的。作为旁注,我建议您添加: # ROS autocompletion source /opt/ros/indigo/share/rosbash/rosbash #To use roswtf export ROS_OS_OVERRIDE="ubuntu" #Sets ROS_IP export ROS_IP="$(ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}' | cut -d: -f1 | head -n 1 )" #为 ROS 内容添加自动补全导出 PATH=$PATH:/opt/ros/indigo/bin
    • 这对我不起作用。我创建了基本文件配方的 .bbappend 并将文件放入 files/dot.profile,但在 /etc/skel/.profile/etc/profile 中没有显示任何内容。
    猜你喜欢
    • 2020-12-04
    • 2018-10-23
    • 2014-11-22
    • 1970-01-01
    • 2016-08-26
    • 2020-06-22
    • 2018-06-28
    • 2019-07-06
    • 2018-07-17
    相关资源
    最近更新 更多