実際に動くかどうか分らないけど、ひとまずそれっぽいものが出来上がったのでまとめておく。これが想定される正しいビルド方法である確証もないし、実機で動作するかも見保証。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はルートファイルシステムになる。