内核编译步骤及模块管理

内核编译步骤及模块管理
 
设定内核参数的方法:
echo VALUE > /proc/sys/TO/SOMEFILE
sysctl -w kernel.hostname=
能立即生效,但无法永安有效。
 
永久有效需要修改配置文件/etc/syctl.conf
修改完配置文件不会理解生效,需要执行以下命令才能立即生效。
sysctl -p 让内核从读配置文件
 
sysctl -a 显示所有内核参数及其值
 
 
内核模块管理
lsmod 查看内核加载的模块
 
modprobe MOD_NAME 装载某个内核模块,只需要在modprobe后面接内核文件名即可
modprobe -r MOD_NAME 卸载某个内核模块,同样只需要在modprobe后面接内核文件名即可
 
modinfo MOD_NAME 查看某个内核模块的详细信息
 
insmod /PATH/TO/MODULE_FILE 装载某个内核模块,与modprobe不同的用法,insmod后面接的是内核模块的文件路径
rmmod MOD_NAME 卸载某个内核模块,与modprobe -r 的用法相同,都是后面接内核模块名
 
depmod /PATH/TO/MOD_DIR
 
内核中的功能除了核心功能之外,在编译时,大多功能都又三种选择:
1、不使用此功能
2、编译成内核模块
3、编译进内核,也就是成为内核的组成部分
 
对于红帽系列来讲,一个系列的版本内核版本号是一至的。
例如
RHEL 5系列的内核版本号是2.6.18 5.1 、5.2 、5.5.。。。5.9的内核版本号都是2.6.18
RHCE 6(centos 6) 的内核版本号是2.6.32 6.1、6.2、6.3、6.5。。。6.10的内核版本号都是2.6.32
 
 
如何手工编译内核
准备:需要安装安装Development tools开发工具
第一步下载内核文件
第二步解压内核文件,需要解压到/usr/src
第三步创建解压出内核文件的软连接,需要命名为linux
第四步需要使用到内核编译工具
make gconfig :GNOME桌面环境使用的,需要安装图形开发工具
GNOME Software Development 图形配置工具
make kconfig : KDE桌面环境使用的,需要安装KDE图形开发工具
KDE Software Development 图形配置工具
make menuconfig : 命令行下使用的
第五步进入linux目录,打开make menuconfig
备注,建议可以先把/boot/config-VERSION文件复制到/usr/src/linux目录下,改名成.config,以此文件为模版,来修改,以免出来编译好内核启动不了。
第六步make
第七步make modules_install这一步很重要,先去安装内核模块
第八步make insatll 最后一步安装内核
 
 
二次编译时清理
make clean 清理之前编译好的二进制文件
make mrproper 清理之前编译的操作,包括.config文件,所以在执行make mrproper 之前先备份之前配置的.config文件
 
 
实现部分编译
1、只编译某个子目录下的相关代码
make dir/
make SUBDIR=arch/
make drivers/net/
2、只编译部分模块
make M=drivers/net/
3、只编译某一模块
make drivers/net/pcnet32.ko
4、将编译完成的结果放置于别的目录中
make o=/tmp/kernel
原文地址:https://www.cnblogs.com/fengciaimei/p/12901120.html