全部博文(150)
分类: 系统运维
2017-08-02 19:01:25
yum update
2、编译前准备
系统环境
uname -a Linux GIS-test 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux cat /etc/redhat-release CentOS release 6.2 (Final) ###此处为示例,实际为6.4 [root@GIS-test ~]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
确定安装所需的编译工具
yum groupinstall "Development Tools"
确定安装make config所需工具
yum install ncurses-devel
确定编译centos6内核所需工具
yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
创建编译用户及目录
su - mocbuild #如果无此用户请创建
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
安装内核源代码
rpm -i
cd ~/rpmbuild/SPECS rpmbuild -bp --target=$(uname -m) kernel.spec $(uname -m) 这个值将目标结构设置为你的现有内核的结构。一般来说这是可行的,
cd ~/rpmbuild/BUILD/kernel-2.6.32-358.18.1.el6/linux-2.6.32-358.18.1.el6.`uname -m`
修改.config 将CONFIGIPVSTABBITS=12中的12修改18,保存退出
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,保存退出
可以不更改
rpmbuild --without debug --without debuginfo -bb --target=uname -mkernel.spec 2> build-err.log | tee build-out.log &
su - root cd /home/mockbuild/rpmbuild/RPMS/ cd x86_64 rpm -ivh --force kernel-*.rpm #强制更新内核 reboot
ipvsadm -ln IP Virtual Server version 1.2.1 (size=262144) ## size的值由默认的4096变成262144,确认修改成功 Prot LocalAddress:Port Scheduler Flags