第二章 构建和使用内核的要求

可以通过查看 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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值