完整内核编译 2.6.28.10
来源:互联网 发布:外国玩翻译软件 编辑:程序博客网 时间:2024/05/06 04:51
编译过程如下:
1. 到官方网站下载kernel, 2.6.28.10
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.10.tar.bz2
注意:不能下载linux-2.6.28.tar.bz2,也不知道什么原因,我编译完成后,不能启动,错误信息为:“不能找到/dev/VolGroup00”。
2. 将文件放在/usr/src目录下,并解压得到linux-2.6.28.10,进入该目录开始
3. 编辑Makefile文件,修改“EXTRAVERSION = .10.x86_64”
.10.x86_64是内核的扩展名称,最后生成内核的名称为:2.6.28.10.x86_64,这个名字可以任意定
4. 配置内核
#make menuconfig
这个命令会将系统的config文件拷贝到source目录下,保存为.config文件,并可以通过界面选择内核选项
此时我们根据mmap的需求去掉CONFIG_X86_PAT和CONFIG_STRICT_DEVMEM两个选项
5. 编译内核
#make
6. 编译内核模块
#make modules
7. 安装内核模块
#make modules_install
这时,在/lib/modules下会产生一个目录为,名称为内核版本+EXTRAVERSION。我的是:2.6.28.10.x86_64
8. 拷贝bzImage文件到/boot目录
cp /usr/src/linux-2.6.28.10/arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.28.10.x86_64
注意:内核类型根据自己需求选择,因为内存为16GB,我选择arch/x86_64下的bzImage文件
9. 拷贝System.map文件到/boot目录
cp System.map /boot/System.map-2.6.28.10.x86_64
10. 创建.img文件
mkinitrd /boot/initrd-2.6.28.10.x86_64.img 2.6.28.10.x86_64
其中第二个参数2.6.28.10.x86_64与/lib/modules目录名称一致
11. 添加grub文件条目
#vim /boot/grub/grub.conf
添加如下几行:
title CentOS (2.6.28.10.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.28.10.x86_64 root=/dev/VolGroup00/LogVol00 rhgb quie t
initrd /initrd-2.6.28.10.x86_64.img
其中/dev/VolGroup00/LogVol00根据自己情况配置,我使用的双硬盘,建立在LVM基础上
12. 重新启动
一定要保证kernel和initrd指定的文件名称无误,否则就要要跑到机房去重启机器了~
#reboot
重启之后通过一下命令查看内核版本:
#uname -r
若显示2.6.28.10.x86_64则新内核启动成功
- 完整内核编译 2.6.28.10
- 完整内核编译
- Android2.3.4内核编译完整记录
- Ubuntu10.04下Linux内核编译的完整步骤
- Ubuntu10.04下Linux内核编译的完整步骤
- Ubuntu10.04下Linux内核编译的完整步骤
- Ubuntu10.04下Linux内核编译的完整步骤
- CentOS 5.3编译安装2.6.28.10内核
- 2.6内核编译指南
- 按步就班编译2.6内核
- 2.6内核编译浅谈
- 2.6内核编译
- 2.6内核编译小结
- 2.6.27内核编译
- 编译2.6内核
- 编译2.6.38内核
- 编译Linux 2.6内核
- Debian:编译内核2.6
- 50个实用的javascript工具
- [请教] 如何将P6spy,sqlprofiler 结合到Spring+Hibernate中
- 消极的态度,积极的责任。
- 冬去春不来
- IT外企那点儿事(5):像系统一样升级
- 完整内核编译 2.6.28.10
- 开博
- 十五年,你积累了什么?
- 看完新版《三国》,很是闹心
- 转 PKU 3687
- WRTP54G的解锁,恢复管理员密码,升级固件
- java笔试题总结与大家分享
- tomcat 能够启动 并且能够用http://127.0.0.1:8080访问 但是不能用http://localhost:80800访问的解决办法。
- 监护仪原理介绍之ECG(心电)