2016-08-22 10 views
3

私はSBC Pine64用のbspレイヤーで作業していますが、イメージは正常に生成されていますが、起動時に "FATAL:kernel too old"と表示されます。 ビジーボックスから。私はビジーボックスバイナリをチェックしており、カーネル3.14.0用にコンパイルされています。yoctoを設定してカーネル3.10.0のlinaro eglibcをコンパイルする方法

私のカーネルはバージョン3.10で、私はLinaro 5.3ツールチェーンを使用しました。私は追加しようとしました:OLDEST_KERNEL = "3.10.0"と私もLinaro 4.9を使用してみましたが、私は はまだ同じエラーが発生します。私はyocto Krogothを使用し、コアイメージミニマルを生成しています。 、ブートログからエラーのスニップ下記をご覧ください:

[13.068932] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities 
[13.086717] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities 
[13.112988] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) 
[13.127040] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. 
[13.143393] devtmpfs: mounted 
[13.151972] Freeing unused kernel memory: 520K (ffffffc0009e4000 - ffffffc000a66000) 
FATAL: kernel too old 
[13.198566] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00 
[13.198566] 
[13.218884] CPU: 2 PID: 1 Comm: init Not tainted 3.10.102-pine64 #1 
[13.230876] Call trace: 

私はyoctoカーネル3.10.0ためリナロeglibcをコンパイルするように設定できますか?

Thxを、あなたがいない既存の変数を上書きしたい モンテス

+0

どこで、どのようにあなたがOLDEST_KERNELを変更でした。その後、

OLDEST_KERNEL_forcevariable = "3.10" 

そして、それが有効になっていることを確認しますか?それは正しいことですが、変更を正しく行っていないか、または変更後にすべてを再構築しなかったと思われます。 'bitbake -e busyboxを実行する| grep^OLDEST_KERNEL = 'はそれが何を評価したかを教えてくれます。 –

+0

@TomRini Thxあなたの返事のためにたくさん。私はconf/local.confにOLDEST_KERNELを持っていました。私が家に帰るとすぐに私はbitbake -e busyboxを実行し、あなたに知らせます。 local.confを変更した後も、すべてを最初から再構築していませんでした。私はこのプロジェクトのすべてのあなたの助けに感謝します。それはそれをやって楽しいです。すぐに妥当なものを公表できることを願っています。 – mont3z

+0

@TomRini 'build $ bitbake -e busyboxの結果です。 grep^OLDEST_KERNEL = 'は' OLDEST_KERNEL = "" 3.14 "です。私は最初からすべてを再構築しましたが、何も変わりませんでした。 – mont3z

答えて

3

「ソフト割り当て」、?=構文を使用していないと言うことですが、どの代わり=構文、あなた値の変更の一部としてOVERRIDESの変数の1つを使用する必要があります。あなたはオーバーライドが、我々が持っているのconf/bitbake.confのように、既にどのように機能するかを見ることができます。

################################################################## 
# Kernel info. 
################################################################## 

OLDEST_KERNEL = "3.2.0" 
OLDEST_KERNEL_aarch64 = "3.14" 
OLDEST_KERNEL_nios2 = "3.19" 

そしてaarch64はすでに上書きリストに含まれています。幸いにも、そのリストには他の値があり、変数を評価するときにはリストの後にあるものがになります。オーバーライドが優先されます。だから、あなたが行うことができますlocal.confに:

$ bitbake -e busybox | grep -E ^OLDEST_KERNEL= 
OLDEST_KERNEL="3.10" 
+0

これは完璧に動作します!私はOLDEST_KERNEL_pine64を使ってみました。私は十分にあなたに感謝することはできません。残念ながら、私の評判がまだ15歳未満であるため、回答にポイントを付けることができませんでした。このプロジェクトを公開したときにお知らせします。あなたの助けを借りて – mont3z

+0

Thx私のプロジェクトは最終的にgithub.com/mont3z/meta-pine64で公開されました – mont3z

関連する問題