Kernel的任务
硬件探测
设备驱动程序的初始化(initrd,模块形式)
挂载根文件系统(以只读方式)
装载/sbin/init 启动系统的PID为1的进程
Kernel组成部分
一、 kernel
平台架构
设备驱动管理
文件系统
网络相关
内存管理
#uname -r 查看内核版本
二、initrd
在 linux内核启动前, boot loader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的initrd 文件系统。在 boot loader 配置了 initrd 的情况下,内核启动被分成了两个阶段,第一阶段先执行 initrd 文件系统中的”某个文件”,完成加载驱动模块等任务,第二阶段才会执行真正的根文件系统中的 /sbin/init 进程
cpio-initrd的处理过程 :kernel—>initrd—>根文件系统
相关命令
#zcat /boot/initrd-$(uname -r).img | cpio -id 将当前系统(内核版本2.6以上)的initrd文件展开
# find . | cpio -o -H newc –quiet | gzip -9 > ../initrd.gz 重新制作initrd文件
三、 功能模块
/lib/modules/`uname -r`/
Linux的kernel是动态可装载的单内核系统 这使得kernel本身体积小,当需要完成某个功能时,就装载此功能模块
与模块相关命令:
#lsmod 查看已经装载的模块
手动装载和卸载模块
#modprobe MODULE 装载
#modprobe -r MODULE 卸载
#insmod /path/MODULE 插入模块
#rmmod MODULE 移除模块
查看模块的信息
#modeinfo MODULE
#depmod