我正在使用yocto构建一个linux映像,它集成了wlan的一些层和一个特定的wifi芯片,但似乎其中一个文件的修补失败了(详细信息如下)
我所做的步骤:
directory
为内核4.14.98创建了一个工作的
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.98-2.3.3.xmlrepo sync
tmp文件夹同步回购,并通过下载wifi的特定代码。
repo init -u git://codeaurora.org/quic/le/le/manifest.git -b release -m CHSS.LNX_FSLS.1.0-01200-QCAAUTOHOSTHZ.xml –repo-url=git://codeaurora.org/tools/repo.git –repo-branch=caf-stabledirectory
meta-qti-connectivity和wlan-opensource文件夹复制到工作的wifi芯片的源代码文件夹中,并通过meta-qticonnectivity-prop和wlanproprietary复制到工作目录F 227的源文件夹中
因此,现在我们向工作目录的源文件夹中添加了额外的4个目录。
我看到了以下错误:
ERROR: wpa-supplicant-git-r0 do_patch: Command Error: 'quilt --quiltrc <working_directory>/linux_image/build/tmp/work/imx8qxpmek-poky-linux/wpa-supplicant/git-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0 Output:
Applying patch 0009-Sync-with-mac80211-next.git-include-uapi-linux-nl802.patch
patching file src/drivers/nl80211_copy.h
...
15 out of 20 hunks FAILED -- rejects in file src/drivers/nl80211_copy.h
Patch 0009-Sync-with-mac80211-next.git-include-uapi-linux-nl802.patch does not apply (enforce with -f)
ERROR: wpa-supplicant-git-r0 do_patch: Function failed: patch_do_patch0009-Sync-with-mac80211-next.git-include-uapi-linux-nl802.patch似乎不适用,但这是否意味着问题在于补丁文件或其引用方式。该修补程序文件驻留在meta-fsl-bsp-release层的wpa-supplicant子目录下,我没有手动添加该子目录。这个子目录有一个.bbappend文件,它通过SRC_URI变量引用这些补丁文件,但是它不包含任何.bb文件。
我添加的一个元层也有wpa-supplicant子目录,但是它只有.bb文件,没有.bbappend。
我搞不懂这两个子目录有何不同,或者它们是否会发生冲突?另外,子目录不应该同时拥有.bbappend &一个对应的.bb文件吗?
SRC_URI变量用于定位适用的修补程序文件,在wpa请求者的.bb文件中不需要do_patch,对吗?wpa-supplicant有以下内容:SRC_URI = "file://wlan-opensource/wpa_supplicant_8/"
SRC_URI += "file://hostapdconf \
file://supplicantconf \补丁文件不应该在最后用.patch定义吗?
此外,我在yocto文档中看到,file://中定义的路径相对于FILESPATH变量,在bb文件中,该变量被定义为"${BSPDIR}/sources:" --不确定BSPDIR本身,但我认为它指的是<top_dir>/sources,但这是否意味着hostapdconf应该在<top_dir>/sources上?我没有看到它在那里,但在其他子目录中
发布于 2020-12-03 08:26:30
在我看来,你似乎在一个不符合配方的版本中为wpa请求配方添加了一个.bbappend。.bbappend很可能来自手动复制到源树中的一个元层(meta-qti-connectivity或wlan-opensource)。
我是yocto的新手,从外观上看,补丁0009-Sync-with-mac80211-next.git-include-uapi-linux-nl802.patch似乎不适用,但这是否意味着问题在于补丁文件或它的引用方式?
该修补程序很可能是源文件的另一个版本的targetet。
SRC_URI变量用于定位适用的修补程序文件,而在wpa请求者各自的.bb文件中不需要do_patch,对吗?
对,如果您在.bb中没有显式地看到它。将使用默认的do_patch任务。
各自的bb文件wpa-请求者具有以下内容:
File://wlan-opensource/wpa_supplicant_8/“file://hostapdconf=”SRC_URI +=“
file://supplicantconf \不应该在最后用.patch定义补丁文件吗?
如果您在.patch文件中没有看到它,那么.bbappend文件中的名称可能会引用该.bb文件。
https://stackoverflow.com/questions/65116793
复制相似问题