missing-cn 阅读(61) 评论(0)
centos 6.4 编译内核更改lvs的哈希表设置




1、更新系统


yum update


2、编译前准备


确定安装所需的编译工具


yum groupinstall "Development Tools"


确定安装make config所需工具


um install ncurses-devel


确定编译centos6内核所需工具


yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel


3、准备内核源代码环境


su - mocbuild   #如果无此用户请创建


mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros


安装内核源代码






rpm -i http://vault.centos.org/6.4/updates/Source/SPackages/kernel-2.6.32-358.18.1.el6.src.rpm 


4、解压源代码


cd ~/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec
$(uname -m) 这个值将目标结构设置为你的现有内核的结构。一般来说这是可行的,


5、设置内核配置文件(仅在此处修改在6.4的编译中不起作用,下面7步骤中修改再编译就起作用了)


cd ~/rpmbuild/BUILD/kernel-2.6.32-358.18.1.el6/linux-2.6.32-358.18.1.el6.`uname -m`


修改.config 将CONFIG_IP_VS_TAB_BITS=12中的12修改18,保存退出


6、生成新的配置文件


make oldconfig


修改.config在首行增加:#x86_64


cp .config configs/kernel-2.6.32-x86_64.config 


cp configs/* ~/rpmbuild/SOURCES


cd ~/rpmbuild/SOURCES


vi config-generic 将 CONFIG_IP_VS_TAB_BITS=12中的12修改18,保存退出


7、更改内核的spec文件


可以不更改
 
8、编译新内核


rpmbuild --without debug --without debuginfo -bb --target=`uname -m` kernel.spec 2> build-err.log | tee build-out.log &


9、安装内核


su - root
cd /home/mockbuild/rpmbuild/RPMS/
cd x86_64


rpm -ivh --force  kernel-*.rpm   #强制更新内核


reboot


10、验证


pvsadm -ln
IP Virtual Server version 1.2.1 (size=262144)
Prot LocalAddress:Port Scheduler Flags