【发布时间】:2022-01-22 06:01:56
【问题描述】:
我有一块 Zynq Ultrascale 板,我想使用 Aarch64 处理器的 DMA 接口,该处理器将 Linux 作为操作系统运行。 为此,我应该将 .ko 驱动程序文件放在内核中并将其加载到 Linux 内核中。
目前,我使用 Petalinux 并通过它构建驱动程序 .ko 文件,Petalinux 将此 .ko 文件放在 rootfs 和 Petalinux 内核中。
现在,我想从 Petalinux 迁移到 Ubuntu 并在 Zynq 板上使用 Ubuntu,所以我想知道我是否可以独立于 ubuntu 内核构建一个 DMA 驱动程序,然后将其添加到其内核中?
以前,Petalinux 在构建整个 linux 内核的同时构建了我的驱动程序。但我只想构建驱动程序并使用现有内核(不构建 ubuntu 内核)
如果可以并且我可以单独构建驱动程序,我该如何为 Ubunto 构建驱动程序?
【问题讨论】:
-
应该根据那些配置和头文件构建 Linux 内核驱动程序,而内核本身是根据这些文件构建的。 “我如何将我的 c++ 代码构建为 Ubunto 的驱动程序?” - 你不能。 Linux 内核是由 C 代码构建的,它不支持 C++。
-
@Tsyvarev 对不起。我的意思是 c,不是 c++。
-
您仍然需要 Ubuntu 内核配置和源代码。此外,您需要对模块签名做一些事情,因为 Ubuntu 模块已签名。
标签: ubuntu linux-kernel linux-device-driver embedded-linux petalinux