首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>内核技术>正文

定制Linux内核 充分发挥系统的潜能

http://www.oklinux.cn  2007-04-19  来源:           会员收藏  游客收藏  【 】 

众多的Linux用户在经历了对Linux由好奇到熟悉的过程之后,是否希望按照自己机器的实际配置对Linux进行定制,从而获得最佳的系统性能呢?也许有用户会认为在自己使用Linux的过程中没有碰到到任何问题,Linux确实象人们所宣传的那样“永远不会崩溃”,因此完全没有必要冒着风险对系统内核进行的改动。其实,对Linux系统内核进行定制和修改并不向很多人想象中的那么复杂。如果用户能够根据自己的实际情况对Linux系统内核进行合理的修改,可以有效的简化Linux内核,去除不需要的组件,从而提供更快的系统启动速度,释放更多的内存资源。

  下面我们对Linux系统内核做一下简单介绍。

  所谓系统内核实际上是系统设计人员编写的控制系统的各个组件,在不同程序之间分配系统资源,同时协调系统与硬件和外设之间数据传递的系统核心程序代码。与Windows系统的内核不同,Linux 系统的内核是可配置的,用户可以根据自己的实际需要,在对系统内核进行定制。例如,用户可以针对自己机器 CPU的具体型号对系统内核进行优化。

  尽管不同厂商在推出其各自的Linux产品之前,都已经针对某些具体的硬件设备或网络协议对系统内核进行了设置,但是用户还是可以针对自己所实际使用的机器对Linux系统内核进行进一步的修改,从而将Linux系统的性能提升到新的高度。 本文将主要结合目前较为流行同时也是较为成熟的Red Hat Linux版本对系统内核的定制进行详细的介绍。使用其它厂商推出的Linux产品的用户也可以参照本文的介绍,对Linux内核进行定制。

  准备工作

  尽管重新编译Linux系统内核的操作大多数可以自动完成而且也并不复杂,但是一旦出现错误,将可能导致Linux系统无法正常启动。因此,为了预先防范可能出现的任何问题,用户一定要在对Linux系统内核进行任何的改动之前,制作一张Linux系统启动盘(注:用户在安装Linux系统的过程中可能已经被要求制作了系统启动盘,如果用户没有现成的系统启动盘,可以按照本文随后的介绍重新制作一张),同时还应当将一些重要的数据进行及时的备份。下面,我们就来看一下如何实现Linux系统内核的定制。

  用户需要以管理员root帐号登录Linux系统。因为本文的所有命令都是通过命令方式实现,所以用户最好选择以命令方式登录。如果用户机器上的Linux系统默认登录到图形方式的话,可以使用图形环境下的终端命令窗口(单击 GNOME桌面任务条中以计算机图案显示的按钮)。

  制作启动盘

  一般在Linux系统的安装过程中,安装程序都会要求用户制作一张Linux系统启动盘,这样当Linux系统出现严重错误而无法正常启动时,用户就可以使用启动盘重新启动Linux系统。如果用户没有任何现成的启动盘,可以按照如下所述方法自己动手制作。

  假设用户使用的是Red Hat 推出的Linux产品,首先在命令模式或命令终端窗口下输入“more /etc/lilo.conf”命令,然后回车。该命令将会分屏显示Linux加载程序,即Linux Loader(简称LILO)的配置文件。用户在文件中找到如下条目“image=/boot/vmlinuz-2.2.12-20”。该项指出的路径正是用户每次启动Linux系统时首先被装载的Linux系统内核的位置。其中“vmlinuz-”项后的数字代表用户目前所使用的Linux系统内核的版本,实际显示值视用户的具体情况可能会有所不同。记下该数字之后,输入“q”返回到命令方式。

  随后用户输入 “mkbootdisk –verbose –device /dev/fd0 2.212-20 ”命令,其中的Linux系统内核版本号以用户的实际版本数字为准。回车之后,Linux将会要求用户插入一张软盘,然后自动为我们制作一张系统启动盘。设置系统内核

  现在,我们开始对Linux系统内核进行定制。首先,用户输入命令“cd /usr/src/linux”,将当前的工作目录转换到/usr/src/linux。

  Linux系统为用户提供了两种系统内核的设置接口,分别为menuconfig和xconfig。其中,用户可以在任何命令方式下通过输入命令 “make menuconfig”启动menuconfig,然后使用方向键和Tab键进行选择和修改。对于xconfig,用户只能在X Windows下通过命令“make xconfig”启动。xconfig提供了更加友好的用户界面,用户可以通过鼠标点击选择选择各项菜单和按钮。本文将主要介绍xconfig使用方法,用户可以通过使用menuconfig实现同样的功能。

  用户输入命令“make xconfig”按回车,在一连串文字飞快显示之后,将会弹出xconfig的主窗口。该窗口包含许多按钮选项,点击其中任意一项会弹出对Linux系统内核进行具体设置的设置窗口。例如,用户点击xconfig窗口中的第二项“Processor type and features“之后,就可以在相应的弹出窗口中对用户自己机器处理器进行设置。

  在每一个设置窗口中,用户可以通过选择 “Y”或“N”选项启动或关闭任意功能。此外,用户还可以选择“M”选项,把某些功能作为模块进行编辑。所谓模块并不是系统内核的组成部件,但是在需要时系统内核会连接指定的模块从而共同提供特定的功能。在默认情况下,设置窗口中的许多功能都是作为不同的模块被编辑的。

  如果用户在具体的设置过程中对某一个具体功能的设置不清楚的话,可以点击该功能选项的帮助按钮,启动相应的帮助文本。帮助文本能够提供所有功能选项的详细说明。如果用户发现自己可能选择了错误的选项而希望恢复以前的设置的话,可以选择直接返回主窗口而不保存任何所做的改动。用户在完成了所有需要改动的设置之后,可以点击xconfig主窗口的“Save and Exit“,保存用户设置并退出xconfig。

  编辑系统内核

  用户在按照个人的实际需要完成对系统内核的设置之后,需要对新的系统内核进行编译。

  用户在关闭所有打开的程序之后,在命令方式下输入“make bzImage”命令。该命令会自动完成对新系统内核的编辑,大约需要10到30分钟,具体时间取决于用户机器的性能。

  编译完系统内核之后,返回到命令方式。这时如果出现报错信息,则表示用户对系统内核进行了错误的设置,例如没有启动某一个功能所必须的其它附加功能等。这时用户所能做的只能是从头开始,从新设置系统内核。

  在顺利编译完新的系统内核之后,用户还需要对配置系统内核过程中设定的各种功能模块进行编译和安装。具体为:输入“make modules”命令,然后按回车。该命令将会完成对内核模块的编译。完成编译之后,输入“make modules_install”命令,该命令会自动安装已编译模块。

  收尾工作

  在完成了对新系统内核以及模块的编译之后,我们需要把新的系统内核复制到Linux的启动目录中。用户可以输入以下命令“cp arch/i386/boot/bzImage /boot/vmlinuz-mykernel”。此外,我们还需要对LILO进行相应的修改,以便使LILO在系统启动时能够找到新的系统内核。我们可以使用任何一种Linux系统下的文本编辑工具对LILO配置文件进行修改。这里我们使用pico文本编辑器。输入“pico /etc/lilo.conf”命令,启动pico编辑器,并载入LILO配置文件。找到“image=“项,用“/boot/vmlinuz- mykernel”替代该项的现有值。建议用户记下“image=“项的当前值,这样如果出现任何问题,就可以方便的恢复到安全设置。完成修改之后,按 Ctrl-X,选择“Y”然后回车,保存设置并退出pico编辑器。这样,我们已经完成了定制Linux系统内核的所有工作。重新启动机器再次进入 Linux系统之后,用户将会感受到新的系统内核所带来的新的体验。


上一篇: 内核中的物理内存分配函数kernel api   下一篇: 详细解析 Linux内核的主要配置选项


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
· 内核中的物理内存分配函数kernel api
· 详细解析 Linux内核的主要配置选项
· Linux内核分析方法
· 一次即大功告成 Linux内核升级全过程
· 如何编译Linux的内核
· 内核操作 Linux2.6内核驱动移植参考
· 介绍RedHat AS4内核配置更改再编译
· Linux内核编译完整过程
· 更换Fedora Core 6的内核
· Linux重新编译内核指南
· Linux操作系统内核编码风格
· linux2.6内核编译
· Linux系统内核的同步机制“自旋锁”
· 揭开Linux系统内核调试器的神秘面纱
· Linux内核2.6简介
· Linux系统下解析Elf文件DT_RPATH后门
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·学习园地:Linux系统内核中判断大小的
·系统编译:如何给Make命令来传递参数
·Linux 2.6内核中sysfs文件系统简单概述
·Fedora 8 Linux系统的内核配置注意事项
·升级Linux内核的一般步骤方法
·Linux发行版知识普及:三个版本的CPUID
·编译安装Virtualbox驱动模块
· Linux系统的内核解读入门
·新手学堂 Linux系统的内核解读入门
·Linux系统内核中网络参数的意义及其应
·走向Linux系统高手之路 内核编译过程解
·Linux系统中安装内核的方法详细介绍
  阅读排行
· 深入理解LINUX内核中文版下载地址
·基于S3C44B0微处理器的uClinux内核引导
·Kernel command using Linux system ca
·Linux 2.6内核如何武装Fedora Core 2
·Process priority and control on AIX
·Linux操作系统的内核编译内幕详解
·推荐:Linux用户态与内核态的交互
·通过振动向Linux ThinkPad传输信息
·Linux操作系统源代码详细分析(二)
·Linux系统内核接收以太帧的处理程序
·Linux and symmetric multiprocessing
·主流嵌入式Linux系统下GUI解决方案
·揭秘Linux内核调试器之内幕
·用命令行加挂Linux的文件系统简介
·Linux内核和核心OS组件的测试与分析
网摘收藏: