読者です 読者をやめる 読者になる 読者になる

そのボード、僕が積んでおきます。

たくさんの電子工作基板が積みっぱなしになってるので、頑張って工作しようとしていますが、どんどん溜まっていっております。

VoCoreの開発環境をMacで構築する

 INDIEGOGOでお金を出していた極小Linuxボード「VoCore」が、10月から出荷開始され、ステイタスを見ていると、オプションボード付きの僕のところへんも「Shipped」となったので、しばらくしたら届くのだろう。

 

このVoCoreは、無線LANルータなどで使われているRalinkのチップが載っていて、市販の無線LANルータなどの代替OSとなるOpenWrtを動かすことを前提としているようだ。なるほど、確かに小さなLinuxボックスを作るという目的にはよく適合している。

 

「送ったよ」の連絡が来たのでちゃんとサイト見てみたら、開発環境の作り方みたいなページもあるし、居ても立ってもいられなくなったので、とりあえず開発環境の整備だけでもしてみよう、ということで早速。

基本的にはこのページのインストラクション通り

Setup MacOS Develop Enviroment

このインストラクションはVoCore用のKernelのBuild環境作りと、実際のKernelイメージの作り方だな。端末まだ来てないけどやってみるしかないでしょう。

 

ただし、僕の環境だとMacPortsではなくHomebrewなので、5と6の方法が違う。Homebrew入れてない人は5でMacPortsインストールすればいいし、Homebrewの人はすでにインストール済みということなのでHomebrewのインストール方法は割愛。

brew install coreutils gnu-getopt gnu-tar findutils wget

ln -s /usr/local/opt/gnu-getopt/bin/getopt /usr/local/bin/getopt

色々調べながらやってみたところ、僕のところでは上記のパッケージが必要だった。そこそこ使ってる環境なので、すでにインストールされていたパッケージ等があるかもしれないので、足りない場合があるかもしれない。

ページに書いてあるfileutilsは、Homebrewではcoreutilsの中に含まれているようだ。また、gnu-getoptはインストールするだけではコマンドへのパスが通らず、そもそもMacに入っているgetoptは使えるオプションが足りないようなので、シンボリックリンクを作成しておいた。

 

また、9に関しては、ディレクトリの移動が抜けてるけど、想像通り

cd /Volume/VoCore/openwrt  

して、以降はopenwrtのディレクトリの中で行う。

 

そして、10のとおりbuildを実行してみる。おや?ErrorGoogle先生に聞いたりしつつ、OpenWrtの公式サイトからPatch持ってきて適用してみたり、何度かソースを持って来直して試したりしてみたところ、エラーの発生箇所が一様でない。そして、エラーが出ても、再度makeコマンド投げれば先に進むようだ。エラーの発生芭蕉はtouchコマンドのところ?!ん〜、何か時々ファイルの書き込みでこけてるだけっぽい?!いや、「だけ」っていうか、それはそれで問題なんだけど。touchでコケるか?!

 

ま、とりあえず、エラー出てももう一回makeコマンドなげてみろってことで。

 

そして、最後の最後まで悩んだのが、以下のエラー。

Signing key has not been configured
make[2]: Leaving directory `/Volumes/VoCore/openwrt'
make[1]: Leaving directory `/Volumes/VoCore/openwrt'

OpenWrt公式のIssue見ても「いや、このIssue閉じてもらってもいいですか」みたいな記述しかなく、ぐぬぬ…って思いながらも調べてたら、VoCoreの中の人のBlogで答えを見つけた。

Topic: Setting up OpenWrt build environment on OSX and build VoCore image | Vonger's Blog

 

これが正常に終了した時のメッセージだった

 

時間返して…orz。確かに、bin/以下にバイナリができあがってる。ということで、フライングでkernelイメージ作ったけど、これ以上これ以上何もできないので、ここから先は実機が来てからってことで。

 

日本のメーカーから、きちんと技適通した似たようなコンセプトのボード出ないかなぁ。