我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 操作系统 > Linux > 使用经验 > Kernel2.6x编译过程
热门文章排行
热门文章排行 一步一步的制作arm-linux交叉编译环(12-05)
深入理解硬盘的Linux分区(12-22)
深入浅出定制Linux系统环境变量(12-05)
Linux常用基本命令(二)(10-13)
红旗Linux5.0桌面正式版光盘安装{图(11-15)
精采文章排行
精采文章排行 vi基本技巧(11-16)
Linux历史篇(11-16)
Linux不是Windows(11-16)
第一次进入红旗后,应该做的几件事(11-15)
详解linux与win分区格式(11-15)
技术专题推荐
网管论坛交流
 

Kernel2.6x编译过程 

作者:佚名   来源:Linux 宝库   点击:   日期:2006-12-05


-->

  提要:在Kernel 2.6x和以前的版本的编译方法有点区别,所以就简单的把编译过程写出来,主要是帮助初学Linux的兄弟。
  
  Kernle 2.6x 编译比较简单,最适合我等菜鸟!!
  
  本文是以Redhat为例,内版本是2.6.0-test8
  
  一、下载
  http://www.kernel.org
  
  二、解压
  1.把下载好的内核放到/usr/src目录中,比如我下载的是linux-2.6.0-test8.tar.bz2
  
  #mv linux-2.6.0-test8.tar.bz2 /usr/src
  #tar jxvf linux-2.6.0-test8.tar.bz2
  
  2.进入相应的目录编译和安装,进入内核选项设置
  
  #cd linux-2.6.0-test8
  #make mrproper
  #make menuconfig
  
  进入内核选项卡,M是以模快方式编译,*是直接编入内核
  
  至于哪些要编入内核,哪些要编译成模块。在文章管理器和基础讨论区的帖子中都有,自己试着找一找。另外内核中的doc也有相应的文档
  
  3.编译和安装内核
  
  #make
  #sudo make install
  
  这个过程是编译和安装内核的过程,系统自动为我们做了哪些事?
  
  1]系统会在/usr/src/linux/arch/i386/boot/目录中产生bzImage,并把bzImage复制为vmlinuz-2.6.0-test8到/boot目录中,并创建议vmlinuz-2.6.0-test8的链接vmlinuz;
  
  2]在/boot目录中,系统会产生System.map-2.6.0-test8,以及创建它的链接System.map;
  
  3]在/boot目录中,自动生为initrd-2.6.0-test8.img;
  
  4]修改/etc/grub.conf 文件,加入了新内核的启动项。
  
  [注]经大熊宝宝兄的提示,怕初学的弟兄不明白这个过程,所以就把这个过程详细的写出来,所以我也做了补充。以上的四点都是系统自动安装内核时所做的任务。查看一下/boot目录中的文件以及/etc/grub.conf就明白了。这一点和以往2.4.x不一样的地方。做个比喻就是2.4.x还是半自动的,上面的东西要执行好多个命令,而在2.6.x中,一步就到位,是全自动的!
  
  4.编译和安装模快
  
  #make modules
  #make modules_install
  
  5.设置/etc/grub.conf,我不用lilo,更确切的来说,我不太懂,所以只能说Grub的设置办法。
  
  为什么要设置这个呢?其实在编译和安装内核的过程中,系统已经自动把新内核的启动项直接添加到了/etc/grub.conf中。当我们不对/etc/grub.conf进行改动,直接启用新内核会发现VFS错误之类的提示。
  
  下面的是我安装后新内核后,没有改动过的/etc/grub.conf
  
  title Fedora Core (2.6.0-test8)
  root (hd0,7)
  kernel /boot/vmlinuz-2.6.0-test8 ro root=LABEL=/
  initrd /boot/initrd-2.6.0-test8.img
  title Fedora Core (2.4.22-1.2061.nptl)
  lock
  root (hd0,7)
  kernel /boot/vmlinuz-2.4.22-1.2061.nptl ro root=LABEL=/
  initrd /boot/initrd-2.4.22-1.2061.nptl.img
  
  改动后的就是
  
  title Fedora Core (2.6.0-test8)
  root (hd0,7)
  kernel /boot/vmlinuz-2.6.0-test8 ro root=/dev/hda8
  initrd /boot/initrd-2.6.0-test8.img
  title Fedora Core (2.4.22-1.2061.nptl)
  lock
  root (hd0,7)
  kernel /boot/vmlinuz-2.4.22-1.2061.nptl ro root=LABEL=/
  initrd /boot/initrd-2.4.22-1.2061.nptl.img
  
  对比改动过的/etc/grub.conf,我们不难发现,我们在新内核2.x中,指定root的根分区所在的位置时,没有用标签LABEL=/,而是用的是真正的分区位置。
  
  请对Linux不太熟的弟兄,不要照搬我的分区设置。如果想知道这方面的,在基础讨论区中,有关于GRUB和分区访问的文章,在文章管理器中也有。
  
  最后还有一点就是如果显示卡原来安装过驱动,就要在新内核中重新安装。比如我用的是NVIDIA的显卡,我下载的是LinuxSir.Org的下载区中,哈兄提供的打过补丁的NVIDIA的驱动。装上就OK了。






文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·轻松安装RedHat9.0 ·怎样安装Oracle9iforHP-UX双机
·安装过windows后如何安装linux ·深入理解硬盘的Linux分区
·在虚拟pc上安装linux操作系统 ·在Linux下安装BT服务器的捷径

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

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