引用:3. 设定核心的编译设定 (Makefile)
3.1 如何编辑核心的 Makefile
3.2 核心的内容与模块设定:
a. CPU 的类型选择: 双 CPU 的选择项目, 高内存支持
b. 电源管理: CPU 自动降频功能选项
c. PCI 总线与 PCI Express 支持:
d. 核心的网络功能: IPv4, IPv6, 防火墙功能, 特殊网络功能
e. 硬件驱动程序: 主机 IDE 芯片选择, SCSI 支持, SATA 支持, RAID 与 LVM 支持,
网络卡支持, 拨接必须之 PPP, AGP 显示卡芯片组, 显示卡芯片组, USB 芯片组
f. 档案系统(filesystem): EXT2/EXT3, Quota, MSDOS/NTFS, NFS/Samba...
设定核心的编译设定 (Makefile)
就如同我们在原始码与 tarball 的章节当中提到的, 由于各个主机硬件都不相同,所以当然需要针对我们的主机环境来选择可以编译的项目啦!那就是 Makefile 的编辑。但是核心的资料实在多到不行~所以,核心有提供不少的工具来让我们简单的进行参数的设定喔!
如何编辑核心的 Makefile
在这一章当中,鸟哥假设你是以
http://www.kernel.org 这个核心官方网站下载最新的核心版本来编译的, 鸟哥下载的是 2.6.14-2 版,下载的完整网址在:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.2.tar.bz2
如果你是以 FC4 系统预设的核心原始码来重新编译, 那么请自行安装 kernel-devel 这个套件,以及前往 /usr/src/kernels/ 目录下, 找到核心原始码;如果您之前已经以下载的核心档案编译过核心, 那么请依序下载各 patch 档案,然后请自行参考 patch 的用法以及找到相关的路径吧!反正,这一章当中,我假设您与我一样, 使用的是最新版的核心就是了。
假设你下载之后将整个档案放置到 /root 内,那么首先请解压缩吧!
[root@linux ~]# cd /usr/src
[root@linux src]# tar -jxvf /root/linux-2.6.14.2.tar.bz2
# 这个时候就会产生一个 /usr/src/linux-2.6.14.2 的目录,该目录就是 source code。
# 不过,这个目录下有个 README 的档案务必参考,此外,
# 还有个 Documentation 的目录,也可以仔细的看一看喔!
[root@linux src]# cd linux-2.6.14.2
[root@linux linux-2.6.14.2]# make mrproper
# 这个过程在删除一些以前留下来的 .o 档案。
特别留意一下,核心的原始码最好不要直接放置到 /usr/src/linux 这个目录, 这是因为该目录是很多的软件读取核心功能的目录,如果你将这个新核心放置到 /usr/src/linux 下时, 可能会让某些软件读到错误的核心档案。因此,您才可能看到目前的核心原始码都放到 /usr/src/kernels/ 目录下 (FC4 的预设放置目录)。 所以,我们新的核心主要建议您还是放置到 /usr/src/ 目录下, 但是目录名称保持 linux-2.6.14.2 即可,不必更名为 linux ?!这点重要!
另外,在进行核心的参数设定之前,务必要执行『 make mrproper 』这个项目, 还记得原始码的编译过程吧?编译过程会有 *.o 的目标档案对吧! 那这些 *.o 必须要先删除啊!否则可能会产生旧的资料啊!这个要注意。
另外,其实我们也知道,整个原始码的编译过程当中,那个 Makefile 占有举足轻重的地位的! 这是因为我们的 make 取用的参数资料都是记录在 Makefile 档案当中啊! 所以?,你必须要确定你的系统已经安装了 make, gcc 等等的编译套件, 否则是无法进行编译的。此外,核心的 Makefile 没有办法像一些软件一样, 简单的使用 ./configure 就能够自动的侦测主机。这是因为每个人对于核心的要求都不一样嘛! 好了,那么如何建立 Makefile 啊?难道要手动去编辑??当然不是啦! 我们可以透过核心提供的功能,就是那个 make menuconfig 来达成喔!
make menuconfig:
利用类似选单模式的方式来进行核心参数的挑选,好处是,他是纯文字模式的! 不需要激活 X Window ,还可以远程登入进行核心参数的挑选!真方便!
make xconfig:
利用 X Window 的功能来进行挑选,是图形接口的,很华丽~不过,当然就比较耗系统资源。 如果你的服务器没有安装 X Window ,那就别提了!
make gconfig:
利用 GDK 函式库的图形接口来选择,也是需要 X Window 的支持才行!
还有一些早期的编译流程,不过不好用,所以鸟哥就不介绍了。我这里推荐您使用 make menuconfig 来进行核心参数的挑选。这是因为很多的服务器本来就可能没有 X Window , 加上 make menuconfig 也可以作类似图形化接口的选单模式,可以随时作参数的选择, 方便又好用! ^_^。只要在 /usr/src/linux-2.6.14.2 目录下,输入『make menuconfig』 就可以出现如下的画面喔!
看到上面的图是之后,你会发现主要分为两大画面,一个是大框框内的反白光柱,另一个则是底下的小框框, 里面有 select, exit 与 help 三个选项的内容。这几个组件的用法如下:
最底下的
balini 于 2009-07-22 15:04:47发表:
学习了
lz307 于 2006-11-28 10:25:42发表:
好文 谢谢:ha3nd
kt69608 于 2006-11-27 21:39:17发表:
好