【问题标题】:Passing parameter to a kernel module将参数传递给内核模块
【发布时间】:2018-07-04 04:55:15
【问题描述】:

我有一些使用名为foo.ko 的内核模块的定制硬件。这必须是来自 Linux 内核的 insmod

有没有办法在insmod期间向内核模块传递参数,比如:

insmod foo.ko <parameter>

?

【问题讨论】:

    标签: linux linux-kernel parameter-passing kernel-module


    【解决方案1】:

    像这样命名参数:

    insmod foo.ko mystring="bebop" mybyte=255 
    

    From Passing Command Line Arguments to a Module : The Linux Kernel Module Programming Guide

    【讨论】:

      【解决方案2】:

      您可以通过这种方式在加载时设置任何需要的参数:

      insmod param_name=param_value
      

      并以这种方式在您的源代码中设置它:

      module_param(param_name, param_type, permission);
      

      支持的参数类型:

      int -> integer value
      charp -> character pointer
      ....
      

      权限是S_IRUGO之类的掩码,您可能需要检查moduleparam.h

      【讨论】:

      • 代码的 sn-p 会更有帮助!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-24
      • 2017-12-01
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多