一 什么是内核
二 核心模块
位置:/lib/modules/2.6.18-128.el5/kernel 目录下
arch ∶与硬体平台有关的项目,例如 CPU 的等级等等;
crypto ∶核心所支持的加密的技术,例如 md5 或者是 des 等等;
drivers ∶一些硬件的驱动程序,例如显示卡、网路、卡、PCI 相关硬体等等;
fs ∶核心所支持的 filesystems ,例如 vfat, reiserfs, nfs 等等;
lib ∶各种模块所需要的一些函数库;
net ∶与网络有关的各项协议数据,还有防火墙模块(net/ipv4/netfilter/*) 等等;
sound ∶与声卡有关的各项模块;
查看核心加载了什么模块:
lsmod
Module Size Used by
autofs4 24261 2
名称 大小 此模块是否被其他模块所使用,被谁使用(有依赖性)
模块依赖性记录文件:
grep '8139too' /lib/modules/2.6.18-128.el5/modules.dep
depmod 维护模块依赖性命令
-A :不加任何参数时, depmod 会主动的去分析目前核心的模块,并且重新写入
/lib/modules/`uname -r`/modules.dep 当中。若加入 -A 参数时,则 depmod
会去搜寻比 modules.dep 还要新的模块,如果真找到新模块,才会更新。
举例:新模块加入后手动更新依赖性,核心就能识别模块了
cp /full/path/a.ko /lib/modules/`uname -r`/kernel/drivers/net
depmod
何时执行依赖性重建:
新装了某个硬件,那么这个新硬件厂商开发的驱动没有与系统模块关联,那么要执行
重新编译内核后,新增或删除了某些模块,务必执行一下
查看模块信息:
modinfo 8139too 查看模块详细信息
modinfo -F filename 8139too 列出模块所在目录
/lib/modules/2.6.18-128.el5/kernel/drivers/net/8139too.ko
加载模块:modprobe 具体的模块名称
卸载模块:modprobe -r 具体的模块名称
三 什么是核心编译,何时进行编译
四 核心版本号
uname -r
2.6.18-128.el5
[主版本].[次版本].[发布版本(release)]-[修改版本]
[次版本]是奇数的话,例如 2.3, 2.5 等表示他是一个测试版本
[次版本]是偶数的话,例如 2.4, 2.6 等表示他是一个稳定版本
五 内核编译
cp linux-2.6.30.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf linux-2.6.30.tar.gz
cd linux-2.6.30.5
make menuconfig
make && make modules_install && make install 2> /kernel_err.txt
六 内核参数修改配置文件
/etc/sysctl.conf
sysctl -p
转载于:https://blog.51cto.com/mengbo520/741220