【问题标题】:configfs do not mount device-tree/overlaysconfigfs 不挂载设备树/覆盖
【发布时间】:2018-06-15 14:41:00
【问题描述】:

我正在开发来自 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 加载以及 linux“.config”文件中的以下选项make linux-xconfig

+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 中可用?

【问题讨论】:

  • 我可能会添加一些信息来帮助您帮助我,但我不知道哪一个是相关的。我会根据要求添加缺少的内容,以防止发布一千行...

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


【解决方案1】:

我和你有同样的问题。所以只好自己做一个设备驱动。

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

我制作的设备驱动程序可在以下 URL 获得。

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

如果您想使用此设备驱动程序尝试 Device Tree Overlay,请参考以下 URL。

【讨论】:

  • 感谢您的帮助。我通过使用 Rocketboard linux 内核 4.9.78-ltsi 找到了一个解决方案,它维护了设备树覆盖的 configfs 系统。
  • @grorel - 谢谢,我注意到linux-socfpga 现在已在v5.5 中启用它
猜你喜欢
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
  • 2015-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
相关资源
最近更新 更多