首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在yocto中使用自己的raspberry pi内核配置?

如何在yocto中使用自己的raspberry pi内核配置?
EN

Stack Overflow用户
提问于 2017-08-09 00:03:41
回答 2查看 2.7K关注 0票数 2

我喜欢为我的RPI2 +定制板删除一些未使用的驱动程序。为此,我通过以下方式创建自己的配置:

代码语言:javascript
复制
bitbake linux-raspberrypi -c menuconfig

并将新的内核预设保存到文件defconfig中。

之后,我为linux-raspberryp配方创建了一个附加文件。

所以我创建了这个文件

代码语言:javascript
复制
linux-raspberrypi%.bbappend

并填满了:

代码语言:javascript
复制
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"

SRC_URI += "file://defconfig"

PACKAGE_ARCH = "raspberrypi2"

我将defconfig文件放到:

代码语言:javascript
复制
<meta-mylayer>/recipes-kernel/linux/linux-raspberrypi/raspberrypi2/defconfig

通过以下方式重新编译内核:

代码语言:javascript
复制
bitbake linux-raspberrypi -c clean
bitbake linux-raspberrypi

采用标准RPI2配置。

你知道如何克服这个问题吗?我正在为meta-raspberrypi和yocto的“实际”pyro分支工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-09 14:08:56

不幸的是,最简单的方法可能是修补内核源...或者将您的defconfig复制到kernel-tree中。

meta-raspberrypi层在他们的内核配方中做了一些不幸的事情,即使随着时间的推移这已经变得更好了,他们仍然不是很好……

如果你看一下recipes-kernel/linux/linux-raspberrypi.inc,下面的几行代码解释了这个问题:

代码语言:javascript
复制
KERNEL_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig"

do_kernel_configme_prepend() {
    install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available."
}

因此,他们将树中的defconfig复制到${WORKDIR}/defconfig,从而覆盖您自己的defconfig。

你在你的.bbappend中,你可以尝试添加:

代码语言:javascript
复制
do_kernel_configme_prepend() {
    install -m 0644 ${WORKDIR}/defconfig ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available."
}

因此,首先用你自己的defconfig覆盖内核树中的那个。

票数 7
EN

Stack Overflow用户

发布于 2017-08-09 03:02:23

请看一下如何使用devtool修改jethro:http://www.yoctoproject.org/docs/2.0/dev-manual/dev-manual.html#using-devtool-in-your-workflow的源代码。

我首先在它使用的git代码库中创建了一个分支;http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/tree/recipes-kernel/linux/linux-raspberrypi_4.9.bb

在Yocto中使用devtool;在构建目录中:创建一个my-linux-raspberry文件夹;

代码语言:javascript
复制
mkdir linux-raspberry-test
devtool modify -x linux-raspberry ./my-linux-raspberry

这会将源代码解压到my-linux-raspberry中,以便您进行修改;它还会在其中创建git存储库;

然后,修改my-linux-raspberry中的代码;若要测试构建,请运行devtool build linux-raspberry;一旦您满意,请将此git存储库添加到您的fork;

代码语言:javascript
复制
git add .
git commit -m "my-linux-raspberry"
devtool update-recipe linux-raspberry

可选:运行devtool reset linux-raspberry删除bbappend文件;

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45573078

复制
相关文章

相似问题

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