免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3782 | 回复: 9
打印 上一主题 下一主题

秀脱linux实战笔记linux-kernel-3.0.3实战片篇 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-24 13:26 |只看该作者 |倒序浏览
本帖最后由 xiutuo 于 2011-08-24 13:33 编辑

+++++++++++++++++++++++++++++++++++++++++++++++++++++++
秀脱linux实战笔记linux-kernel-3.0.3实战片篇:
http://hi.baidu.com/xiutuo/blog/ ... fe3a7655fb96c7.html
   QQ:     6541657
EMAILiutuo@gmail.com
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

一:环境
linux: centos6
kernel:linux-3.0.3.tar.bz2
使用root用户编译内核
内核裁剪:
驱动:保留常用USB驱动,支持常用磁盘接口如SCSI,sATA
去掉无线,蓝牙,ISDN,,其他游戏手柄,手持设备等都已去掉
支持ext3,ext4,cifs,nfs,不支持虚拟化
内核debug模式已经关闭,编译方式采用优化code size方式编译
CPU架构:只保留intel,去掉AMD等,cpu采用非抢占调度(server)模式
语言:只保留UTF-8,ISO,简体中文


二:编译准备
1.准备相关软件包
yum install rpmdevtools yum-utils ncurses-devel make rpm-build rpm-devel

三. 源码编译安装步骤
0. 解压源码
tar xvf linux-3.0.3.tar.bz2
cd linux-3.0.3
1. make mrproper
如果是第一次编译,省略该步骤,该步骤主要删除编译后生成的一些文件,如果.config,makefile,*.o等文件
如果是第一次编译失败,再一次编译,则必须执行。

2. make menuconfig  | make config | make menuconfig | make xconfig | make gconfig
定制内核配置,请以上方式任选一种。我这里选择make menuconfig

3. make
编译内核

4. make modules_install
安装内核模块, 把上一步构建出来的内核放入一个模块子目录中:
/lib/modules/内核版本,这里是/lib/modules/3.0.3/

5. make install
把编译好的内核放入/boot中,并且会更新引导文件,会把vmlinuz和System.map复制到/boot目录下同时修改grub
主要会生成一下文件:
config-3.0.3   --内核编译配置文件内容就是make menuconfig出来的文件.config的内容,只是文件名不同而已
initrd-3.0.3.img
vmlinux-3.0.3.bz2
System.map-3.0.3
vmlinuz-3.0.3

6. new-kernel-pkg --mkinitrd --depmod --install 3.0.3
安装grub,new-kernel-pkg --mkinitrd --depmod --install 内核版本号
修改/boot/grub/grub.conf文件,增加一下内容
title CentOS Linux (3.0.3)
        root (hd0,6)
        kernel /vmlinuz-3.0.3 ro root=UUID=db5edc6d-d16b-4308-8c7b-6df9f4f4e26c
rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYS
FONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
        initrd /initrd-3.0.3.img


四. 编译成rpm包
0. 解压源码
tar xvf linux-3.0.3.tar.bz2
cd linux-3.0.3
vi scripts/package/mkspec
增加一下几行,目的:当rpm -i kernel-3.0.3-1.x86_64.rpm 自动配置grub.conf

echo "%post"
echo 'if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ]; then'
echo  'if [ -f /etc/sysconfig/kernel ]; then'
echo  '/bin/sed -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel || exit $?'
echo  'fi '
echo 'fi '
echo '/sbin/new-kernel-pkg  --mkinitrd --make-default --depmod --install %{version} || exit $?'

1. make mrproper
如果是第一次编译,省略该步骤,该步骤主要删除编译后生成的一些文件,如果.config,makefile,*.o等文件
如果是第一次编译失败,再一次编译,则必须执行。

2. make menuconfig  | make config | make menuconfig | make xconfig | make gconfig
定制内核配置,请以上方式任选一种。我这里选择make menuconfig
生产内核配置文件.config


3. make rpm-pkg
生成一下文件

Wrote: /root/rpmbuild/SRPMS/kernel-3.0.3-1.src.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/kernel-3.0.3-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/kernel-headers-3.0.3-1.x86_64.rpm

4. 安装内核
rpm -ivh /root/rpmbuild/RPMS/x86_64/kernel-3.0.3-1.x86_64.rpm

五.附录
kernel-3.0.3-1.src.rpm下载地址

http://dl.dbank.com/c0x5qcm826
kernel-3.0.3-1.x86_64.rpm下载地址
http://dl.dbank.com/c0twilsoi1

kernel-headers-3.0.3-1.x86_64.rpm下载地址
http://dl.dbank.com/c0056pznuh

.config下载地址

论坛徽章:
0
2 [报告]
发表于 2011-08-24 13:27 |只看该作者
回复 1# xiutuo


    不错不错!  

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2011-08-24 20:43 |只看该作者
写的很详细,哪天测试下.先收藏备用

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
4 [报告]
发表于 2011-08-25 12:20 |只看该作者
不知道楼主是在哪个版本上安装的。我用RHEL5。4有问题。

论坛徽章:
0
5 [报告]
发表于 2011-08-25 12:23 |只看该作者
回复 4# renxiao2003


    环境
linux: centos6

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
6 [报告]
发表于 2011-08-25 12:29 |只看该作者
回复 5# taojie2000


    那看来我真的要在rhel6上实验了。

论坛徽章:
9
2015亚冠之阿尔纳斯尔
日期:2015-09-10 16:21:162015亚冠之塔什干火车头
日期:2015-07-01 16:23:022015年亚洲杯之巴勒斯坦
日期:2015-04-20 17:19:46子鼠
日期:2014-11-13 09:51:26未羊
日期:2014-08-28 18:13:36技术图书徽章
日期:2014-02-21 09:30:15酉鸡
日期:2014-01-14 11:12:49天蝎座
日期:2013-12-09 17:56:53平安夜徽章
日期:2015-12-26 00:06:30
7 [报告]
发表于 2011-08-25 15:05 |只看该作者
不知道楼主是在哪个版本上安装的。我用RHEL5。4有问题。
renxiao2003 发表于 2011-08-25 12:20


+++++++++++++++++++++++++++++++++++++++++++++++++++++++
kernel-headers-3.0.3-1.x86_64.rpm下载地址
http://dl.dbank.com/c0056pznuh

.config下载地址
xiutuo 发表于 2011-08-24 13:26



看到最后一句,就应该知道是copy的

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
8 [报告]
发表于 2011-08-25 15:10 |只看该作者
是吗?

论坛徽章:
0
9 [报告]
发表于 2011-08-30 13:31 |只看该作者
回复 7# HH106

从本人BLOG上拷贝的,哈哈

不好意思,这个.config文件本来就没有打算上传。

论坛徽章:
0
10 [报告]
发表于 2011-08-31 10:13 |只看该作者
lz升级过程,真TN的顺利
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP