Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->Linux技术 ->发行版专区 ->Fedora ->怎么样编译一个内核 - Fedora方式
  相关分类: 
CentOS
ubuntu
turbolinux
Suse
slackware
Redhat
Mepis
mandriva
Mandrake
knoppix
Gentoo
Fedora
Debian
红旗
  站内搜索: 
热门文章排行
热门文章排行 Fedora Core 6系统安装VMware-tool (04-19)
怎么样编译一个内核 - Fedora方式 (04-22)
《Fedora Core 4 正式版 ISO镜像》(F(04-20)
介绍Fedora core 6下安装罗马QQ的方(05-18)
在Fedora中编译安装Mplayer的详细步(04-11)
精采文章排行
精采文章排行 介绍Fedora core 6下安装罗马QQ的方(05-18)
Fedora 2 简单美化及设置(05-05)
Fedora 4.0播放机支持mp3、wma(05-05)
RedHat fedora core 2 的安装设置总(05-05)
菜鸟 RedHat Fedora Core 2安装手记(05-05)
  · Fedora 2 简单美化及设置方法· Fedora 4.0播放机支持mp3、wma的解· RedHat fedora core 2 的安装设置总结· 菜鸟 RedHat Fedora Core 2安装手记· Fedora 1.0 core 安装Nvidia驱动· Fedora Core 1安装手记· PS3安装Linux Fedora Core 6教程· 硬盘安装LINUX Fedora Core&n· 在Fedora core 4.0中添加sims

怎么样编译一个内核 - Fedora方式

作者:赵珂 译    来源:www.howtoforge.com   点击:   日期:2007-04-22 [收藏] [投稿]

  IE是否经常中毒?推荐您

网站下载你需要的内核版本, 比如. linux-2.6.18.2.tar.bz2(你可以从这里下载所有的2.6内核: http://www.kernel.org/pub/linux/kernel/v2.6/). 然后下载到/usr/src目录:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.2.tar.bz2

然后解压内核源代码, 创建一个指向内核源代码目录的linux字符链接:
tar xjf linux-2.6.18.2.tar.bz2
ln -s linux-2.6.18.2 linux
cd /usr/src/linux

3.2 给内核源代码打补丁(可选)
有时你的缺省内核不支持新买的设备, 你需要安装新的驱动. 或者你需要使用虚拟技术或其它高级的技术, 而这些现有的内核都不支持. 这样情况下你需要给给内核源代码打补丁(当然补丁已经发布..)

现在我们假设你已经下载需要的补丁(以下例子我叫它patch.bz2)到/usr/src. 运行下面的命令给内核源代码直接打上补丁(你的用户必须位于/usr/src/linux目录):
bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch.bz2 | patch -p1

第一个命令用于测试, 对内核没有任何影响. 如果没有显示错误, 你可以运行第二个命令给内核打补丁. 如果第一个命令有误, 请务继续的操作!

你也能够通过内核的prepatches方式打补丁. 比如, 如果你需要一个功能, 而这个功能仅存在于2.6.19-rc5中, 正式完整的内核版本仍没有发布, 而patch-2.6.19-rc5.biz2已经发布. 你可以把这个补丁打到2.6.18的内核源代码中, 但请不要达到2.6.18.1或2.6.18.2, 等. 这个规则在接下来的网页中注明: http://kernel.org/patchtypes/pre.html

prepatches等同于linux中的测试发行; 他们位于存档的测试目录中, 我们可以使用patch(1)工具对上一个完整发行版(版本号分三部分)打补丁(例如, 2.6.13-rc4 prepatch只可以给2.6.11内核源代码打补丁, 而不是2.6.11.10.)

所以如果你想编译2.6.19-rc5内核, 你必须在步骤3.1下载2.6.18(http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2)替代2.6.18.2内核源代码!

下面是怎么样给2.6.18打上2.6.19-rc5补丁:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.19-rc5.bz2
cd /usr/src/linux
bzip2 -dc /usr/src/patch-2.6.19-rc5.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch-2.6.19-rc5.bz2 | patch -p1

3.3. 配置内核
使用当前工作内核的配置文件做为新内核配置文件的基础是一个很好的主意. 因此我们拷贝已存的配置文件到/usr/src/linux:
make mrproper
cp /boot/config-`uname -r` ./.config

然后运行
make menuconfig

然后我们看到内核的配置菜单. 移动绿色光标到 Load an Alternate Configuration File 行后选择.config文件做为配置文件:

图片 1

图片 2

然后浏览内核配置菜单, 选择你需要的功能. 完成配置后, 选择Exit, 回答下面的问题(Do you wish to save your new kernel configuration? 你希望保存新的内核配置吗?), 选择Yes:

图片 3

3.4 构建和安装新的内核

构建和安装新的内核, 执行下面的3个命令:
make all
make modules_install
make install

保持耐心, 内核编译需要一定时间, 主要看你的内核配置和处理器速度. 最后一个命令将自动创建一个ramdisk, 你将在/boot/grub/menu.lst用到.

现在编辑/boot/grub/menu.lst. 把你的新的内核信息放到列表的顶端, 确认新的内核已经替代老的内核, default值需要设为0.

vi /boot/grub/menu.lst

我的menu.lst是这样的:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu

title Fedora Core (2.6.18.2)
root (hd0,0)
kernel /vmlinuz-2.6.18.2 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18.2.img

title Fedora Core (2.6.18-1.2798.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-1.2798.fc6.img

现在重新启动系统:
shutdown -r now

如果一切进展顺利, 你的新内核正常工作. 你可以通过运行下面命令来检查你的新内核是否运行:
uname -r

这将会显示如:
2.6.18.2

如果系统没有起来, 重启一下, 你会看到:

图片 4

按任意键进入GRUB菜单:

图片 5

选择你以前的内核启动系统, 现在你能再次尝试编译新的工作内核. 不要忘记从/boot/grub/menu.1st文件中移去不需要的引导内核信息.

原文链接:http://blog.zhaoke.com/5.html#more-5



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 2 3下一页

上一篇:构建 Fedora Live CD   下一篇:Fedora效能特别低还是Linux本身就很低
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·介绍Fedora core 6下安装罗马QQ的方法

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。