2025年lvresize命令(lvchange命令)

lvresize命令(lvchange命令)前面几篇文章编写了 字符设备驱动模块加载与卸载框架代码 设置了开发板启动方式 文章地址如下 本文学习如何加载与卸载驱动模块 上一篇文章做了字符驱动模块加载前的工作 具体工作为 开发板设置为 从 SD 卡启动 即 SD 卡内烧写了 uboot 开发板 从 SD 卡中启动 uboot 通过 tftp 服务从 ubuntu 系统下加载 内核镜像 zImage 与 dtb 设备树文件 通过 nfs 服务从

大家好,我是讯享网,很高兴认识大家。



前面几篇文章编写了 字符设备驱动模块加载与卸载框架代码,设置了开发板启动方式。文章地址如下:

本文学习如何加载与卸载驱动模块。

上一篇文章做了字符驱动模块加载前的工作。具体工作为:

开发板设置为 从 SD卡启动,即 SD卡内烧写了uboot,开发板 从 SD卡中启动 uboot。

通过 tftp服务从 ubuntu系统下加载 内核镜像 zImage与 .dtb设备树文件,通过 nfs服务从 ubuntu系统下加载 根文件系统 rootfs。

前面一篇文章编写了初步的字符设备驱动框架,最后,编译出了 .ko 文件,这里将编译出来的驱动文件即 .ko文件放到根文件系统 rootfs 中。

(1)   加载模块命令

加载模块命令有两种:insmod 命令和 modprobe 命令

insmod 命令

modprobe 命令

(2)  加载模块

①  创建 /lib/modules/4.1.15目录

开发板上电启动后,进入根文件系统下。首先,在开发板的根文件系统下创建 /lib/modules 目录:


讯享网

进入 /lib/modules 目录下,再运行 modprobe命令:

被驱动表不会走索引_被驱动表不会走索引

以上提示可以看出,还需要再  /lib/modules目录下,创建目录 /4.1.15目录:

进入 /lib/modules 目录下,再运行 modprobe命令:

被驱动表不会走索引_被驱动表不会走索引_02

可以看出,这时运行 modprobe命令,已经没有任何提示了。

②  加载 字符驱动模块即 .ko文件

将前面一篇文章编译的 字符驱动模块(即 .ko文件) 存放到 开发板根文件系统下 /lib/modules/4.1.15目录下。进入 ubuntu系统下,进入 1_chrdevbase工程目录下:

在开发板根文件系统 /lib/modules/4.1.15目录下可以查看到 .ko文件。加载 chrdevbase.ko 驱动文件:

被驱动表不会走索引_被驱动表不会走索引_03

以上提示无法打开“modules.dep”这个文件。我们不用手动创建 modules.dep 这个文件,直接输入 depmod 命令即可自动生成 modules.dep,有些根文件系统可能没有 depmod 这个命令,如果没有这个命令就只能重新配置 busybox,使能此命令,然后重新编译 busybox。

注意:对于一个新的模块使用modprobe命令加载,加载时需要先调用一下depmod命令!!!

输入“depmod” 命令来解决:

被驱动表不会走索引_加载_04

运行 modprobe命令加载  驱动模块:

可以看出,加载驱动模块时,提示模块 Licence 会影响到 内核。Linux驱动源码一般需要加入 Licence信息的,而 1_chrdevbase驱动源码中没有加入 Licence信息。

“lsmod” 命令即可查看当前系统中存在的模块。查看所加载的驱动模块:

驱动模块的卸载使用 “rmmod” 命令,卸载模块驱动操作如下:

查看 .ko 模块驱动是否还存在:

可以看出,驱动模块已经不存在,说明驱动模块已经成功卸载了。

小讯
上一篇 2025-05-23 15:00
下一篇 2025-04-16 10:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/207435.html