且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

LINUX核心及核心模块的简单介绍

更新时间:2022-10-02 23:18:59

在整个开机的过程中,能否成功驱动主机的硬件,是核心(kernel)的工作.
核心一般都是压缩文件,在使用之前,要将解压,才能加载到主存储器中.
随着硬件种类增加,目前核心都具有可读取模块化驱动程序的功能.即modules模块化,类似插件

核心:/boot/vmlinuz-version
核心解压所需RAM Disk:/boot/initrd-version
核心模块:/lob/modules/version/kernel
核心源码:/usr/src/linux(预设不安装)

核心被正常加载到系统后,会有以下信息记录:
核心版本:/proc/version
系统核心功能:/proc/sys/kernel

对与操作系统不支持的硬件,有两种方法:
1.重新编译核心,加入最新的硬件驱动程序原始码
2.将硬件驱动程序编译为模块,开机时加载此模块

在核心模块:/lob/modules/version/kernel 中各目录详解
arch    :与硬件平台相关的项目,如CPU等级等
ctypto  :核心所支持的加密技术 如MD5
drivers :一些硬件驱动程序,如显卡网卡PCI相关硬件等。
fs      :核心所支付的filesystems 如vfat ext2 ext3 nfs reiserfs
lib     :一些函数库
net     :与网络有关的各项协议数据和防火墙模块 net/ipv4/netfilter/*
sound   :与音效相关的各项模块
记录核心支持的模块的各项相依性 depmod命令 /lib/modules/$(unname -r)/modules.dep  
 如增加网卡驱动程序 档名为a.ko
cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net
depmod
 lsmod 查看目前核心加载的模块
modinfo 查看每个模块的信息
modprobe 核心模块的加载 会先查看模块的相依性,再决定需要加载的模块
insmod 由使用者自行加载模块,不检查相依性
卸载模块 
rmmod 
modprobe -r 

核心模块的额外参数设定 /etc/modprobe.conf

本文转自  还不算晕  51CTO博客,原文链接:http://blog.51cto.com/haibusuanyun/751251