可以通过查看 Documentation/Changes 来查看构建内核所需的工具版本
构建内核所需工具: 编译器、链接器 和 make工具
编译器: linux内核主要由C语言来编写,有几处也是使用了少量的汇编语言。要构建内核必须是哟哦你跟gcc。 gcc的安装和版本,一般我们使用的linux系统,都已经安装了gcc包,只要不是太过旧的话,gcc版本就没问题,因此gcc一般不需要再安装。 http://gcc.gnu.org 用:$ gcc --version 来查看版本号
链接器: gcc并不能自己完成所有的编译,它需要binutils来完成源文件的汇编和链接。binutils通常还包含其他的一些实用的工具,它们能以很多更有用的方式操作目标文件,如查看库(library)的内容。 http://www.gnu.org/software/binutils 用:$ ld -v 来查看版本号
make: make是一个编译管理工具,它能遍历内核源码树以确定需要进行编译的文件,然后调用编译器和其他构建内核所需的工具完成内核的构建工作。 http://www.gnu.org/software/make 用:$ make --version 来查看版本号
使用内核所需的工具
当升级我们使用的内核后,我们需要同时升级系统中的一些软件工具,以使内核能够正常工作:
util-linux
util-linux软件包是一个小工具的集合,它能完成各种各样的任务。其中大多数的工具用来控制磁盘分区的创建和挂载,并操纵系统的硬件时钟。 http://www.kernel.org/pub/linux/utils/util-linux 用:$ fdformat --version 来查看版本号
module-init-tools
如果你需要使用Linux内核模块,module-init-tools是必须的。内核模块是一个可以在内核运行时添加或删除的可加载代码块。2.6版的内核模块加载过程经历了根本性的变化。模块链接器(该代码能够解析所有符号,并判断如何在内存中整合模块)现在被整合进了内核中,这使得用户空间工具变得相当小,老的发行版中有一个名为modutils的软件包,它不能配合2.6内核正常工作。我们需要使用module-init-tools辅助2.6版本的内核正确处理模块。 http://www.kernel.org/pub/linux/utils/kernel/module-init-tools
用:$ depmod -V 来查看版本号
文件系统相关工具
针对具体的文件系统,需要多种不同的工具来对磁盘分区进行操作。util-linux软件包中包含其中的一些工具,但是一些更流行的文件系统有单独的软件包,其中包含操作这些文件系统的必要程序。
ext2/ext3/ext4
ext3和实验性的ext4文件系统都是ext2的升级,他们都可以被同样的工具管理。要使用这些文件系统中的任何一个,都必须安装e2fsprogs软件包 http://e2fsprogs.sourceforge.net 用 $ tune2fs 查看系统中e2fsprogs的版本
JFS
要使用IBM的JFS文件系统,你必须安装jfsutils软件包。 http://jfs.sourceforge.net $ fsck.jfs -V
ReiserFS
要使用ReiserFS文件系统,必须安装reiserfsprogs软件包。 http://www.namesys.com/download.html $ reiserfsck -V
XFS
要使用XFS文件系统,必须安装xfsprogs软件包。 http://oss.sgi.com/projects/xfs $ xfs_db -V
配额
要使用内核提供的配额功能,必须安装quota-tools软件包(或者quota)。这个软件包中包含能够让你设定用户配额、统计不同用户配额使用额度的程序,并能在用户快要使用尽其可用文件系统配额时提供警告。 http://sourceforge.net/projects/linuxquota $ quota -V
NFS
要使用NFS文件系统,需要安装nfs-utils软件包(或者nfs-common)。这个软件包包含的程序能让你以客户端的形式挂载NFS分区,或运行NFS服务。 http://nfs.sf.net
用 $ showmount --version 查看NFS的版本
其它工具
还有一些其它的重要程序,它们和内核版本关系紧密。通常,这些程序对于内核的正常工作不是必须的,但是它们能够访问不同类型的硬件和函数。
Udev
udev是一个能够让linux在/dev目录下提供固定设备命名系统(persistent device-naming system)的程序。它也能提供动态的/dev目录,就像老的devfs文件系统(现在已经被移除了)一样。几乎所有的linux发行版都使用udev来管理/dev目录,因此如果没有它,计算机将无法正常启动。
不幸的是udev依赖于/sys目录的结构,这个结构随着内核版本的变化而不断变化。已知有一些变化会破坏vdev,使计算机无法正常启动。如果安装的是为你的内核推荐的最新版本的ndev,但不能正常工作,我们可以通过位于 linux-hotplug-devel@lists.sourceforge.net的邮件列表联系vdev的开发者。
所以一般情况下,我们使用发行版自带的udev就可以了,一面出错。 http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html $ udevinfo -V
进程管理工具
procps软件包包含常用工具ps和top,以及许多其它用于管理和监视进程的便利工具。 http://procps.sourceforge.net $ ps --version
PCMCIA工具
要在Linux下正常使用PCMCIA设备,必须使用一个运行在用户空间的辅助程序来配置设备。对于老版本的内核,这个程序叫 pcmcia-cs,但现在已经被一个叫做pcmciautils的简单系统所取代。如果想使用PCMCIA设备,就必须安装这个软件包以使它们正常工作。 ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia $ pccardctl -V