Chinaunix首页 | 论坛 | 博客
  • 博客访问: 589195
  • 博文数量: 83
  • 博客积分: 5453
  • 博客等级: 大校
  • 技术积分: 894
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-10 13:51
文章分类

全部博文(83)

文章存档

2015年(2)

2014年(1)

2013年(1)

2012年(3)

2011年(14)

2010年(7)

2009年(7)

2008年(12)

2007年(17)

2006年(19)

我的朋友

分类: LINUX

2010-08-26 16:59:20

一、准备源代码

# 下载内核源码,或者安装debian库内的源码包,解压到/home/abc/src

# cd 解压出的文件夹 linux-2.6.??


二、配置内核选项

# cp /boot/config-??  .config # 将当前配置设定为默认配置,将在此基础上更改。

# make oldconfig #从旧的配置文件生成新的配置文件

(或者生成默认配置文件

# make x86_64_defconfig    #64bit Intel AMD  (不是IA64,不同的太多了)

# make i386_defconfig        #32bit Intel AMD


# make menuconfig #具体配置


注:menuconfig 需要库 libcurses5-dev

三、编译

DEB包:
方法一

# aptitude install dpkg-dev fakeroot
# fakeroot make deb-pkg
# 编译好的内核deb在上一层目录

注:fakeroot是一个安全工具,不是编译必须。
习惯使用root用户的可以忽略它,直接执行命令

方法二
Debian/Ubuntu
下编译内核的标准步骤:

# aptitude install debhelper modutils kernel-package fakeroot

# fakeroot make-kpkg clean  # 必需的

# fakeroot make-kpkg --append_to_version -命名  --initrd --revision=设置版本号 kernel_image modules_image

# 编译好的内核deb在上一层目录

RPM包:

小孙使用CentOS,因为是默认的软件包配置,没有细究其他依赖包。

# fakeroot make binrpm-pkg

#输出中有rpm包的所在位置。


手动安装——前的编译:

# make

# make modules


四、安装内核

借助软件安装:

deb包 dpkg -i linux-image-???.deb

rpm包 rpm -i linux-image-???.rpm

手动安装:

make install


五、配置新内核

编辑grub/menu.lst 修改必要的kopt信息。

创建initrd (按发行版不同,分为update-initramfs或者mkinitrd)

如果要在menu.lst自动添加initrd, 那么initrd的版本是有要求的。

版本需要与/lib/modules/2.6.???的一样。

可参考vmlinuz的版本部分。


六、管理旧内核

借助软件管理:

Deb系建议使用aptitude或者“新立得”管理安装的kernel

RPM系使用yum

手动管理:

/boot/下的主内核,包括initrd,image,config
/lib/modules/2.6-??下的LKM

author
xiaosun
references
Debian参考手册
make help
yum --help
阅读(2106) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~