実際に動くかどうか分らないけど、ひとまずそれっぽいものが出来上がったのでまとめておく。これが想定される正しいビルド方法である確証もないし、実機で動作するかも見保証。EV3が、ただの箱になっても責任負いません。
環境
Debian 7(wheezy)使用。必要になるパッケージを入れる。
|
|
Java Linux x86(jdk-7u25-linux-i586.tar.gz)をダウンロード。
|
|
Sourcery CodeBench Lite EditionからARM ProcessorsのDownload the GNU/Linux Releaseを辿り、Sourcery CodeBench Lite 2013.05-24からIA32 GNU/Linux TAR(arm-2013.05-24-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2)ダウンロード。
|
|
以下のように環境変数を設定する。
ソースコード
Githubから直接クローンする。
|
|
ビルド
クローンしたlms2012ディレクトリ内のlms2012/open_first内でビルドする。ターゲットを指定せずにmake
を実行すると有効なターゲットとその説明が表示される。
|
|
doc
以外のターゲットを実行すれば、ファームウェア作成に必要なファイルが生成される。
|
|
以下は、各ターゲットで実行される内容。
- lms2012
lms2012/lms2012
内をビルドする。デバイスアクセス用ユーザランドライブラリとEV3上で動作するバイナリインタプリタ(lms2012
)が生成される。ビルドしたバイナリはlms2012/lms2012/Linux_AM1808
に出力される。
- modules
- ハードウェア制御用のカーネルドライバをビルドする。
lms2012/d_xxxx
にあるソースからlms2012/d_xxxx/Linuxmod_AM1808
にビルドする。
- ハードウェア制御用のカーネルドライバをビルドする。
- programs
- デフォルトで入っているユーティリティなどをビルドする。
- kernel
extra/linux-03.20.00.13
にあるソースをビルドしてカレントディレクトリにuImage
を作る。
- u-boot
extra/uboot-03.20.00.13
にあるソースをビルドしてカレントディレクトリにuBoot
を作る。
イメージの作成
lms2012/open_first/scripts/make_ev3_os_EDU.sh
の、/mnt
で作業しているのが気持ち悪いので/tmp
に書き換える。さらにsudo
で実行するためにホームディレクトリの参照を書きかえる。
|
|
カレントディレクトリをlms2012/open_first
にしたうえで、以下のコマンドを実行する。
|
|
正常に終了すると、EV3-image.1378785043.bin
とEV3.cramfs.bin
が生成される。EV3-image.1378785043.bin
はU-Bootとカーネルとルートファイルシステムを含んだファームウェア、EV3.cramfs.bin
はルートファイルシステムになる。