Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -6.作一

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

如果您想要在一个新硬体系统上运作 Linux ,或者想要使用一些原本核心没有支援的特点,也许或
者您想减少核心所占的记忆体使系统记忆体运作的更好,您会发现必须建立自己所定的核心。 
更新核心包含了组态所需的模组,编译核心及模组,最後安装核心映像档,随着重新开机而载入新的
核心。在``README''中这些所有的文件都来自於每个核心套件。进一步的资讯可以在
 ``Documentation/'' 子目录中找到。一个特别有帮助的档案是``Configure.help'' ,其中包含了有
 关编译核心的选项及模组的详细资讯。 

下面是一个例,显示如何建立自己的 Intel 平台 2.0.36 版核心。建立订的核心常常只是组态,
编译及安装上的问题。有时(通常因为新的硬体) 需要下载新的驱动程式,因为原本核心编译时该硬体
尚未被支援。 

建立订核心的第一个步骤是下载及安装核心,不论是来自 RPM (优先选择) 或从 tarball。参考 
第10章,Linux 核心的升级  一节 有关获得合适档案的详细资料。 

下一步,使用 ``rpm'' 公用程式 (或 ``tar'',也可以) 安装核心来源及标头档。例如,安装
 2.0.36-3 核心的 RPM 档: 
  rpm -Uvh kernel-source-2.0.36-3.i386.rpm kernel-headers-2.0.36-3.i386.rpm
rpm -Uvh kernel-ibcs-2.0.36-3.i386.rpm
 


(如果您在笔记型电脑上运作Linux,您或许想要安装 ``kernel-pcmcia-cs-2.0.36-3.i386.rpm'' 这个
档,它提供了电源管理的功能) 

在安装好核心档之後,您应该可以找到新的原始档,位在 ``/usr/src/linux/'' 目录。 

下一个步骤是下载任何附加的驱动程式档 (如果有的话),并且安装他们在新的核心来源。例如,要增加
对 Mylex DAC960 硬体 RAID 控制器的支援,我会从网站上下载驱动软体。不幸地,像 
http://www.dandelion.com/ 网页上的驱动软体常常只有提供 tarball 而且需要 ``tar'' 公用程式去安
装它。例如: 
  cd /usr/src/
tar zxvpf DAC960-2.0.0-Beta4.tar.gz
 


可能的话,您应该阅读由您所增加驱动程式软体所提供的文件。例如 DAC960 驱动程式包括了 ``README'' 
档案,里面有关於哪里下载最新的驱动程式,及如何索取核心的修正档: 
  mv README.DAC960 DAC960.[ch] /usr/src/linux/drivers/block
patch -p0 < DAC960.patch
 


下面步骤是确保您的系统符号档案连结和新的核心相符。事实上,这个步骤只需要作一次,所以下面步骤只
有在您从未编译过自己的核心情形下才需要: 
  mail:/usr/src# cd /usr/include
mail:/usr/include# rm -rf asm linux scsi
mail:/usr/include# ln -s /usr/src/linux/include/asm-i386 asm
mail:/usr/include# ln -s /usr/src/linux/include/linux linux
mail:/usr/include# ln -s /usr/src/linux/include/scsi scsi
 
 注意: 上述步骤在 2.2.x 或更高版本核心已不再需要。 


下一个步骤是组态您的核心。这是建立订核心的最重要步骤,如果您 disable 错误的设定,可能漏
失您所需要的特性或硬体支援。然而,如果您 enable 了错误的设定,您会无谓地扩大核心而且浪费珍贵
的系统记忆体 (说是这麽说,但在以後犯错而不是之前可能比较好) 

确保您的核心编译正常的最好办法是:了解您所需要使用的特性是什麽,您的系统中哪些硬体需要支援。
在您有几次订核心的经验後,这些过程会变为 “过时?而且不具威胁 ! 

键入下列各项开始进行组态程序: 
  mail:/usr/include# cd /usr/src/linux
mail:/usr/src/linux# make mrproper
mail:/usr/src/linux# make menuconfig
 


(如果您执行 X Window 系统可以键入 ``make xconfig'' 取代 ``make menuconfig''; 参考 第 5 章 有
关如何使 X 运作的细节.) 

要组态您的核心,必须经由种种的设定及选择 (enable) 哪一些是您需要的,并且剔除 (disable)您所不
需要的。您可以选择直接经由核心支援,或是建立依需求可由核心载入或卸下的模组。(如果您编译了一个
事实上需要重新启动系统的功能,像是 SCSI 驱动程式,如果是模组,您需要建立 RAMdisk 映像档或系统
必须重新启动。这是使用 ``mkinitrd'' 这个命令去完成; 这个程序在下面会谈到) 

当进行这些组态设定时, 您可以选择  获得有关核心各个选项的描述 

在您完成对核心的组态设定後,键入下列命令编译您的核心: 
  mail:/usr/src/linux# make dep ; make clean
mail:/usr/src/linux# make bzImage
mail:/usr/src/linux# make modules
 


如果您重新编译和之前相同的核心 (在本例中是 2.0.36-3 ),您或许会想要用下面的指令将现有的模组移
到备份的目录下: 
  mail:/usr/src/linux# mv /lib/modules/2.0.36-3 /lib/modules/2.0.36-3-backup
 


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



上一篇:Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -5.升级   下一篇:Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -7.升级

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章