gpt4 book ai didi

c - 在我自己的元层上加载我自己的设备驱动程序作为 Yocto 中的内置

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:03:22 25 4
gpt4 key购买 nike

我为硬件编写了自己的 USB 驱动程序,我想将此驱动程序添加为内置驱动程序。我看过这篇文章,他们创建了一个配方来设置为模块而不是内置。

http://wiki.kaeilos.com/index.php/Howto_build_a_kernel_module_out_of_the_kernel_tree

你们能帮我创建一个将模块设置为内置模块的方法吗。

感谢您的宝贵时间。

最佳答案

您不能在 Linux 内核中内置外部模块。所以你需要把你的驱动放到drivers/usb/(根据硬件类型需要放在drivers/usb/host/如果是host controller driver或 drivers/usb/dwc*drivers/usb/gadget/udc(如果它是 gadget 驱动程序)您的 Linux 内核树。

然后您需要在drivers/usb 中的KconfigMakefile 中添加相应的配置。最后,您需要在 defconfig/.config 中将其作为内置驱动程序启用以进行构建。

简而言之,

  1. 将你的驱动放在drivers/usb
  2. 添加KconfigMakefile。例如,CONFIG_USB_HW_HCD
  3. 添加到 defconfig 为 CONFIG_USB_HW_HCD=y。在 Yocto 中,您可以在 SRC_URI 中将 defconfig 文件指定为 file://defconfig

编辑:当您直接使用 meta-intel 时,您可以为其创建补丁和 bbappend。为此,

  1. git clone "intel kernel repo"
  2. 如上所述添加驱动程序。复制到drivers/usb,添加Kconfig, Makefile入口。
  3. 使用 git add + git commit 将此驱动程序添加到 git repo
  4. 使用 git format-patch 创建补丁
  5. 创建一个.bbappend 文件并添加这个补丁。您可以将此 .bbappend 文件放在您的任何自定义层或 meta-intel 本身中。
  6. 将 defconfig 片段也添加到您的 Linux 内核的 .bbappend 文件中。

这样您就不需要拥有相同 Linux 内核的单独存储库。

关于c - 在我自己的元层上加载我自己的设备驱动程序作为 Yocto 中的内置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52417201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com