1. 如何查看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安装了哪些内置模块,还可以把没用的模块删除掉,减轻系统的负担。
2. Linux如何在系统启动时自动加载模块
rc.sysinit中有这样的一段代码:
# Load other user-defined moles
for file in /etc/sysconfig/moles/*.moles ; do
[ -x $file ] && $file
done
# Load moles (for backward compatibility with VARs)
if [ -f /etc/rc.moles ]; then
/etc/rc.moles
fi
可见只需要配置两个地方的任何一个就可以了(专以加载fuse内核模块为属例)
(1) 在/etc/sysconfig/moles/下面创建*.moles文件,参考已经有的*.moles文件,例如我写创建文件my.moles,内容为modprobe fuse
记得最后chmod 755 my.moles
(2) 或者在/etc/rc.moles里面加上modprobe fuse,没有的话创建该文件。
然后reboot,lsmod | grep fuse验证一下就OK了。
3. 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
4. Linux 系统 怎样查看已加载模块的状态
1: 查看已加载模块使复用制lsmod命令可以进行查看. 2: modinfo功能说明:显示kernel模块的信息。 语法:modinfo [-0] [-F field] [molename|filename ...] modinfo -Vmodinfo -h补充说明:modinfo会显示kernel模块的对象文件,以显示该模块的相关信息。 参数:-F field 只打印指定的区域的信息。 -a 显示模块作者名称。 -d 显示模块的说明。 -l 显示模块的授权。 -n 显示模块的详细路径及名称。 -p 显示模块所支持的参数。 -h 显示帮助信息。 -V或--version 显示版本信息。 详细参考帮助信息。
5. linux操作系统中,加载和删除内核模块的命令是什么
modprobe命令x0dx0aLinux命令:modprobe 。x0dx0a功能说明:自动处理可载入模块。x0dx0a语法:modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]。x0dx0a补充说明:modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。x0dx0ax0dx0a内容x0dx0a1、modprobe 命令是根据depmod -a的输出/lib/moles/version/moles.dep来加载全部的所需要模块。x0dx0a2、删除模块的命令是:modprobe -r filename。x0dx0a3、系统启动后,正常工作的模块都在/proc/moles文件中列出。使用lsmod命令也可显示相同内容。x0dx0a4、在内核中有一个“Automatic kernel mole loading"功能被编译到了内核中。当用户尝试打开某类型的文件时,内核会根据需要尝试加载相应的模块。/etc/moles.conf或 /etc/modprobe.conf文件是一个自动处理内核模块的控制文件。x0dx0amodprobe命令主要用于在Linux 2.6内核中加载和删除Linux内核模块。通过此命令用户可以轻松地加载和删除Linux内核模块,同时使用此命令加载Linux内核模块时,Linux内核会自动解决内核模块之间的依赖关系,将相互依赖的模块自动加载,如下所示:x0dx0a1) 加载RAID1阵列级别模块:x0dx0a[root@rhel5 boot]# modprobe raid1 x0dx0ax0dx0a2) 显示已加载的RAID1阵列级别模块:x0dx0a[root@rhel5 boot]# lsmod |grep raid1 raid1 25153 0 x0dx0ax0dx0a3) 删除RAID1阵列级别模块:x0dx0a[root@rhel5 boot]# modprobe -r raid1 x0dx0ax0dx0a4) 显示RAID1阵列级别模块:x0dx0a[root@rhel5 boot]# lsmod |grep raid1 x0dx0ax0dx0amodprobe命令在加载模块时会自动解决依赖的模块。当加载的模块需依赖另一个模块时,系统会自动将此模块加载。而当用户使用insmod命令加载模块时,则不会自动解决相对应的依赖模块裤肢。x0dx0amodprobe命令中的"-r"参数表示删除指定模块,"-c"参数表示显示/etc/modprobe.conf配置文件的参数,"-C"参数表示指定内核配置文件,"-f"表示覆盖,"-l"表示显示模块的绝对路径。x0dx0a[root@rhel5 boot]# modprobe -l|grep raid /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid0.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid456.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid1.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid10.ko /胡中世lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/aacraid/aacraid.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mbox.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mm.ko /lib/moles/2.6.18-8.el5/培肆kernel/drivers/scsi/megaraid/megaraid_sas.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/raid_class.ko x0dx0ax0dx0a以上命令表示显示系统中所有的编译模块,并过滤包含有raid字符串的模块。
6. 求详细的linux内核启动顺序,和各个模块的加载顺序,优先级等。
1. 加载 BIOS 的硬来件信息不迚行自我测试,源开依据讴定取得第一个可开机的装置;
2. 读取开执行第一个开机装置内 MBR 的 boot Loader (亦即是 grub, spfdisk 等程序);
3. 依据 boot loader 的讴定加载 Kernel ,Kernel 会开始侦测硬件不加载驱劢程序;
4. 在硬件驱劢成功后,Kernel 会主劢呼叨 init 程序,而 init 会取得 run-level 信息;
5. init 执行 /etc/rc.d/rc.sysinit 档案来准备软件执行的作业环境 (如网络、时区等);
6. init 执行 run-level 的各个朋务乊吪劢 (script 方弅);
7. init 执行 /etc/rc.d/rc.local 档案;
8. init 执行终端机仺真程序 mingetty 来吪劢 login 程序,最后就等待用户登入啦;