wonder gadget

ガジェットはインターネットの夢をみるか? Intel edisonを中心に IoT, MAKE, Physical Computingしていきます。

Vagrant上にraspberry-devboxを立ち上げる

Raspberry Piに似た環境をVagrant上に準備するために色々と調べた所、raspberry-devboxがgithub上に公開されていましたので、こちらを立ち上げるための作業ログをまとめてみます。

 1. 事前準備

VirtualBoxとVagrantをインストールしましょう。


Vagrant セットアップ (Mac) - Qiita


Windows7にVagrantをインストール - Qiita

 

それからgitもインストールしてください。これはコマンドラインでもGUIのものでもどちらでも構いません。

 

2. raspberry-devboxのgit clone

githubにフォークされているリポジトリがありますので、そちらからVagrantファイルなどをcloneします。


nickhutchinson/raspberry-devbox · GitHub

$ git clone git@github.com:nickhutchinson/raspberry-devbox.git

 

3. raspberry-devboxのvagrant up

$ cd raspberry-devbox

$ vagrant up

これでUbuntu12.04(x86_64)が起動します。

初回起動時にはpuppetにより必要なモジュールがインストールされScratchBox2によるARM互換の実行環境(raspbian)が/home/vagrant/raspberry-dev/rootfs/以下に作成されます。Boxのダウンロードとpuppetの実行が行われるのである程度時間がかかります。コーヒーでも沸かして待ちましょう。

 

4. ScratchBox2の利用

ScratchBox2はARMのクロスコンパイル環境です。以下のようにコマンドを実行することができます。

$ sb2 -eR apt-get update

Hit http://archive.raspbian.org wheezy Release.gpg
Hit http://archive.raspbian.org wheezy Release
Hit http://archive.raspbian.org wheezy/main Sources
Hit http://archive.raspbian.org wheezy/contrib Sources
Hit http://archive.raspbian.org wheezy/non-free Sources
Hit http://archive.raspbian.org wheezy/rpi Sources
Hit http://archive.raspbian.org wheezy/main armhf Packages
Hit http://archive.raspbian.org wheezy/contrib armhf Packages
Hit http://archive.raspbian.org wheezy/non-free armhf Packages
Hit http://archive.raspbian.org wheezy/rpi armhf Packages
Ign http://archive.raspbian.org wheezy/contrib Translation-en
Ign http://archive.raspbian.org wheezy/main Translation-en
Ign http://archive.raspbian.org wheezy/non-free Translation-en
Ign http://archive.raspbian.org wheezy/rpi Translation-en
Reading package lists... Done

 試しにapache2をインストールしてみましたが、インストールはできたものの起動ができませんでした。何か他の要因があるようです。仮想環境上にさらにARMクロスコンパイル環境を立ち上げているので普通にサービスを立ち上げるのは難しいようです。

 

この環境を使ってchefによる環境セットアップを行うhowtoがネットにいくつか掲載されていました。複数台のRaspberry Piをセットアップするのに良いかもしれません。


ChefでRaspberry Piをセットアップする - naoty.to_s