KR260的PetaLinux BSP工程里,默认使能了Linux内核的OF_OVERLAY等特性。使用PetaLinux配置Linux内核,禁止OF_OVERLAY等特性。在生成的配置文件user_2022-10-31-06-59-00.cfg 里,含有以下内容。
# CONFIG_OF_OVERLAY is not set
# CONFIG_OVERLAY_FS is not set
因此希望编译出来的Linux内核,禁止了OF_OVERLAY等特性。但实际运行发现,OF_OVERLAY等特性依然存在,Linux内核有如下打印。
xilinx-kr260-starterkit-20222:/home/petalinux# dmesg | grep overlay
[ 17.028027] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
[ 17.028059] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets
在PetaLinux工程的配置文件里,搜索不到CONFIG_OF_OVERLAY 。最后在build目录下搜索,发现文件build/tmp/work/xilinx_k26_kr-xilinx-linux/linux-xlnx/5.15.36+gitAUTOINC+19984dd147-r0/yocto-kmeta/features/xilinx/overlay_of/overlay_of.cfg里有CONFIG_OF_OVERLAY , 再扩大搜索overlay_of, 发现文件components/yocto/layers/meta-xilinx/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc里有下列内容
KERNEL_FEATURES:append:zynqmp = "${@' features/xilinx/overlay_of/overlay_of.scc' if d.getVar('FPGA_MNGR_RECONFIG_ENABLE') == '1' else ''}"
而 FPGA_MNGR_RECONFIG_ENABLE在文件components/yocto/layers/meta-xilinx/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc里被定义
FPGA_MNGR_RECONFIG_ENABLE ?= "1"
去掉components/yocto/layers/meta-xilinx/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc里的定义“FPGA_MNGR_RECONFIG_ENABLE”, 再编译PetaLinux工程, Linux内核确实没有了OF_OVERLAY等特性。
标签:overlay,OVERLAY,meta,Linux,xilinx,PetaLinux,隐藏 From: https://www.cnblogs.com/hankfu/p/16845046.html