(toppers-users 4360) Re: ASP on TECS EV3のlinux(VMware)でのビルドについて

Masaki Muranaka monamour @ monaka.org
2015年 3月 25日 (水) 07:44:05 JST


こんにちは.

> 1.カーネルコンフュグレータが、linuxの64bit版で起動しなかった。
>  --> なので 32bit linuxを利用

手元の(とはいっても雲の向こうの) Ubuntu x86_64 インスタンスでは
引数 --help でヘルプメッセージが出ました.
ldd の出力も踏まえてみると,たぶん ia32-libs 辺りを入れれば
動くのではないでしょうか.
(試したいですが,これから仕事 ;-)


2015年3月24日 0:10 高橋和浩@nifty <takahashi_kazuhiro @ nifty.com>:
> MLの皆様、TECS WGのみなさま
> お世話になっております。
> 先日有馬温泉の合宿に参加させていただきましたアライブビジョンソフトウェア株式会社の髙橋です。
> 大変勉強になりました、ありがとうございました。
>
> 実はようやく、ASP ON TECS EV3 というのでしょうか、linetraceのサンプルでメモリイメージの
> uImageができたところです。
>
> 環境の問題があって、これが正解かどうかはわかりませんが、備忘録として、書いておきます。
>
> 1.対象パッケージ
>  mruby-on-asp+tecs_for_ev3_package-141118.tar.gz
>   です。 これはどこかに公開されているかどうかよくわかりません。
>  とりあえずこれですということでコピーを渡されました。
>
> 2.環境
>  Windows8.1 64bit
>   Vmware6.05
>   ubuntu12.04 32bit (ubuntu japanese Teamが配布しているもの)
>
> 3.他に必要なもの
>  TOPPERSのコンフィグレータ linux 32用
> https://www.toppers.jp/download.cgi/cfg-mingw-static-1_9_4.zip
>   microSDカード FATフォーマット
>
> 4.手順
> 4.1.armツールチェーンの構築
> http://dev.toppers.jp/trac_user/ev3pf/wiki/DevEnvLinux
> をベースに構築します が、ubuntu12.04はものが古いのでそのままできません
>
> それで
> $ sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi
> $ sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
> $ sudo apt-get update
>
> ここまでは同じ
>
> 以下
> $ sudo apt-get install gcc-arm-none-eabi=4.9.3.2014q4-0trusty12 u-boot-tools libboost1.55-all-dev
> これを
> $ sudo apt-get install gcc-arm-none-eabi u-boot-tools libboost1.46-all-dev
> にしたら、インストールはできました。 バージョンの問題があるかもしれません。
>
> 4.2.ツールチェーン以外のツールのインストール
>  ruby と bison を入れます
> #sudo apt-get install ruby bison
> でいけたと思います。
>
> 4.3.mruby本体のビルド
>  解凍パッケージのルートを以下 HOMEと記載します。
>  cd HOME/mruby
>   make
>   でmakeします。
>
> 4.4. コンフィギュレータをTOPPERSホームページから持ってきます
>   HOME/asp+tecs/cfg/cfg のディレクトリに cfgを置きます
>   フルパスは HOME/asp+tecs/cfg/cfg/cfg になります。
>
> 4.5. サンプルのMakefile修正
>  サンプルは以下のディレクトリに複数あります。
>   HOME/asp+tecs/ev3_samples
>     今回は
>   HOME/asp+tecs/ev3_samples/mruby_linetrace
>     としました。
>  そのディレクトリのMakefileをgeneraterをlinux用にコメントを変更します。
>  125行目ぐらいで、以下のようにします。
> #
> #  TECSインタフェースジェネレータ関係の定義
> #
> #TECSGEN = $(SRCDIR)/../bin/tecsgen.exe  -k euc
>
> #tecsgen.rb (ruby + racc)を利用する場合は下記のRUBYLIBとTECSGENの定義を利用する
> RUBYLIB = $(SRCDIR)/../tecsgen/tecsgen
> TECSGEN =$(RUBY) $(SRCDIR)/../tecsgen/tecsgen/tecsgen.rb -L $(RUBYLIB)
>
>         1行コメントアウト、2行コメントから復活
>
> 4.6 ビルドの実行
>  #make tecs
>  でtecsのジェネレータが動くそうです。
>  その後
>  #make
>   で。 asp.bin までできたらOK 最後以下のようにエラーになります。
>
> ../../../bin/mkimage.exe -A arm -O linux -T kernel -C none -a 0xc0008000 -e 0xc0008000 -n "TOPPERS/ASP Kernel with TECS(EV3)" -d asp.bin uImage
> ../../../bin/mkimage.exe: 1: ../../../bin/mkimage.exe: もじばけ: not found
> ../../../bin/mkimage.exe: 2: ../../../bin/mkimage.exe: Syntax error: newline unexpected
> make: *** [uImage] エラー 2
>
> 4.7 WindowsのコマンドプロンプトでuImageを作成
>   mkimage.exeがWindowsのプログラムなので、Windowsにコピーして実行します。
>   asp.binも合わせて、Windowsにコピーします。
>
>
> D:\usr\share\WK\TECS>mkimage.exe -A arm -O linux -T kernel -C none -a 0xc0008000
>  -e 0xc0008000 -n "TOPPERS/ASP Kernel with TECS(EV3)" -d asp.bin uImage
> Image Name:   TOPPERS/ASP Kernel with TECS(EV3
> Created:      Mon Mar 23 23:01:54 2015
> Image Type:   ARM Linux Kernel Image (uncompressed)
> Data Size:    417016 Bytes = 407.24 kB = 0.40 MB
> Load Address: c0008000
> Entry Point:  c0008000
>
> D:\usr\share\WK\TECS>dir
>  ドライブ D のボリューム ラベルは ボリューム です
>  ボリューム シリアル番号は 364F-86A5 です
>
>  D:\usr\share\WK\TECS のディレクトリ
>
> 2015/03/23  23:01    <DIR>          .
> 2015/03/23  23:01    <DIR>          ..
> 2015/03/22  16:22           417,016 asp.bin
> 2014/11/17  21:34            44,544 mkimage.exe
> 2015/03/23  23:01           417,080 uImage
>                3 個のファイル             878,640 バイト
>                2 個のディレクトリ  371,264,856,064 バイトの空き領域
>
> D:\usr\share\WK\TECS>
>
> となったらOKなはずです。
> uImageを microSDにコピーすればいいはずです。
> この先は、EV3がないので試せていません。
>
>
>
>
> なぜそうしたかについて
> 1.カーネルコンフュグレータが、linuxの64bit版で起動しなかった。
>  --> なので 32bit linuxを利用
> 2.カーネルコンフュグレータのビルド方法がわからなかった。
>  最初から cfgをビルドはあきらめていた感じでした。
>
> 3.基本的にCygwinでビルドできる環境になっていた。
>  コンフィグレータなどCygwinならバイナリで設定済み
>
> 4.makeでSDカードに書き込みするので
>  Vmwareの新しいバージョンは調子が悪くマウントできなかった
>  なので一つ古いバージョンで確認しました。
> 5.vmware-toolのバグでvmhgfsやSDカードのマウントができなかった。
>  結局 vmware-toolのソースを修正した。(今日ようやくクリアしました)
>  参考http://bushowhige.blogspot.jp/2015/02/ubuntu-1204-linux-kernel-3130-46-vmware.html
>
>
> 以上です。
> ---
> アライブビジョンソフトウエア株式会社
> 高橋和浩
> 673-0005兵庫県明石市小久保2-2-7幹線ビル4F
> Email:takahashi_kazuhiro @ nifty.com
> http://homepage3.nifty.com/ALVS/
>
> ITRON用mDNSをオープンソースで公開中。
> ご活用ください。
> mDNSはスマートグリッドネットワークSEP2.0の標準プロトコルです。
> http://homepage3.nifty.com/ALVS/publicsoftware.htm
>
> TEL:078-922-2177
> FAX:078-597-8290
> 携帯:080-1495-8094