在配方中向SRC_URI添加多个补丁 - Yocto

问题描述 投票:2回答:3

我想知道是否有一种简单的方法可以在Yocto中为SRC_URI添加补丁。我正在使用Yocto为定制板创建BSP。我有几百个Linux内核和裸机补丁。

为了包含Linux内核的补丁,我创建了一个.scc文件。在.scc文件中,我已经包含了所有必需的补丁。内核配方中的SRC_URI选项如下所示:

SRC_URI += "https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.0.9.tar.xz \
        file://kernelpatch.scc \
        file://kernel-4.0.9.cfg \
        "

对于裸机,我试图做同样的事情,但它似乎不支持.scc文件。所以现在我已经使用了所有的100多个补丁

file://patchname.patch

file://patches/0001-drivers.patch \
file://patches/0002-hw_random-C.patch \
.
.
.
.
file://patches/0304-usb-fastbootupport.patch \

是否有任何选项可以将所有补丁包含在内核中的单行中。

patch yocto
3个回答
5
投票

转到你的meta-layer/recipes-kernel/linux创建一个像patches这样的目录。将所有修补程序复制到此patches目录。

创建linux-ti_%.bbappend文件并添加以下行

FILESEXTRAPATHS_prepend := "${THISDIR}:"
SRC_URI = "file://patches/* "

这将在单个实例中获取所有补丁并应用于内核。


0
投票

你可以使用通配符来包含你的文件:file://*我不认为它是最好的选择,但是当你有很多文件时,它可能是有用的。


0
投票

正如@Pouet_forever“说”,这不是通配符补丁文件的最佳方式,而不是这个你可以使用bitbake方法与元数据文件,如.inc文件。我的意思是你可以将它们全部提取到一个变量,然后在你的主.bb配方中包含这个文件。请看一下这个例子,将不同的补丁保存在一个文件中,可以很容易地在许多食谱中使用:.inc文件和补丁 - https://github.com/kraj/meta-clang/blob/master/recipes-devtools/clang/common.inc及其在食谱中的用法:https://github.com/kraj/meta-clang/blob/master/recipes-devtools/clang/libcxx_git.bb

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.