首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置yocto为内核3.10.0编译linaro

如何配置yocto为内核3.10.0编译linaro
EN

Stack Overflow用户
提问于 2016-08-22 16:53:40
回答 1查看 431关注 0票数 3

我正在为SBC Pine64开发bsp层,并且我的映像已经成功生成了,但是当从busybox启动内核时,我会变得“致命的:内核太老了”。我已经检查了我的busybox二进制文件,它正在为内核3.14.0编译。

我的内核是3.10版本,我使用了Linaro5.3工具链。我尝试添加: OLDEST_KERNEL = "3.10.0“,我也尝试使用Linaro4.9,但我仍然得到相同的错误。我用yocto Krogoth制作核心图像。请参阅下面引导日志中的错误片段:

代码语言:javascript
复制
[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?

泰克斯岛

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-23 11:56:07

当您想要覆盖一个没有“软赋值”的现有变量(即不使用?=语法,而是使用=语法)时,您需要使用中的一个变量覆盖作为更改值的一部分。您可以看到重写的工作方式,就像在conf/bitbake.conf中一样:

代码语言:javascript
复制
##################################################################
# Kernel info.
##################################################################

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

aarch64已经在重写列表中找到。幸运的是,该列表中还有其他值,在计算变量时,中后面列表中的变量优先于。因此,在您的local.conf中您可以这样做:

代码语言:javascript
复制
OLDEST_KERNEL_forcevariable = "3.10"

然后确认它已经生效:

代码语言:javascript
复制
$ bitbake -e busybox | grep -E ^OLDEST_KERNEL=
OLDEST_KERNEL="3.10"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39084870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档