【发布时间】:2016-08-22 16:53:40
【问题描述】:
我正在为 SBC Pine64 开发 bsp 层,并且我的图像已成功生成,但在启动 init 时出现“致命:内核太旧” 来自忙箱。我检查了我的 busybox 二进制文件,它正在为内核 3.14.0 编译。
我的内核是 3.10 版,我使用的是 Linaro 5.3 工具链。我试过添加:OLDEST_KERNEL = "3.10.0" 我也试过使用 Linaro 4.9 但我 仍然得到同样的错误。我正在使用 yocto Krogoth 并生成 core-image-minial。请参阅下面的启动日志中的错误片段:
[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 编译 linaro eglibc?
谢谢, 蒙特兹
【问题讨论】:
-
您在哪里以及如何更改 OLDEST_KERNEL ?这是正确的做法,但我怀疑您没有正确进行更改,或者您在进行更改后没有重建所有内容。做一个'bitbake -e busybox | grep ^OLDEST_KERNEL=' 会告诉你它的评估结果。
-
@TomRini 非常感谢您的回复。我的 conf/local.conf 中有 OLDEST_KERNEL。我一回到家就会运行 bitbake -e busybox 并让你知道。在更改 local.conf 后,我也没有从头开始重建所有内容。我非常感谢您在这个项目中的所有帮助。这样做很有趣。我希望我能尽快发布一些合理的东西。
-
@TomRini
build$ bitbake -e busybox | grep ^OLDEST_KERNEL=的结果是OLDEST_KERNEL="3.14"。我从头开始重建一切,但没有任何改变。
标签: embedded-linux yocto openembedded linaro