2016年3月27日日曜日

edisonのカスタムビルドをしてみよう! その弐


前回の続き・・・

前回はとりあえず一回目のビルドをしたところで終わりました。今回はそれの続きです。

今回は「menuconfig」を使って編集します。

bitbake virtual/kernel -c menuconfig
※Xwindowが必要です。

設定するときは、方向キーで移動してスペースで選択という手順です。
次に設定ファイルをビルドするためのところに送ります。

cp /home/ユーザーの名前/edison-src/out/linux64/build/tmp/work/edison-poky-linux/linux-yocto/3.10.17-r0/linux-edison-standard-build/.config /home/ユーザーの名前/edison-src/meta-intel-edison/meta-intel-edison-bsp/recipes-kernel/linux/files/defconfig


cp /home/ユーザーの名前/edison-src/out/linux64/build/tmp/work/edison-poky-linux/linux-yocto/3.10.17-r0/linux-edison-standard-build/.config /home/ユーザーの名前/edison-src/meta-intel-edison/meta-intel-edison-bsp/recipes-kernel/linux/files/defconfig

次にカーネル設定を読み込みます

bitbake virtual/kernel -c configure -f -v

再ビルドします。今回は前回のものに少しモジュールが追加されるだけなのでさほど時間がかかりません。再ビルドのときは追加された部分だけビルドされます。

bitbake edison-image

そして、edisonに書き込むために必要なファイルを、書き込むファイルのあるフォルダに移す作業をします。
新たな端末を立ち上げ

cd home/ユーザーの名前/edison-src/meta-intel-edison/utils/flash/

./postBuild.sh /home/ryo/edison-src/out/linux64/build/

その後、書き込むためのフォルダに移動して、edison本体に書き込みます。

cd edison-src/build/toFlash

sudo ./flashall.sh

でいけるとおもいきや、自分はなぜかu-boot-envs/edison-blankcdc.binがないと言われたので、edison-srcの中から検索して探しだしてtoFlashフォルダーに投げ込み再ビルド。

しかし、今度は[./flashall.sh: 行 108: dfu-util: コマンドが見つかりません]と言われ、検索すると、どうもdfu-utilとかっていうやつがたりないとわかり、

sudo apt-get install dfu-util

をしてインストール。ようやく通りました。以下の文が出てきます。

ユーザーとかパソコンの名前:~/edison-src/build/toFlash$ ./flashall.sh
Using U-Boot target: edison-blankcdc
Now waiting for dfu device 8087:0a99
Please plug and reboot the board
Flashing IFWI
Flashing U-Boot
Flashing U-Boot Environment
Flashing U-Boot Environment Backup
Rebooting to apply partition changes
Now waiting for dfu device 8087:0a99
Flashing boot partition (kernel)
Flashing rootfs, (it can take up to 5 minutes... Please be patient)
Rebooting
U-boot & Kernel System Flash Success...
Your board needs to reboot to complete the flashing procedure, please do not unplug it for 2 minutes.

これで一応成功しているはずだったんですけど、自分はこの方法でやってみても全然書き込めてませんでした。
元々はVMwareでやってたので、あきらめて実装環境にファイルをコピーしたり、それでもだめで、実装環境でビルドしたりとかいろいろ試行錯誤をくりかえしたんですけどダメでした。

そこで、あきらめて友達にtoFlashフォルダを渡して他のedisonにwindowsで書き込んでもらうとなんと、ちゃんと書き込めてるではないか!!
なんでやっ!と思いながら自分もwindowsで試してみることに


windows側でやるには、ubuntuのパーティションからtoFlashのフォルダを出してやらなければいけなません。ubuntuのext4はwindowsだと見れません。また、日本語とかが含まれているフォルダにぶち込むのもダメです。まあ、確実なのはCドライブ直下やDドライブ直下ですかね。僕はDドライブ直下に置きました。

windowsでも、dfu-utilが必要なので、ここのサイトのフォーラムのmdmaさんのコメントのところにあるDropBoxからダウンロードしてきてください。
そして、それをtoFlashフォルダのなかに混ぜ込んで、「flashall.bat」を普通に実行すればあとはubuntuと同じです。

ちなみにintelの付属ソフトで書き込む場合はtoFlashフォルダの中の、「FlashEdison.json」を指定いてやればいいです。あんまり安定してなくて焼くのにエラー何回も出るのであんまりおすすめはしません。

何か疑問等ありましたら可能な範囲で答えるのでコメント欄にコメントお願いします。
また、間違い等があってもコメントで知らせていただけるとありがたいです。

P.S.
今回のビルドでは他のサイトを見ながらやっていて失敗をすることが多く割と遠回りで確実な方法をとっている部分が多いです。なのであくまでも初心者ががんばってやってみたものだと思って読んでいただければ幸いです。

2016/4/14 若干の修正

0 件のコメント:

コメントを投稿