如何根据使用 openembedded 和 bitbake 构建的顶级配方修改内核?
How to modify a kernel based on what top-level recipe is being built using openembedded and bitbake?
我有两个构建嵌入式 linux 图像的方法,称它们为 A.bb
和 B.bb
。我有一个内核补丁需要应用于一个配方而不是另一个。在这些 docs 之后,我创建了自己的图层并添加了一个 bbappend <your-layer>/recipes-kernel/linux/linux-yocto_3.4.bbappend
并在里面放置了 SRC_URI|+="kernel.patch"
。我怎样才能做类似下面的事情:
if (A):
SRC_URI+="kernel.patch"
else:
SRC_URI+=""
我尝试了以下方法:
在A.bb
里面,我有export IMAGE_NAME="A"
然后在 linux_yocto_3.4.bbappend
里面我有
SRC_URI_append = " ${@bb.utils.contains('IMAGE_NAME', 'A', 'file://kernel.patch', '', d)} "
但这不起作用。感谢您的帮助!
你不能。
配方不能影响其他任何东西的建造方式;图像只是一个配方,因此不能修改内核的构建方式或修补方式。
我有两个构建嵌入式 linux 图像的方法,称它们为 A.bb
和 B.bb
。我有一个内核补丁需要应用于一个配方而不是另一个。在这些 docs 之后,我创建了自己的图层并添加了一个 bbappend <your-layer>/recipes-kernel/linux/linux-yocto_3.4.bbappend
并在里面放置了 SRC_URI|+="kernel.patch"
。我怎样才能做类似下面的事情:
if (A):
SRC_URI+="kernel.patch"
else:
SRC_URI+=""
我尝试了以下方法:
在A.bb
里面,我有export IMAGE_NAME="A"
然后在 linux_yocto_3.4.bbappend
里面我有
SRC_URI_append = " ${@bb.utils.contains('IMAGE_NAME', 'A', 'file://kernel.patch', '', d)} "
但这不起作用。感谢您的帮助!
你不能。
配方不能影响其他任何东西的建造方式;图像只是一个配方,因此不能修改内核的构建方式或修补方式。