2016-12-21 169 views
1

我想知道是否有向Yocto中的SRC_URI添加修补程序的简单方法。我正在使用Yocto为定制板创建BSP。我为Linux内核和barebox提供了几百个补丁。在配方中添加多个修补程序到SRC_URI - Yocto

要包含Linux内核的修补程序,我创建了一个.scc文件。在.scc文件我已经包括了所有的补丁在内核配方required.The 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 \ 
     " 

对于barebox,我试图做同样的,但似乎它不支持。 scc文件。所以,现在我已经使用

file://patchname.patch

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

是否有任何选项,包括在单行所有补丁就像在内核包括了所有百个加补丁。

回答

0

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

0

作为@Pouet_forever“说”,这不是通配符文件的最佳方式,而是您可以使用bitbake方法处理元数据文件,例如 - .inc文件。我的意思是,你可以将它们全部提取到一个变量中,然后在你的main .bb配方中包含这个文件。请大家看保持在一个文件中不同的补丁这个例子可以在许多食谱可以轻松的使用: 。公司文件补丁 - 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

2

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

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

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

这需要所有的补丁,在单一实例,并应用到内核。