📜  Linux 中的 insmod 命令示例

📅  最后修改于: 2022-05-13 01:57:33.259000             🧑  作者: Mango

Linux 中的 insmod 命令示例

Linux 系统中的insmod命令用于向内核中插入模块。 Linux 是一种操作系统,它允许用户在运行时加载内核模块以扩展内核功能。 LKM(可加载内核模块)通常用于添加对新硬件(作为设备驱动程序)和/或文件系统的支持,或用于添加系统调用。此处的此命令将内核对象文件 ( .ko ) 插入内核,带/不带参数,以及一些附加选项。

句法:

insmod [file name] [module-options...]

选项:

  • 带帮助选项的 insmod 命令如果没有传递选项、文件名或参数,则 insmod 命令会引发错误。因此,当我们使用 -h 选项时,它给出了通用语法以及可与 insmod 命令一起使用的各种选项。
    insmod -h
    

  • 带版本选项的 insmod 命令:用于查看 insmod 命令的版本。
    insmod -V
    

例子:

  • insmod + 文件名:该命令用于将 LKM 文件(.ko)插入到 Linux Kernel 中。将工作目录更改为带有 LKM 文件的目录,然后执行命令。运行此指令需要 root 权限。

    注意:这里使用的 LKM 文件存在于桌面(即工作目录)中,不带任何参数,并在系统日志中打印一条消息。可以使用dmesg命令查看此消息。



    sudo insmod geeksforgeeks.ko
    

    例子:

  • insmod + 文件目录 + 文件名:与前面的命令一样,insmod 在指定文件目录和 LKM 文件名时起作用。这如下图所示。

    例子:

    sudo insmod /home/mukkesh/Desktop/geeksforgeeks.ko
    

  • 使用 insmod 将参数传递给模块: LKM 文件可以通过 insmod 命令将参数/参数传递给它们。这些参数基本上充当 LKM 的输入。根据 LKM 的编写方式,使用参数。

    注意:这里使用的 LKM 接受字符串参数“user”并打印包含传递参数的消息。

    例子:

    sudo insmod geeks4geeks.ko user="Mukkesh"