我可以在不构建 Ubuntu 内核的情况下为 Ubuntu 构建内核驱动程序吗?

Could I Build a kernel driver for Ubuntu without building Ubunto kernel?

我有一个 Zynq Ultrascale 开发板,我想使用它的来自 Aarch64 处理器的 DMA 接口,它是 运行 Linux 作为 OS。 为此,我应该将 .ko 驱动程序文件放入内核并将其加载到 Linux 内核中。

目前,我使用Petalinux并通过它构建驱动程序.ko文件,Petalinux将此.ko文件放在rootfs和Petalinux内核中。

现在,我想从 Petalinux 转移到 Ubuntu 并在 Zynq 开发板上使用 Ubuntu,所以我想知道我能否从 ubuntu kernel 然后加入到kernel中?

以前,Petalinux 在构建整个 linux 内核时构建了我的驱动程序。但我只想构建驱动程序并使用现有内核(不构建 ubuntu 内核)

如果是并且我可以单独构建驱动程序,我如何为 Ubunto 构建驱动程序?

幸运的是,我将Petalinux构建的驱动程序复制到Ubuntu并且它可以正常工作。

这意味着我可以使用 Petalinux 构建驱动程序而无需编译 Ubuntu 的内核,我将驱动程序的 .c 文件作为模块添加到 Petalinux,然后完全构建 Petalinux,然后选择驱动程序的 .ko 文件从 /lib/modules/5.10.0-xilinx-v2021.2/extra/ Petalinux 中的路径并将其复制到 Ubuntu 中的某处并调用 insmod 命令。

我知道这个解决方案不尊重人,但它对我有用,把我从沼泽中拉了出来。