首页 > 代码库 > 启动模块
启动模块
核心与核心模块
核心: /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 |
本文出自 “岁月丶倾城” 博客,请务必保留此出处http://alca0126.blog.51cto.com/7826974/1547467
启动模块
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。