2017-04-23 54 views
0

我如何定義環境變量,否則將使用導出到yocto構建中的.bashrc或.bash_profile,以免在每次使用flash操作系統時都這樣做。Yocto配方添加導出到.bash_profile

對於細節:
局我建立爲: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 

另外,如何添加最後一次觸摸才能運行一次(我想在每次打開終端時都不需要運行)。

我試圖做一個服務來聲明這些變量,但我認爲這不是最有效的(或至少是好的)做同樣的方法。

回答

1

我不知道是否有一個更簡單的方法,但我創建了「基本文件」配方provinding的.profile文件的.bbappend與

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

內。

然後在你需要有一個文件叫dot.profile並把你的環境變量。

作爲一般的建議,當你面對這種問題,可以使用find命令來查找其配方提供哪些文件

+1

它需要時間來弄清楚到底該文件夾的路徑和文件名,但最後它的工作,你的發現方法也有助於理解路徑。 – Prajankya

+1

這是一種暴力,但它始終有效。作爲一個方面說明,我建議你增加: #ROS自動完成 源的/ opt/ROS /靛藍/股/ rosbash/rosbash q若要使用roswtf 出口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的東西添加自動完成 export PATH = $ PATH:/ opt/ros/indigo/bin –