【发布时间】:2021-03-23 17:51:45
【问题描述】:
我想为我的定制 spi 板制作自己的协议驱动程序。我要安装它的平台是带有 arm32 的树莓派 Pi4。我想用覆盖设备树动态加载它。 我可以构建驱动程序文件,但以下内容不清楚:
- 驱动程序应该准确放置在哪里?我试过 /lib/modules/5.4.79-v7, /lib/modules/5.4.79-v7/build
- 我在 config.txt 中创建了一个条目 dtoverlays= driver.ko 并将 dtbo 放在 /boot/overlays 下。这是正确的吗?
- 在我将覆盖文件放在正确的文件夹中后,是否可以在运行时加载驱动程序而无需再次重新启动。
- 如果调用了函数“spi_new_device”,是先加载驱动还是可以这样完成?
如果我调用 sudo insmod .ko 驱动程序加载:
rpi4: loading out-of-tree module taints kernel.
尚未调用探测函数。
【问题讨论】:
-
make modules_install INSTALL_MOD_PATH=...会将其放置在正确的位置。 模块初始化和设备探测是两个独立的独立操作(当然后一个不能在没有初始化驱动的情况下执行)。 -
你知道在哪里吗?未设置 INSTALL_MOD_PATH 变量。
标签: linux-kernel raspberry-pi4