2017年1月20日金曜日

Intel Edisonのカーネルを自前でビルドして入れ替える方法

IntelのEdisonでfbtftを実行する方法が公開されていたので試してみようとしたら、カーネルビルドにすごい手間取ったので詰まった箇所をまとめておきます。

Intel配布の最新版は初回ビルドが通らない

これを書いているときの最新版はiot-devkit-yp-poky-edison-20160606.zipですが、bitbake edison-imageのコマンドでビルドを始めても、OpenJDKまで来るとビルドが止まります。フォーラムでキレている人自分でJavaを筆頭に最低限まで削ったソースを配布していますが、これは本当に最低限なのでNode.jsやconfigure_edison等は含まれません。とりあえずJavaだけなくなれば初回のビルドは通るので、ソースコード内の設定ファイルからOpenJDKとicedtea関係の箇所をどんどん削る必要がありました。どこをどう削ったかは忘れた。

それに加えて、iotkit-comm-jsとiotkit-comm-c-devも削る必要があります。これはIntelのIoT Analytics dashboardの運営が終了となったため、それにともなって対応するライブラリ群がIntelのGiuHubから削除されたことが原因になっています。修正箇所はフォーラムの記載を参照してください。

カーネルモジュールをビルドする

基本的にIntelが公開しているページの内容どおりです。が、上記最新版では.configの位置が build_edison/tmp/work/edison-poky-linux/linux-externalsrc/1.0-r2/linux-externalsrc-1.0/.config に、置き換えるdefconfigの位置が poky/linux-kernel/arch/x86/configs/i386_edison_defconfig にそれぞれ変わっています。

動きました

Intel Edison with TFT Display