Chinaunix首页 | 论坛 | 博客
  • 博客访问: 160537
  • 博文数量: 34
  • 博客积分: 2070
  • 博客等级: 大尉
  • 技术积分: 277
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-26 19:29
文章分类
文章存档

2015年(2)

2014年(4)

2013年(1)

2012年(1)

2011年(5)

2010年(21)

我的朋友

分类: LINUX

2010-08-18 14:32:21

Redhat 4 内核编译-1


Redhat 4 内核编译-2

1.linux新版本内核发布的两种形式:
(1)完整的内核版本,一般是.tar.gz文件或者是.bz2文件
(2)patch文件,即补丁。patch文件时针对特定版本的,如要冲2.6.10升级到2.6.12要先打2.6.11的补丁后再

打2.6.12的补丁才能升级到2.6.12。

2.内核下载地址:

3.准备内核

(1)编译内核需要root权限

(2)内核拷贝到/usr/src/下
# cp linux-2.6.10.tar.gz /usr/src

(3)解压下载的内核程序
# tar -xzvf linux-2.6.10.tar.gz

(4)建立符号链接
# cd /usr/src
# ln -s linux-2.6.10 linux

(5)删除所有配置文件和*.o文件
# cd linux
# make mrproper //确保源代码目录下没有不正确的*.o文件和文件的相互依赖

4.配置内核

linux 内核配置详解

(1.配置的方式

(1)# make config (基于文本的最为传统的配置界面)

(2)# make menuconfig (基于文本选单的配置界面)

(3)# make xconfig (基于图形窗口模式的配置界面)

(4)# make oldconfig (在原来内核配置的基础上修改一些地方)

(2.选项含义
Y- 将该功能编译进内核

N- 不将该功能编译进内核

M- 将该功能编译成灾需要时动态插入到内核中的模块

(3.make menuconfig配置方式

(1)使用空格进行选取,选项前有中括号、尖括号和圆括号。

(2)中括号要么是空,要么是“*”,而尖括号可以是空,“*”和“M”。

(3)空标识不要,“*”表示编译进内核,“M”表示编译成模块。

5.编译内核

(1)设定依赖关系
#make dep

(2)确定源代码没有空文件
# make clean

(3)编译内核
#make bzImage (避免编译出来的内核庞大,第一次编译最好选这个)
#make zImage (编译产生的内核大)

6.使用可装载的内核模块

(1)编译可加载内核模块
#make modules

(2)安装编译的模块
#make modules_install

(3)创建模块的链接
#depmod -a

7.更换内核
(1)建立新的链接
#cd /usr/src/linux

#cp System.map /boot/System.map-2.6.10

#cp arch/x86/boot/bzImage /boot/vmlinux

#cd /boot

#new-kernel-pkg --mkinitrd --depmod --install 2.6.10

(2)修改grub或者LILO
#vi /boot/grub/menu.lst

#vi /etc/lilo.conf

(3)重启系统,选择新内核,进入系统

阅读(1617) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~