CentOS6.5编译Linux-3.9.2内核

1.安装必备的软件包

#yum install gcc

//这个要看自身的环境的,如果缺少对应的软件包,系统会提示的,缺啥补啥

2.下载Linux源码

从www.kernel.org下载相应的内核版本linux-3.9.2.tar.gz,放到/usr/src目录下

3.在当前目录下解压源码包

#tar -zxvf linux-3.9.2.tar.gz

#cd linux-3.9.2

4.编译前的处理

#make mrproper

//此命令会删除所有的编译生成文件,内核配置文件,所以几乎只有第一次执行内核编译前才进行这个操作

#make clean

//此命令仅会删除编译生成的中间文件,而保留配置文件,如果在同一版本同一目录下重新编译,只想删除前一次编译的残留数据而保留.config配置文件,执行这个命令。如果

是不同版本的编译,应该没什么关系。

5.内核配置

#make menuconfig

//最常用的,图形界面,如果源码树目录下没有.config,则会生成一个

或者

#make oldconfig

//通过使用已存在的.config,使用该文件内的设置值为默认值,只将新版本内核中的新功能选项列出来让用户选择,会去/boot目录下寻找相应的.config

或者

#make config

//古老的功能挑选方式,设置错误只能够重来

//通过以上命令之一会在源码树目录下生成.config,此文件就是内核的配置文件,不用再复制到/boot目录下,如果复制到/boot下是为了重新编译时make oldconfig时可以找到

6.开始编译和安装

#make -j4 bzImage

//生成压缩过的内核,结束后应该会看到Kernel: arch/x86/boot/bzImage is ready字样, -j4是为了四核运行,加快速度,下同

#make -j4 modules

#make -j4 modules_install

//在lib/modules下新建立这个内核的相关模块

7.开始安装新内核

#cp -a arch/x86/boot/bzImage /boot/vmlinuz-3.9.2

#cp -a System.map /boot/System.map-3.9.2 && cp -a .config /boot/config-3.9.2

//此命令是为了备份,其实没必要做

#depmod -a

#mkinitrd /boot/initrd.img-3.9.2 3.9.2

//新建相对应的Initial Ram Disk

8.修改grub

#gedit /boot/grubmenu.lst

title CentOS 6.5(Kernel 3.9.2)

root(hd0,4)

kenel /boot/vmlinuz-3.9.2 

initrd /boot/initrd.img-3.9.2

//这个grub只是一个示例,具体的要根据现存的grub进行修改,否则会无法进入新内核

//7、8两步骤可以用make install一步搞定,但是分解成两步更易于理解。第一次编译时可以使用make install把grub修改,然后再编译时就可以照着修改,还可以看一下此命令

在/boot目录下生成了什么

9.重启

#reboot

#uname -a

//是3.9.2,搞定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值