1 前言
为了方便大家入门,这里没有把内核精简方面增加进去,后续会专门腾出文章来写内核裁剪,做一个高效优秀的方案;
最近在做几件事情,其中一件就是升级定制内核,精简内核,在这里先发一份入门文档给大家;
linux的2.6的内核,都在https://www.kernel.org/pub/linux/kernel/v2.6/下面,这这里大家可以下载自己想要的2.6版本的内核,下面开始我们的内核升级之旅吧:
2 编译安装
因为不同设备的硬件不同,因此编译安装内核是最常用的内核安装的方法,也解决了磁盘挂载、硬件驱动不同等的问题,在设备规格不统一、配置不规范的情况下,这是最保险的方案;
2.1 准备工作
安装编译环境:
# yum install gcc make bison ncurses-devel rpm-build
2.1.1 软件下载解压
# wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.8.tar.bz2
# tar jxvf linux-2.6.38.8.tar.bz2 -C /usr/src/kernels
# cd /usr/src/kernels/linux-2.6.38.8
2.1.2 生成配置
通常,通过make menuconfig进行选择生成配置,选择通常适用的模块,去掉不需要的模块完成按需所用,这里就不执行这步了,直接使用定义好的配置,这里用最简单的方式,直接使用系统自带的config进行修改;
# cp /boot/config-uname -r
/usr/src/kernels/linux-2.6.38.8/.config
# make menuconfig
说明:这一步骤重点把如下内容选上:
General setup –>
[*] enable deprecated sysfs features to support old userspace tools
然后编辑下.config文件,找到:# CONFIG_SYSFS_DEPRECATED_V2 is not set,将注释去掉,改成:CONFIG_SYSFS_DEPRECATED_V2=y
2.1.3 编译
# make bzImage
# make modules
2.1.4 安装
# make modules_install
# make install
# sed -i ‘/^default=/s/^default=.*/default=0/g’ /boot/grub/grub.conf
# reboot
或者走基本步骤,推荐
# cp vmlinuz-2.6.38.8 /boot/vmlinuz-2.6.38.8
# cp System.map /boot/System.map-2.6.38.8
# cp .config /boot/config-2.6.38.8
# bzip2 -9 vmlinux && mv vmlinux.bz2 /boot/vmlinux-2.6.38.8.bz2
# /sbin/mkinitrd /boot/initrd-2.6.38.8.img 2.6.38.8
# /sbin/grubby –add-kernel=/boot/vmlinuz-2.6.38.8 –initrd=/boot/initrd-2.6.38.8.img –title=”Tyumen (2.6.38.8)” –copy-default
# sed -i ‘/^default=/s/^default=.*/default=0/g’ /boot/grub/grub.conf
# reboot
3 rpm制作安装
公司的配置相对比较标准,因此做成rpm包可以大大节省安装编译时间,并且可以在卸载的时候,很容易就卸载完成,而不需要一个模块一个模块去删除;
3.1 准备工作
安装编译环境:
# yum install gcc make bison ncurses-devel rpm-build
3.1.1 软件下载解压
# wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.8.tar.bz2
# tar jxvf linux-2.6.38.8.tar.bz2 -C /usr/src/kernels
# cd /usr/src/kernels/linux-2.6.38.8
3.1.2 生成配置
通常,通过make menuconfig进行选择生成配置,选择通常适用的模块,去掉不需要的模块完成按需所用,这里就不执行这步了,直接使用定义好的配置,这里用最简单的方式,直接使用系统自带的config进行修改;
# cp /boot/config-uname -r
/usr/src/kernels/linux-2.6.38.8/.config
# make menuconfig
说明:这一步骤重点把如下内容选上:
General setup –>
[*] enable deprecated sysfs features to support old userspace tools
然后编辑下.config文件,找到:# CONFIG_SYSFS_DEPRECATED_V2 is not set,将注释去掉,改成:CONFIG_SYSFS_DEPRECATED_V2=y
3.1.3 编译
# make bzImage
# make modules
3.1.4 rpm制作
下载制作spec文件,这里使用已经定制完的配置文件
# wget -SO /usr/src/kernel/linux-2.6.38.8/kernel.spec http://download.zhoufengjie.cn/config/os/linuxos/kernel/kernel-2.6.38.8.spec
# make rpm
3.1.5 rpm安装
# rpm -ivh /usr/src/redhat/RPMS/x86_64/kernel-2.6.38.8-4.x86_64.rpm
# reboot
为了方便大家保存,www.zhoufengjie.cn上面的文章尽量都会做成pdf文档形式方便大家留存,尽最大方便给大家提供服务,本文文档下载地址:点击下载