configfs不会挂载device-tree / overlays

时间:2018-06-15 14:41:01

标签: linux-kernel intel-fpga device-tree

我正在使用Altera的Cyclone V SOC FPGA和双Cortex-A9处理器。嵌入式系统(linux 4.15.7)是使用Buildroot-2018.02创建的。 U-boot用于加载系统i-e FPGA.rbf文件,设备树blob和zImage,一切正常。

我现在想要将RBF文件集成到我的linux中并从Linux编程FPGA。我找到了几种方法,我理解的最常见的方法是使用CONFIGFS和设备树覆盖。

所以我更改了设备树以集成覆盖,u-boot启动脚本以禁用FPGA加载以及带有make linux-xconfig的linux“.config”文件中的以下选项:

+CONFIG_OF_OVERLAY=y
+CONFIG_ALTERA_STAPL=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_SAMPLES=y
+CONFIG_SAMPLE_CONFIGFS=m

这些选项是我经过多次尝试后的状态。

make和reboot后,加载内核后,我在控制台中输入以下命令:

mkdir /config
mount -t configfs none /config

在这种状态下,我希望在/ config文件夹中看到一些设备树文件,但是没有,只有一个rdma_cm文件夹:

# ls /config
rdma_cm

我继续阅读这个主题,发现我必须在我的linux内核中启用CONFIG_OF_CONFIGFS选项。

问题:我的linux内核中没有此选项。此外,文件drivers/of/configfs.c也不在这里。我徒劳地搜索了如何为我的内核版本启用设备树覆盖。

如何配置内核以使configfs中的设备树可用?

1 个答案:

答案 0 :(得分:0)

我和你有同样的问题。所以我不得不自己制作一个设备驱动程序。

此设备驱动程序是暂定的,我希望Linux主线正式支持Device Tree Overlay ConfigFS。

我提供的设备驱动程序位于以下网址。

如果您使用的是Debian,可以使用以下URL构建设备驱动程序的Debian软件包。

如果您想使用此设备驱动程序尝试设备树覆盖,请参阅以下URL。