Linux 网管 123 --- 第10章. 升级 Linux 及其他…
2008-02-23 07:18:32来源:互联网 阅读 ()
如果您想要在一个新硬体系统上运作 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 现在,键入下列指令真正地安装新的模组: mail:/usr/src/linux# make modules_install 下一个步骤是将核心到 ``/boot/'' 目录下,并且使用 LILO 更新 boot record ,如此一来新的核 心就会被承认。下面的指令会将现有核心作一个备份,新的核心取代它,然後更新 LILO boot record: mail:/usr/src/linux# cd /boot mail:/boot# cp vmlinuz vmlinuz.OLD mail:/boot# cp /usr/src/linux/arch/i386/boot/bzImage vmlinuz-2.0.36 mail:/boot# /sbin/lilo 最後,您需要编辑 ``/etc/lilo.conf'' 档,并且确定 “image”是指向新的核心。您也应该加入一个项目 指向您的备份核心,也许称作“OldLinux”. 这是一个例档: boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz label=Linux root=/dev/hdb1 read-only image=/boot/vmlinuz.OLD label=OldLinux read-only 藉由此种方法备份您的核心资讯,万一您的新核心无法正常启动(也许因为某设备不被承认,或者一个 daemon 应该启动而未启动),您可以简单地键入 ``OldLinux'' 从原来的核心启动然後检查系统。 注意: 如同前面所提到,如果您已经编译了一个需要以模组方式启动系统的核心,您需要建立一个起始 RAMdisk 映像档以便启动系统。(别忘了将您的核心编译成可支援这样的映像档) 标签: 版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
相关文章
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设 网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源 网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它 服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护 软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash 热门词条
最新资讯
热门关注
热门标签
|