内核编译步骤及模块管理

编程

内核编译步骤及模块管理

 

设定内核参数的方法:

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

以上是 内核编译步骤及模块管理 的全部内容, 来源链接: utcz.com/z/516493.html

回到顶部