代码之家  ›  专栏  ›  技术社区  ›  md.jamal

将我自己的设备驱动程序作为内置的Yocto加载到我自己的元层上

  •  0
  • md.jamal  · 技术社区  · 6 年前

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

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

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

    2 回复  |  直到 6 年前
        1
  •  3
  •   Parthiban    6 年前

    不能在Linux内核中内置外部模块。所以你需要把你的司机放到 drivers/usb/ drivers/usb/host/ drivers/usb/dwc* drivers/usb/gadget/udc

    然后需要在中添加相应的配置 Kconfig Makefile 在里面 drivers/usb . 最后,您需要在defconfig/.config中启用这个内置驱动程序来进行构建。

    1. 把你的司机放进去 驱动程序/usb
    2. 添加 Kconfig公司 生成文件 . 例如, CONFIG_USB_HW_HCD
    3. 添加到defconfig as CONFIG_USB_HW_HCD=y . 在Yocto中,可以将defconfig文件指定为 file://defconfig 在你的 SRC_URI .

    编辑:

    1. git克隆“英特尔内核回购”
    2. 如上所述添加驱动程序。复制到 驱动程序/usb ,添加 Kconfig, Makefile
    3. 使用将此驱动程序添加到git repo git add + git commit
    4. git format-patch
    5. .bbappend 文件并添加此修补程序。你可以把这个 .bb附加 任何自定义层或meta intel本身中的文件。
    6. .bb附加 Linux内核的文件。

        2
  •  0
  •   Ash    6 年前

    我希望您的初始模块将有module\u init()和module\u exit调用。

    要使这个usb模块成为内置内核的一部分,首先要修改源代码以删除module\u init或module\u exit调用add platform calls probe、init等/

    将源文件复制到适当的源目录,如“driver/usb/*”

    在KCONFIG文件中添加一个条目,其中包含该驱动程序的一些描述,并为其依赖项添加规则

    在Makefile中添加条目以进行条件编译。