<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[运维进行时]]></title> 
<link>https://blog.liuts.com/index.php</link> 
<description><![CDATA[互联网运维与架构]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[运维进行时]]></copyright>
<item>
<link>https://blog.liuts.com/post/180/</link>
<title><![CDATA[编译内核及制作RPM包[原创]]]></title> 
<author>root &lt;admin@yourname.com&gt;</author>
<category><![CDATA[Linux]]></category>
<pubDate>Wed, 03 Feb 2010 03:49:01 +0000</pubDate> 
<guid>https://blog.liuts.com/post/180/</guid> 
<description>
<![CDATA[ 
	<strong>一、前言</strong><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由于目前部分平台所使用的Linux发行版版本比较低，自带的内核版本远低于主流内核，无法使用到一些优秀的新内核特征，包括对我们比较有用的per-task storage I/O、改善在SMP系统中I/O的吞吐量、Ext4文件格式、虚拟化支持等。因此决定采用目前最新稳定版内核Linux-2.6.32.6(更新于2010-01-25)进行重新编译，生成一个更加小巧、稳定、安全、高效率的新内核。<br/><br/><strong>二、编译步骤</strong><br/>第一步：<br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content"><br/># cd /home<br/># wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.5.tar.gz<br/># tar -zxvf linux-2.6.32.5.tar.gz -C /usr/src<br/># cd /usr/src<br/># ln -s linux-2.6.32.5 linux<br/># cd linux<br/></div></div><br/>第二步：<br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content"><br/># make mrproper (初次编译内核这步也可以省略，方便第二次编译初始用。)<br/># make menuconfig<br/># make bzImage && make modules && make modules_install(需30~40分钟，具体看服务器配置)<br/># make install<br/></div></div><br/>如需制作RPM内核安装包，运行以下命令，相当于第二步的操作，但不编译本机内核。<br/># make rpm<br/>生成位置：<br/>/usr/src/redhat/RPMS/x86_64/kernel-2.6.32.6-2.x86_64.rpm<br/>/usr/src/redhat/SRPMS/kernel-2.6.32.6-2.src.rpm<br/><br/><strong>三、安装步骤</strong><br/>1、二进制rpm包安装步骤<br/># rpm -ivh&nbsp;&nbsp;kernel-2.6.32.6-1.x86_64.rpm<br/># vi /boot/grub/menu.lst添加以下并修改default项。<br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content"><br/>&nbsp;&nbsp;&nbsp;&nbsp;title CentOS (2.6.32.6)<br/>&nbsp;&nbsp;&nbsp;&nbsp;root (hd0,0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;kernel /vmlinuz-2.6.32.6 ro root=LABEL=/<br/>&nbsp;&nbsp;&nbsp;&nbsp;initrd /initrd-2.6.32.6.img<br/></div></div><br/># cd /lib/modules && mkinitrd /boot/initrd-2.6.32.6.img 2.6.32.6/<br/>2、RPM源码包安装步骤，好处便是在原有基础上再进行编译，更灵活。<br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content"><br/># rpm -Uvh kernel-2.6.32.6-2.src.rpm<br/># rpmbuild -bp --target=$(arch) /usr/src/redhat/SPECS/kernel-2.6.32.6-2.spec <br/># cd /usr/src/redhat/BUILD/kernel-2.6.32.6-2<br/># vi Makefile <-- Change "EXTRAVERSION" to avoid kernel overwriting <br/># cp /lib/modules/2.6.32.6/build/.config . <br/># make menuconfig<br/># 重复第二步<br/></div></div><br/><strong>四、ChangeLog</strong><br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content"><br/>2.1、裁减了51M内核模块，目前大小为46M。<br/>2.2、No Forced Preemption(Server)适合服务器环境的禁止内核抢占。<br/>2.3、High Memory Support->64GB。<br/>2.4、Default I/O scheduer(Deadline)使用Deadline作硬盘存取排程器，非常适合IO较大的数&nbsp;&nbsp; 据库服务器。<br/>2.5、添加Ext4 FileSystem。<br/>2.6、删除Dell laptop support、Toshiba Laptop support。<br/>2.7、开启Netfilter支持。<br/>2.8、Export task/process statistics through netlink(sys task相关选项)。<br/>2.9、Enable extended accounting over taskstats(sys task相关选项)。<br/>2.10、Enable per-task storage I/O accounting(sys task相关选项)。<br/>2.11、Support for Large Block Devices (LBD) - 支持超过 2TB 大小的储存设备。<br/>2.12、Support for Large Single Files (LSF) - 支持处理超过 2TB 大小的文件<br/>2.13、裁减sound card support。<br/>2.14、裁减Bluetooth subsystem support。<br/>2.15、裁减Wireless。<br/>2.16、裁减Kernel hacking 。<br/></div></div><br/>如需编译后的RPM包请联系我(文件太大，不好传)。<br/>kernel-2.6.32.6-2.x86_64.rpm(17M)<br/>kernel-2.6.32.6-2.src.rpm(84M)<br/><br/>如大家有什么疑问或感兴趣的话题可以通过weibo与我交流：<a href="http://t.qq.com/yorkoliu" target="_blank">http://t.qq.com/yorkoliu</a><br/>Tags - <a href="https://blog.liuts.com/tags/%25E5%2586%2585%25E6%25A0%25B8/" rel="tag">内核</a> , <a href="https://blog.liuts.com/tags/%25E7%25BC%2596%25E8%25AF%2591/" rel="tag">编译</a> , <a href="https://blog.liuts.com/tags/rpm/" rel="tag">rpm</a>
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/180/#blogcomment586</link>
<title><![CDATA[[评论] 编译内核及制作RPM包[原创]]]></title> 
<author>GARREY &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sat, 19 Feb 2011 15:23:06 +0000</pubDate> 
<guid>https://blog.liuts.com/post/180/#blogcomment586</guid> 
<description>
<![CDATA[ 
	刘大师，内核编辑完后make rpm生成的RPM文件安装后怎么不能生成/boot/initrd.img<br/>必须手动生成呢，是不是要重新编辑kernel.spec?
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/180/#blogcomment587</link>
<title><![CDATA[[评论] 编译内核及制作RPM包[原创]]]></title> 
<author>Fans &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 24 Feb 2011 15:13:37 +0000</pubDate> 
<guid>https://blog.liuts.com/post/180/#blogcomment587</guid> 
<description>
<![CDATA[ 
	大师，我按你写的方法#make rpm 安装后要手动去mkinitrd 创建IMG文件。帮忙看一下make rpm自动创建的SPEC文件是不是有问题？感谢<br/>Name: kernel<br/>Summary: The Linux Kernel<br/>Version: 2.6.34.8<br/>Release: 1<br/>License: GPL<br/>Group: System Environment/Kernel<br/>Vendor: The Linux Community<br/>URL: http://www.kernel.org<br/>Source: kernel-2.6.34.8.tar.gz<br/>BuildRoot: /var/tmp/%{name}-%{PACKAGE_VERSION}-root<br/>Provides:&nbsp;&nbsp;kernel-2.6.34.8<br/>%define __spec_install_post /usr/lib/rpm/brp-compress &#124;&#124; :<br/>%define debug_package %{nil}<br/><br/>%description<br/>The Linux Kernel, the operating system core itself<br/><br/>%prep<br/>%setup -q<br/><br/>%build<br/>make clean &amp;&amp; make %{?_smp_mflags}<br/><br/>%install<br/>%ifarch ia64<br/>mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules<br/>mkdir -p $RPM_BUILD_ROOT/lib/firmware<br/>%else<br/>mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules<br/>mkdir -p $RPM_BUILD_ROOT/lib/firmware<br/>%endif<br/>INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} KBUILD_SRC= modules_install<br/>%ifarch ia64<br/>cp $KBUILD_IMAGE $RPM_BUILD_ROOT/boot/efi/vmlinuz-2.6.34.8<br/>ln -s efi/vmlinuz-2.6.34.8 $RPM_BUILD_ROOT/boot/<br/>%else<br/>%ifarch ppc64<br/>cp vmlinux arch/powerpc/boot<br/>cp arch/powerpc/boot/$KBUILD_IMAGE $RPM_BUILD_ROOT/boot/vmlinuz-2.6.34.8<br/>%else<br/>cp $KBUILD_IMAGE $RPM_BUILD_ROOT/boot/vmlinuz-2.6.34.8<br/>%endif<br/>%endif<br/>cp System.map $RPM_BUILD_ROOT/boot/System.map-2.6.34.8<br/>cp .config $RPM_BUILD_ROOT/boot/config-2.6.34.8<br/>%ifnarch ppc64<br/>cp vmlinux vmlinux.orig<br/>bzip2 -9 vmlinux<br/>mv vmlinux.bz2 $RPM_BUILD_ROOT/boot/vmlinux-2.6.34.8.bz2<br/>mv vmlinux.orig vmlinux<br/>%endif<br/><br/>%clean<br/>rm -rf $RPM_BUILD_ROOT<br/><br/>%files<br/>%defattr (-, root, root)<br/>%dir /lib/modules<br/>/lib/modules/2.6.34.8<br/>/lib/firmware<br/>/boot/*
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/180/#blogcomment1164</link>
<title><![CDATA[[评论] 编译内核及制作RPM包[原创]]]></title> 
<author>ISEEK &lt;328139413@qq.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 12 Dec 2011 03:21:23 +0000</pubDate> 
<guid>https://blog.liuts.com/post/180/#blogcomment1164</guid> 
<description>
<![CDATA[ 
	拜读了刘天斯兄的文章&nbsp;&nbsp;谢谢了。
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/180/#blogcomment1173</link>
<title><![CDATA[[评论] 编译内核及制作RPM包[原创]]]></title> 
<author>xtang &lt;21433404@qq.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 20 Dec 2011 04:04:17 +0000</pubDate> 
<guid>https://blog.liuts.com/post/180/#blogcomment1173</guid> 
<description>
<![CDATA[ 
	请问下，我按照大师做出来的包。不会生成kernel-devel,这样的结果会造成一些软件 无法编译安装，比如 keepalived configure&nbsp;&nbsp;后不支持Use IPVS Framework&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : noIPVS sync daemon support : no 请问下应该如何解决
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/180/#blogcomment2439</link>
<title><![CDATA[[评论] 编译内核及制作RPM包[原创]]]></title> 
<author>shanks &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Fri, 28 Feb 2014 09:45:46 +0000</pubDate> 
<guid>https://blog.liuts.com/post/180/#blogcomment2439</guid> 
<description>
<![CDATA[ 
	求助，为什么我编译出来的rpm包有几百兆，我也没有弄什么新东西，就只是默认的config，还有，我把这个rpm包在别的机器上安装的时候，提示我一堆kernel-firmware信息，这是安装出错了么
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/180/#blogcomment2599</link>
<title><![CDATA[[评论] 编译内核及制作RPM包[原创]]]></title> 
<author>少林功夫好 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 04 Jun 2015 06:44:22 +0000</pubDate> 
<guid>https://blog.liuts.com/post/180/#blogcomment2599</guid> 
<description>
<![CDATA[ 
	# vi Makefile &lt;-- Change &quot;EXTRAVERSION&quot; to avoid kernel overwriting 这一步到底是啥意思？修改makefile文件的内容？修改什么了？
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/180/#blogcomment2963</link>
<title><![CDATA[[评论] 编译内核及制作RPM包[原创]]]></title> 
<author>water &lt;zhangwangjhs@qq.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 28 May 2025 02:35:36 +0000</pubDate> 
<guid>https://blog.liuts.com/post/180/#blogcomment2963</guid> 
<description>
<![CDATA[ 
	学习了，谢谢
]]>
</description>
</item>
</channel>
</rss>