启动模块

简介:

核心与核心模块

  • 核心: /boot/vmlinuz 或 /boot/vmlinuz-version;

  • 核心解压缩所需 RAM Disk: /boot/initrd (/boot/initrd-version);

  • 核心模块: /lib/modules/version/kernel 或 /lib/modules/$(uname -r)/kernel;

  • 核心原始码: /usr/src/linux 或 /usr/src/kernels/ (要安装才会有,默认不安装) 

如果该核心被顺利的加载系统当中了,那么就会有几个资讯纪录下来:

  • 核心版本: /proc/version

  • 系统核心功能: /proc/sys/kernel 


核心模块与相依性

既然要处理核心模块,自然就得要了解了解我们核心提供的模块之间的相关性啦! 基本上,核心模块的放置处是在 /lib/modules/$(uname -r)/kernel 当中,里面主要还分成几个目录:

arch	:与硬件平台有关的项目,例如 CPU 的等级等等;
crypto	:核心所支持的加密的技术,例如 md5 或者是 des 等等;
drivers	:一些硬件的驱动程序,例如显卡、网络卡、PCI 相关硬件等等;
fs	:核心所支持的 filesystems ,例如 vfat, reiserfs, nfs 等等;
lib	:一些函式库;
net	:与网络有关的各项协议数据,还有防火墙模块 (net/ipv4/netfilter/*) 等等;
sound	:与音效有关的各项模块;

如果要我们一个一个的去检查这些模块的主要资讯,然后定义出他们的相依性, 我们可能会疯掉吧!所以说,我们的 Linux 当然会提供一些模块相依性的解决方案罗~ 对啦!那就是检查 /lib/modules/$(uname -r)/modules.dep 这个文件啦!他记录了在核心支持的模块的各项相依性。

-A  :不加任何参数时, depmod 会主动的去分析目前核心的模块,并且重新写入
      /lib/modules/$(uname -r)/modules.dep 当中。若加入 -A 参数时,则 depmod
      会去搜寻比 modules.dep 内还要新的模块,如果真找到新模块,才会升级。
-n  :不写入 modules.dep ,而是将结果输出到萤幕上(standard out);
-e  :显示出目前已加载的不可运行的模块名称范例一:若我做好一个网络卡驱动程序,档名为 a.ko,该如何升级核心相依性?
[root@www ~]# cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net
[root@www ~]# depmod


核心模块的观察

那你到底晓不晓得目前核心加载了多少的模块呢?粉简单啦!利用 lsmod 即可!

[root@www ~]# lsmod
Module                  Size  Used by
autofs4                24517  2
hidp                   23105  2....(中间省略)....8139too                28737  0
8139cp                 26305  0
mii                     9409  2 8139too,8139cp <==mii 还被 8139cp, 8139too 使用....(中间省略)....uhci_hcd               25421  0  <==底下三个是 U盘 相关的模块!ohci_hcd               23261  0
ehci_hcd               33357  0

本文转自岁月丶倾城博客51CTO博客,原文链接http://blog.51cto.com/alca0126/1547467如需转载请自行联系原作者


laihuadongcto

相关文章
|
9月前
|
应用服务中间件 Linux API
若依系统在linux上部署,前台dist文件使用nginx服务,接口无法正常使用的问题?
若依系统在linux上部署,前台dist文件使用nginx服务,接口无法正常使用的问题?
228 0
|
程序员
环境和模块
环境和模块
74 0
( ఠൠఠ )ノ 一键启动要启动的程序
( ఠൠఠ )ノ 一键启动要启动的程序
133 0
( ఠൠఠ )ノ 一键启动要启动的程序
|
缓存 监控 NoSQL
Python编程:supervisor模块管理进程实例
Python编程:supervisor模块管理进程实例
581 0
Python编程:supervisor模块管理进程实例
如何实现不安装xpoedinstall激活xposed模块
xpoedinstall及安装器,它的作用有几个:安装xposed框架、激活xposed模块、搜索模块等等 如果我们已经安装了xposed框架,或者说我们自己二次开发了这个框架,通过手动的方式安装。然后需要使用我们自己的xposed模块,这时xposedinstall的作用就只剩激活模块了,那么我们是否可以摆脱它来激活模块?
174 0
|
人工智能 Apache C语言