内核编译
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内核编译相关的知识,希望对你有一定的参考价值。
1,下载src.rpm 格式的内核源码包
# wget ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/kernel-2.6.32-573.el6.src.rpm
2, 安装 src.rpm 包
# useradd mockbuild
# su mockbuild
# rpm -ivh kernel-2.6.32-573.el6.src.rpm
# exit
3,制作rpm包,安装完成后会在 mockbuild 用户家目录下生成rpmbuild 目录
# yum -y install xmlto asciidoc newt-devel (安装依赖包)
# rpmbuild -bb ~/rpmbuild/SPECS/kernel.spec
4,把内核源码包展开至/usr/src 目录下
# cd /home/mockbuild/rpmbuild/SOURCES/
# tar xf linux-2.6.32-573.el6.tar.bz2 -C /usr/src/
# cd /usr/src/
5,创建链接
# ln -sv linux-2.6.32-573.el6 linux
# cd linux
6,提供内核编译配置文件
# cp /boot/config-2.6.32-431.el6.x86_64 .config
7,选择编译选项
# make menuconfig
8,编译内核
# make
9,安装模块
# make modules_install
10,安装内核
# make install
11,检测
# cat /boot/grub/grub.conf (查看文件中是否有新内核配置项)
二次编译
1,清理此前的编译配置
只清理编译生成的文件,但不删除配置文件 .config
# make clean
清理编译配置和配置文件
# make mrproper
重置源代码树
# make disclean
2,选择编译选项
# make menuconfig
3,编译内核
# make
4,安装模块
# make modules_install
5,安装内核
# make install
6,检测
# cat /boot/grub/grub.conf (查看文件中是否有新内核配置项)
将编译生成配置文件放在特定路径下
# mkdir /source
# cd /source/
# ./configure --ksource=/usr/src/linux
只编译某个模块
# make drivers/net/ethernet/intel/e1000/e1000.ko
修改内核参数的两种方法:
1,通过命令
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 或
# sysctl -w net.ipv4.icmp_echo_ignore_all=1
2,通过配置文件
# vim /etc/sysctl.conf
icmp_echo_ignore_all = 1
# sysctl -p
3,查看内核参数
# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
# sysctl net.ipv4.icmp_echo_ignore_all
本文出自 “珞辰的博客” 博客,请务必保留此出处http://luochen2015.blog.51cto.com/9772274/1752924
以上是关于内核编译的主要内容,如果未能解决你的问题,请参考以下文章