LoginSignup
5
4

More than 5 years have passed since last update.

Intel Edison に ROSをインストール

Last updated at Posted at 2016-10-17

Intel EdisonにROSをインストールする方法を紹介します。

EdisonにROSをインストールする方法の主流は、Edisonにubilinuxをいれてdebian化をし、その後はRaspberryPiにROSをインストールするのと同様にインストールすることのようです。
しかしながら、ubilinuxは現在スポンサーがいないために手軽に入手はできることができないそう。公式サイト
もうひとつの方法は、Intelから提供されているLinuxを自分でカスタマイズすることです。
しかし、それのやり方はドキュメント化が海外でもされていない!ので、今回はやり方をまとめてみました。

必要環境

Ubuntu 14.04 LTS
40GB以上の空き容量

必要パッケージのインストール

sudo apt-get install build-essential git diffstat gawk chrpath texinfo libtool gcc-multilib dfu-util

Intel公式サイトからソフトウェア群のダウンロード

cd ~/
wget https://downloadmirror.intel.com/25028/eng/edison-src-ww25.5-15.tgz
tar xvf edison-src-ww25.5-15.tgz

ビルド環境の用意

cd ~/edison-src
mkdir bitbake_download_dir && mkdir bitbake_sstate_dir
./meta-intel-edison/setup.sh --dl_dir=bitbake_download_dir --sstate_dir=bitbake_sstate_dir

前の手順でダウンロードされたレシピの中にひとつだけ壊れたリンクがあるので修正

~/edison-src/out/linux64/poky/meta-intel-iot-middleware/recipes-connectivity/paho-mqtt/paho-mqtt_3.1.bb
SRC_URI = "git://github.com/eclipse/paho.mqtt.c.git;protocol=http \
           file://makefile.patch \
"

追加で必要なレポジトリをダウンロード

cd ~/edison-src/meta-intel-edison/
git clone git://git.openembedded.org/openembedded-core
git clone git://git.openembedded.org/meta-openembedded
git clone https://github.com/bmwcarit/meta-ros
cd ~/edison-src/meta-intel-edison/openembedded-core && git checkout dizzy
cd ~/edison-src/meta-intel-edison/meta-openembedded && git checkout dizzy

Edisonのレシピの最後にROSのレシピを追加

~/edison-src/meta-intel-edison/meta-intel-edison-distro/recipes-core/images/edison-image.bb
IMAGE_INSTALL += "roslaunch"
IMAGE_INSTALL += "roscpp-tutorials"

ここには色々なものを追加できる。ROSのビルドファームにあるパッケージのレシピはたくさん用意されているので、必要に応じて追加する。

追加したレシピのパスを追加

BBLAYERSを下の内容に置き換える(usernameはユーザー名に置換した上で)

~/edison-src/out/linux64/build/conf/bblayers.conf
BBLAYERS ?= " \
  /home/username/edison-src/out/linux64/poky/meta \
  /home/username/edison-src/out/linux64/poky/meta-yocto \
  /home/username/edison-src/out/linux64/poky/meta-yocto-bsp \
  /home/username/edison-src/meta-intel-edison/meta-intel-edison-bsp \
  /home/username/edison-src/meta-intel-edison/meta-intel-edison-distro \
  /home/username/edison-src/out/linux64/poky/meta-intel-iot-middleware \
  /home/username/edison-src/meta-intel-edison/meta-intel-arduino \
  /home/username/edison-src/meta-arduino \
  /home/username/edison-src/meta-intel-edison/openembedded-core/meta \
  /home/username/edison-src/meta-intel-edison/meta-openembedded/meta-oe \
  /home/username/edison-src/meta-intel-edison/meta-openembedded/meta-python \
  /home/username/edison-src/meta-intel-edison/meta-openembedded/meta-multimedia \
  /home/username/edison-src/meta-intel-edison/meta-ros \
  \
  "

マシンスペックを有効活用できるようにする

~/edison-src/out/linux64/build/conf/local.conf
BB_NUMBER_THREADS = "4"
PARALLEL_MAKE = "-j 4"

BB_NUMBER_THREADSはSSDを持っている場合は12がいいらしい。
PARALLEL_MAKEはスレッド数。

ビルドする

cd ~/edison-src/out/linux64
source poky/oe-init-build-env
bitbake edison-image

数時間くらいかかります。

Edisonにフラッシュするためのスクリプトを修正

修正前

~/edison-src/meta-intel-edison/utils/flash/postBuild.sh(L9)
build_dir=$top_repo_dir/build

修正後

~/edison-src/meta-intel-edison/utils/flash/postBuild.sh(L9)
build_dir=$top_repo_dir/out/linux64/build

フラッシュの準備

cd ~/edison-src/meta-intel-edison/utils/flash
./postBuild.sh

Edisonの準備

Intel Edison Breakout boardならば、下のUSBポートにmicro USB type Bを接続する。
シリアル通信に使う方のポートでない。
この段階ではPCには接続しない。

フラッシュ

cd ~/edison-src/out/linux64/build/toFlash
./flashall.sh

ここでEdisonの接続が求められるので、接続する。そうするとフラッシュが始まるので5分くらい待つ。

それが終わったら完了!

参考文献

Official Documentation

About missing repository

About flashing

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4