えー、前回のlinaroのtoolchainからビルドするのに続いて、
ビルド済みのバイナリを使ってyoctoをビルドする方法を
トライしていたんですが、結果的に中断することにしました。
(こっちのほうが簡単にできるとおもってたんだけどねっっ)
一応、ごちゃごちゃやるとできたんですが、
最終的にきれいにならないため、
Linaro側で対応されるまで待とうという感じになりました。
もう少し直接的な理由を書くと、external-linaro-toolchainとセットで、
eglibcのbbappendが提供されているんですが、それが今は2.18のものしかありません。
yoctoのマスターブランチは2.19に移っているんですが、
Linaroはまだ2.19をビルドしたバイナリをリリースしていないようです。
2.18を2.19と偽ってビルドするとうまくいくんですが、
(external-linaro-toolchain.bbも結構変更必要ですが。。。)
そうすると、今度は前回成功したtoolchainからビルドするほうが
うまくいかなくなったりします。
それと、下記のメールスレッドを見つけたので、
一応、Linaro側で対応するのを待とうかなという気になりました。
https://www.mail-archive.com/linaro-toolchain@lists.linaro.org/msg03980.html
ま、やむをえないですな。
とりあえず、前回のやつでできたバイナリを評価しようかと思います。
どうかなぁ?
2014年3月14日金曜日
2014年3月2日日曜日
Linaroのtoolchainを使う(ソースビルド)
先日のヤクト勉強会にて、Linaroのツールの話がありまして、
LinaroのGCCを使うと、早いしコードも小さいしいいことだらけですよ
ということでしたので、それならばさっそく使ってみましょう
というエントリです。
yoctoにはlinaroのレイヤも存在していまして、
Linaroのwikiにもビルドの仕方が紹介されていますので、
基本的にはそれをなぞるだけです。
まずは、meta-linaroをクローンしてきます。
meta-openembeddedも必要です。
ビルドディレクトリを作成したら、bblayersに下記のレイヤを追加します。
meta-networkingがないと、networking-layerがないとかいうわかりにくいエラーが出ます。
meta-networkingがないって出してくれればいいのにと思うんですが、
まぁ、やむをえないですねぇ。
次に、local.confでlinaroのツールを指定します。
現在のmasterブランチでは、linaro-4.8しかレシピがありません。
昔のブランチでは、4.7などほかのバージョンのレシピも存在しています
DEFAULTTUNEは好みですが、armv6hf, arm1176jzfshfともにビルドできました。
とりあえず、これでビルドはできました。
これとは別に、ビルド済みのツールチェインを使ってビルドする方法も
ありますが、こちらはまた別の機会で。
https://wiki.linaro.org/KenWerner/Sandbox/OpenEmbedded-Core
LinaroのGCCを使うと、早いしコードも小さいしいいことだらけですよ
ということでしたので、それならばさっそく使ってみましょう
というエントリです。
yoctoにはlinaroのレイヤも存在していまして、
Linaroのwikiにもビルドの仕方が紹介されていますので、
基本的にはそれをなぞるだけです。
まずは、meta-linaroをクローンしてきます。
meta-openembeddedも必要です。
$ git clone git://git.linaro.org/openembedded/meta-linaro.git $ git clone git://git.openembedded.org/meta-openembedded
ビルドディレクトリを作成したら、bblayersに下記のレイヤを追加します。
$ source poky/oe-initi-build-env build_dir $ vi conf/bblayers.conf BBLAYERS ?= " \ ... /home/knishimu/workplace/raspi/poky/meta-openembedded/meta-networking \ /home/knishimu/workplace/raspi/poky/meta-linaro/meta-linaro \ /home/knishimu/workplace/raspi/poky/meta-linaro/meta-linaro-toolchain \ " ...
meta-networkingがないと、networking-layerがないとかいうわかりにくいエラーが出ます。
meta-networkingがないって出してくれればいいのにと思うんですが、
まぁ、やむをえないですねぇ。
次に、local.confでlinaroのツールを指定します。
現在のmasterブランチでは、linaro-4.8しかレシピがありません。
昔のブランチでは、4.7などほかのバージョンのレシピも存在しています
DEFAULTTUNEは好みですが、armv6hf, arm1176jzfshfともにビルドできました。
$ vi conf/local.conf ... GCCVERSION = "linaro-4.8" SDKGCCVERSION = "linaro-4.8" PREFERRED_PROVIDER_eglibc = "eglibc" #DEFAULTTUNE_raspberrypi = "arm1176jzfshf" DEFAULTTUNE_raspberrypi = "armv6hf" ...
とりあえず、これでビルドはできました。
これとは別に、ビルド済みのツールチェインを使ってビルドする方法も
ありますが、こちらはまた別の機会で。
https://wiki.linaro.org/KenWerner/Sandbox/OpenEmbedded-Core
ラベル:
linaro
,
raspberrypi
,
yocto
登録:
投稿
(
Atom
)