导航:首页 > 编程系统 > linux加载模块命令

linux加载模块命令

发布时间:2023-06-01 08:26:17

linux怎么在系统启动时自动加载内核模块

不同发行版和不同版本的Linux略有不同,以CentOS7为例,需要在/etc/sysconfig/moles/目录中增加一个脚本,在此脚本中加载所需的模块。注意该脚本文件的权限为755。
以uinput模块为例,脚本如下:

#!/bin/sh

if [ ! -c /dev/input/uinput ] ; then

exec /sbin/modprobe uinput >/dev/null 2>&1
fi

② 在linux中 加载/卸载模块可以使用什么命令

insmod :加载模块,该命令可以加入适当的参数;
rmmod:卸载模块;

③ 如何查看Linux加载内置模块的信息

一、找出内置模块列表
要得到内置模块列表,运行下面的命令。
$
cat
/lib/moles/$(uname
-r)/moles.builtin
你也可以用下面的命令来查看有哪些内置模块:
二、找出内置模块参数
每个内核模块无论是内置的还是可加载的都有一系列的参数。对于可加载模块,modinfo命令可以显示它们的参数信息。然而这个命令对内置模块没有用。你会得到下面的错误。
modinfo:
ERROR:
Mole
XXXXXX
not
found.
如果你想要查看内置模块的参数,以及它们的值,你可以在
/sys/mole
下检查它们的内容。

/sys/mole目录下,你可以找到内核模块(包含内置和可加载的)命名的子目录。进入每个模块目录,这里有个“parameters”目录,列出了这个模块所有的参数。
比如你要找出tcp_cubic(内核默认的TCP实现)模块的参数。你可以这么做:
$
ls
/sys/mole/tcp_cubic/parameters
接着阅读这个文件查看每个参数的值。
$
cat
/sys/mole/tcp_cubic/parameters/tcp_friendliness
以上就是Linux查看内置模块的信息的方法了,这样我们就可以知道Linux安装了哪些内置模块,还可以把没用的模块删除掉,减轻系统的负担。

④ 求助求助 red hat linux操作系统实现electron模块加载的指令

内核模块的程序结构

模块加载函数(必须)
当通过insmod或modprobe命令加载内核模块时,模块会自动被内核执行,完成模块的相关初始化工作。
一般以 __init标识声名函数,并且用“mole_init(初始化函数名)”来初始化

模块卸载函数

模块许可证声名

模块参数

模块导出符号

模块作者等信息声名

独立编译Makefile
#makefile for kernel mole
MODNAME=helloworld
ifeq ($(PLATFORM), PC)
KERNELDIR?=/lib/moles/$(shell uname -r)/build
else
KERNELDIR?=你的linux源码编译路径
endif
obj-m := $(MODNAME).o
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) moles
clean:
@rm -rf *.o *.ko *.mod.* *.tmp* mole* Mole*
123456789101112131415
注意ifeq 后面要有个空格
模块测试源码
#include <linux/init.h>
#include <linux/mole.h>
static int __init helloworld_init(void)
{
printk(KERN_DEBUG "My first hello world kernel mole!\n");
return 0;
}
static void __exit helloworld_exit(void)
{
printk(KERN_DEBUG "Bye,cruel world !\n");
}
mole_init(helloworld_init);
mole_exit(helloworld_exit);
1234567891011121314151617
编译
初始化变量 export PLATFORM=PC
编译: make
执行make后得到对应的.ko文件
模块加载及卸载
insmod helloworld.ko
rmmod helloworld
执行加载命令时我们希望打印 My first hello world kernel mole!
卸载时我们希望能打印 Bye,cruel world !
然而实际上什么都没打印,lsmod查看helloworld.ko有成功加载
printk输出
在Linux中,内核打印语句printk()会将内核信息输出到内核信息缓冲区中,内核缓冲区是在
kernel/printk.c中通过如下语句静态定义的:
static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN);
1
内核信息缓冲区是一个环形缓冲区(Ring Buffer),因此,如果塞入的消息过多,则就会将之前的消
息冲刷掉。
printk()定义了8个消息级别,分为级别0~7,级别越低(数值越大),消息越不重要,第0级是紧急
事件级,第7级是调试级
通过/proc/sys/kernel/printk文件可以调节printk()的输出等级,该文件有4个数字值:
控制台(一般是串口)日志级别:当前的打印级别,优先级高于该值的消息将被打印至控制台。
默认的消息日志级别:将用该优先级来打印没有优先级前缀的消息,也就是在直接写printk(“xxx”)而不带打印级别的情况下,会使用该打印级别。
最低的控制台日志级别:控制台日志级别可被设置的最小值(一般都是1)。
默认的控制台日志级别:控制台日志级别的默认值。
用户可以通过dmesg命令查看内核打印缓冲区,而如果使用sudo dmesg -c命令,则不仅会显示__log_buf,还会清除该缓冲区的内容。
————————————————
版权声明:本文为CSDN博主「linyplhm」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43777852/java/article/details/101852495

⑤ linux系统中哪个命令可以用来加载驱动程序

在2.4内核中,加载驱动命令为:insmod ,删除模块为:rmmod;
在2.6以上内核中,除了insmod与rmmod外,回加载命令还有modprobe;答
insmod与modprobe不同之处:
insmod 绝对路径/××.o,而modprobe ××即可,不用加.ko或.o后缀,也不用加路径;最重要的一点是:modprobe同时会加载当前模块所依赖的其它模块;
lsmod查看当前加载到内核中的所有驱动模块,同时提供其它一些信息,比如其它模块是否在使用另一个模块。

⑥ 怎么查看linux下的模块,很多命令的介绍

1、lsmod 列加以挂载的内核模块;
lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc/moles ,我们一样可以知道系统已经加载的模块;
代码:

[root@localhost beinan]# lsmod
2、modinfo 查看模块信息;
modinfo 可以查看模块的信息,通过查看模块信息来判定这个模块的用途;
代码:

[root@localhost beinan]# moinfo 模块名
举例:
代码:

[root@localhost beinan]# modinfo ne2k-pcifilename: /lib/moles/2.6.11-1.1369_FC4/kernel/drivers/net/ne2k-pci.koauthor: Donald Becker / Paul Gortmakerdescription: PCI NE2000 clone driverlicense: GPLparmtype: debug:intparmtype: options:array of intparmtype: full_plex:array of intparm: debug:debug level (1-2)parm: options:Bit 5: full plexparm: full_plex:full plex setting(s) (1)vermagic: 2.6.11-1.1369_FC4 686 REGPARM 4KSTACKS gcc-4.0depends: 8390alias: pci:v000010ECd00008029sv*sd*bc*sc*i*alias: pci:v00001050d00000940sv*sd*bc*sc*i*alias: pci:v000011F6d00001401sv*sd*bc*sc*i*alias: pci:v00008E2Ed00003000sv*sd*bc*sc*i*alias: pci:v00004A14d00005000sv*sd*bc*sc*i*alias: pci:v00001106d00000926sv*sd*bc*sc*i*alias: pci:v000010BDd00000E34sv*sd*bc*sc*i*alias: pci:v00001050d00005A5Asv*sd*bc*sc*i*alias: pci:v000012C3d00000058sv*sd*bc*sc*i*alias: pci:v000012C3d00005598sv*sd*bc*sc*i*alias: pci:v00008C4Ad00001980sv*sd*bc*sc*i*srcversion: 6ACE95F441CD26DF9DC31C2
上 面的例子是我们查看 ne2k-pci 这个模块的信息,通过查看,我们知道ne2k-pci 模块是8029网卡(PCI NE2000 clone driver)的驱动;模块是位于 /lib/moles/2.6.11-1.1369_FC4/kernel/drivers/net/ 中ne2k-pci.ko
我们现在常用的网卡也有8139的,8139网卡所用的驱动是 8139too ;查查看?
代码:

[root@localhost beinan]# modinfo 8139too

我们再查查vfat 和ntfs 的模块信息;
代码:

[root@localhost beinan]# modinfo vfat[root@localhost beinan]# modinfo ntfs

自己尝试一下;
注意: 模块名是不能带有后缀的,我们通过modprobe -l 所看到的模块,都是带有.ko 或.o后缀;
3、modprobe 挂载新模块以及新模块相依赖的模块
modprobe 我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;当然modprobe 也有列出内核所有模块,还有移除模块的功能;下在我们举个例子说一说咱们常用的功能和参数;
代码:
modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-o ] [parameters...]
modprobe -r [-n] [-i] [-v] ...
modprobe -l -t [ -a ...]
上面是modprobe 的用法,具体更为详细的帮助,我们可以查看 man modprobe ;
代码:
[root@localhost beinan]# modprobe -c
modprobe -c 可以查看moles 的配置文件,比如模块的别名是什么等;
代码:

[root@localhost beinan]# modprobe -l
modprobe -l 是列出内核中所有的模块,包括已挂载和未挂载的;通过modprobe -l ,我们能查看到我们所需要的模块,然后根据我们的需要来挂载;其实modprobe -l 读取的模块列表就位于 /lib/moles/'uname -r' 目录中;其中uname -r 是内核的版本;
代码:

[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/moles/2.6.11-1.1369_FC4/
通过上面的命令,自己试试看?
代码:

[root@localhost beinan]# modprobe 模块名 注:挂载一个模块;
举例:
代码:

[root@localhost beinan]# modprobe ne2k-pci 注:挂载 ne2k-pci 模块;[root@localhost beinan]# modprobe vfat 注:挂载vfat 模块[root@localhost beinan]# modprobe ntfs 注:挂载ntfs 模块[root@localhost beinan]# lsmod 注:列出已挂载模块, 我们会看到ne2k-pci ,vfat ,ntfs的模块 ;
注意: 模块名是不能带有后缀的,我们通过modprobe -l 所看到的模块,都是带有.ko 或.o后缀;
代码:

[root@localhost beinan]# modprobe -r 模块名 注:移除已加载的模块,和rmmod 功能相同;
注意:模块名是不能带有后缀的,我们通过modprobe -l 所看到的模块,都是带有.ko 或.o后缀;
代码:

[root@localhost beinan]# modprobe -r 模块名
举例:
代码:

[root@localhost beinan]# modprobe -r ne2k-pci
就说这么多吧,更为详细的还是用 man modprobe 来查看和尝试;

4、rmmod 移除已挂载模块;
命令格式:
代码:
rmmod 模块名
注意: 模块名是不能带有后缀的,我们通过modprobe -l 所看到的模块,都是带有.ko 或.o后缀;
举例:
代码:
[root@localhost beinan]# rmmod vfat 注:移除已挂载的模块vfat
5、depmod 创建模块依赖关系的列表
这 个模块管理工具是创建模块依赖关系的列表,有几个参数我们注意一下就行了,目前的的Linux 发行版所用的内核是2.6x版本,是自动解决依赖关系,所以这个命令知道就行了;模块之前也有依赖关系,比如我们想驱动USB 移动硬盘,目前有两种驱动,一种是udev ,在内核中有,但目前不太稳定;另一种办法是用usb-storage驱动,而usb-storage 依赖的模块是scsi 模块,所以我们要用usb-storage 的模块,也得把scsi 编译安装;
再 举个例子:sata的硬盘,在Linux中的设备表示的是/dev/sd* ,比如 /dev/sda,/dev/sdb 等... 系统要驱动 sata硬盘,则需要把sata在内核中选中,或编译成模块,或内置于内核之中,在此同时,还需要在内核中选中ide ,scsi 的支持等;
depmod 工具的洋文原意:depmod — program to generate moles.dep and map files.(我译的:为moles.dep 文件或映射文件创建依赖关系)
代码:

[root@localhost beinan]# depmod -a 注:为所有列在/etc/modprobe.conf 或/etc/moles.conf 中的所有模块创建依赖关系,并且写入到moles.dep文件;[root@localhost beinan]# depmod -e 注:列出已挂载但不可用的模块;[root@localhost beinan]# depmod -n 注:列出所有模块的依赖关系,但仅仅是输出出来 (Write the dependency file on stdout only)
注:moles.dep 位于 /lib/moles/内核版本 目录
比如 Fedora Core 4.0 中,系统默认的内核:
代码:

[root@localhost beinan]# ls /lib/moles/2.6.11-1.1369_FC4/moles.dep/lib/moles/2.6.11-1.1369_FC4/moles.dep

6、insmod 挂载模块;
insmod 这个工具,和modprobe 有点类似,但功能上没有modprobe 强,modprobe 在挂载模块是不用指定模块文件的路径,也不用带文件的后缀.o 或.ko ;而insmod 需要的是模块的所在目录的绝对路径,并且一定要带有模块文件名后缀的(molefile.o 或molesfile.ko );
对于这个工具,我们只是介绍一下, 并不推荐使用。因为模块有依赖关系,对于新手来说,可能不知道这个模块依赖和哪个模块依赖;
举例:
代码:
[root@localhost beinan]# insmod /lib/moles/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko
我们要到 /lib/moles/内核版本 uname -r 的命令输出/kernel/drivers 中找相对应的模块才行,要有绝对路径,而且必须要用到文件名的全称,不能把文件名的后缀省略;
四、与内核模块加载相关的配置文件;
1、模块的配置文件 moles.conf 或 modprobe.conf
内 核模块的开机自动挂载模块一般是位于一个配置文件,一般的Linux发行版本都有 /etc/moles.conf 或 /etc/modprobe.conf 。比如Fedora Core 4.0 内核模块开机自动加载文件是 /etc/modprobe.conf ;在这个文件中,一般是写入模块的加载命令或模块的别名的定义等;比如我们在moles.conf 中可能会发行类似的一行 ;
代码:

alias eth0 8139too
而8029的网卡应该是
代码:

alias eth0 ne2k-pci
这样系统启动的时候,首先会modprobe 8139too ,然后再为8139too 指定别名为 eth0,然后我们在登录的时候,用 ifconfig 就会查看到网卡的IP 等情况,当然您得为网卡设置IP 才行;
一 般的情况下,modproe.conf 或moles.conf的内容 是我们用相应的硬件配置工具而生成的;如果您的硬件驱动是没有被内核支持,您自己到硬件的厂商下载而来的驱动。一般的情况下都有安装和帮助文件。他们的驱 动在配置时,他会写入硬件的支持到moles.conf 或modprobe.conf 文件中。
再比如我们的声卡在moles.conf 或modprobe.conf 中也有相应的内容,这是由alsaconf 配置工具生成的,明白了吧;同理网卡在modprobe.conf 或moles.conf中的内容也是由网卡的配置工具而来的。
有些硬件是以内核模块的方式驱动的,模块一旦加载上就能用,也没有什么配置工具,比如vfat 和ntfs 的支持;如果是硬件驱动不以模块的方式支持,而是直接编入内核,也不会用在modprobe.conf 或 moles.conf 中加入什么内容;
如果您有些模块不能开机加载,您想让一些模块加机自动加载,就可以把modprobe 模块 直接写入配置文件;
2、内核模块其它配置文件
内核模块的其它配置文件还是需要了解的,比如 /lib/moles/内核版本目录下的几个文件;了解一下就行;比如:
代码:

[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/moles/2.6.11-1.1369_FC4/build misc moles.ccwmap moles.ieee1394map moles.isapnpmap moles.symbols sourcekernel moles.alias moles.dep moles.inputmap moles.pcimap moles.usbmap
五、硬件驱动在系统中的目录;
硬件驱动在内核中以模块支持的目录;
硬 件驱动是必须由内核支持的,无论是我们自己安装驱动,还是内核自带的驱动都是如此。硬件驱动如果是以内核模块支持的,驱动目录位于: /lib/moles/内核版本/kernel/目录 或 /lib/moles/内核版本/kernel/drivers 目录中;
代码:

[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/moles/2.6.11-1.1369_FC4/kernelarch crypto drivers fs lib net sound
注:只有驱动在内核中以模块的方法支持,驱动才位于 /lib/moles/相应的目录;如果是直接置入内核的,不会出现在/lib/moles驱动相关的目录;
六、自己编译驱动的办法;
通 过源码编译驱动一般是./configure ;make;make install ,有时程序不提供./configure ,我们可以make或make install ,或者执行make;make install ;如果不能make install ,则需要我们自己复制.o或者.ko文件到 /lib/moles/内核版本/kernel/目录 或 /lib/moles/内核版本/kernel/drivers 目录中相应的驱动目录;
这个还是自己尝试吧,说也说不清楚,遇到问题后就知道怎么弄了;具体的还是驱动的REAME和INSTALL为准;
现在大多驱动都是在编译安装时,都自动复制.o或.ko 文件到内核模块目录,大多不用我们自己动手复制过去。如果您尝试编译安装声卡驱动 alsa-drivers 就会明白我所说的意思。

⑦ linux下的initrd怎样加载模块进去高分求助

mkinitrd --with=你加载模块的名称 initrd-$(uname -r).img $(uname -r)
这样在你的当前目录就会生成个initrd文件,再用版这个权文件去替换/boot下的initrd就ok了。

⑧ linux操作系统中,加载和删除内核模块的命令是什么

加载内模块:在系统root用户下运行用户态模块命令装载内核模块

测试源代码gettime.c

卸载内模块:在系统root用户下运行用户态模块命令卸载内核模块

⑨ Linux 添加 net 模块

Linux 添加 net 模块的方法是:

1、创建c文件和makefile文件:在任意位置创建一个文件夹(我创建的名称为/drive)mkdir drive后,输入cd drive进入文件夹。输入vim hello.c新建hello.c文件,输入以下代码。

操作使用工具:Linux。

使用工具版本:CentOS-7.0-x86_64-DVD-1503-01.iso。

Linux编译内核模块Makefile中指令的作用是:

obj-m:指定构建为可加载内核模块的目标文件。 构建外部模块的命令是:make -C<path_to_kernel_src>M=$PWD。

-C $(KERNEL_DIR):内核源所在的目录。 “make”实际上会在执行时更改为指定的目录,并在完成时更改回来。

KERNEL_DIR:指内核源目录的路径。

M = $ PWD:通知make正在构建外部模块。 赋予“M”的值是外部模块所在目录的绝对路径。

阅读全文

与linux加载模块命令相关的资料

热点内容
男主已婚女主第三者婆文 浏览:695
贪婪岛三个女演员的名字 浏览:228
免费播放在线韩国爱情感人电影 浏览:812
民国崛起之黄埔 浏览:390
love法国电影百度云 浏览:885
视频文件格式app 浏览:289
主角收多女的修真小说 浏览:794
颜仟汶演过流落黄岛的全部电影 浏览:860
那种电影网你懂的 浏览:249
来点台湾伦理片 浏览:439
斗罗之主角叫叶枫的小说 浏览:728
与姑父相爱的小说 浏览:848
0855影视手机在线观看免费 浏览:429
李采潭演过的作品 浏览:546
李采潭主演所有电影 浏览:145
中文在线免费看影视 浏览:656
手机不卡电影网在线看 浏览:782
午夜小电影网址大全 浏览:204
电脑看免费电影网站 浏览:38
神马影视大香蕉 浏览:480

友情链接