1.为什么要编译linux 内核
众所周知,linux是开放源码的操作系统,开放源码软件带给我们这计算机水平相对落后的人群的最大好处,就是可以快速学习世界高水平的程序(体系结构及编程方法等等),从而快速提高自身水平.然而这本身,也使多数开放源码软件在编码易用性.针对性方面比不上microsoft等专业软件公司的产品.使用开放源码软件,多多少少都一些不太舒服的感觉.这一点想必用过linux较早期版本的朋友都有同感.有时候还不仅是不舒服,由于软件开发者或版本的不同,我们无法保证所有的软件都能够简单地在不同的机器间移植,对于某些大型软件(如:oracle 8.0.5)尤其如此.许多情况下,系统状态,尤其是内核状态,对程序的安装使用与性能有至关重要的影响与制约作用.从另外的角度来讲,我们也可以为自己的计算机量身定制内核,这样就不会出现windows 98那样的大垃圾箱了. 【程序编程相关:openssl之BIO系列之8---读写】 【推荐阅读:关于openssl应用的对话】 【扩展信息:openssl之:BIO系列之7---B】 2.了解linux 要编译linux的内核,首先要对它有个大概的印象.linux是unix的仿制品,它支持多任务.虚拟存储器,多终端,虚拟文件系统等特性.它最低可以运行在386/486的个人计算机上,其他一些体系结构的机器,如:sun sparc,m68000,dec alpha,powerpc上也逐渐有了适用的linux. 3.编译内核的准备工作 1)了解现有内核的版本号. 这主要是为了确定一些机器的基本信息,不一定非这么做不可.可以用如下的命令行: $ uname -a linux lark 2.2.15 #2 tue dec 26 10:55:20 cst 2000 i686 2)下载最新版本的linux内核.目前国内教育网的ftp站点这方面的内容(包括压缩的内核.补丁.编译器等)都比较丰富,更新也较快,如:http://ftp.xjtu.edu.cn/ftp/pub/linux/kernel/,ftp://166.111.136.3/pub/linux/kernel,2.2.x版本是比较稳定的,推荐使用. 3)把打包的内核解开 压缩的内核.补丁与解开的源代码总共要占70m左右的硬盘空间;用root登录,解开的源代码应该在/usr/src/linux2.2.15下面: #tar zxvf linux-2.2.15.tar.gz 或者 #gzip t linux-2.2.15.tar.gz #tar x linux-2.2.15.tar 如果嫌命令行太麻烦的话,也可以在某台windows的机器上用winzip之类的软件解开,再用ftp或mount等方式让linux可以访问. 4)在系统中安装gcc-2.7.2或更新的c编译包 5)如果没有把握,就把原来的内核(在/boot下)在别的地方重新备份一个.别忘了同时备份模块(/lib/modules/2.x.x) 4.内核编辑 为了使内核符合自己系统与应用程序的实际需要,一般都要对其进行某些编辑工作,主要是修改某些头文件中的若干参数.比方说,在安装oracle 8.0.5时,为了使oracle能够利用的内存空间与实际的物理内存容量相符,以提高性能,要修改/usr/src/linux/include/asm下的shmparam.h文件中的一些内存参数. 5.内核配置 ... 下一页