来源:自学PHP网 时间:2015-04-17 18:33 作者: 阅读:次
[导读] 9 配置FreeBSD 内核9.1 大纲9.2 为什么要构建一个定制的内核?9.3 建立并安装一个定制的内核9.4 配置文件9.5 建立设备节点9.6 出现问题如何解决----------------------------------------------------------...
9.1 大纲 9.2 为什么要构建一个定制的内核? 9.3 建立并安装一个定制的内核 9.4 配置文件 9.5 建立设备节点 9.6 出现问题如何解决 ---------------------------------------------------------------------- Chapter 9 配置FreeBSD 内核 由Jake Hamby最初投稿,由Jim Mock更新 9.1 大纲 内核是FreeBSD系统的核心。它用来进行内存管理,安全控制,网络,磁盘访问等等。而有 * 为什么需要建构一个定制的内核. * 怎么样写一个内核配置文件,或修改一现有的配置文件. * 怎么样使用内核配置文件创造并构建一新内核. * 怎么样安装一个新内核. * 在需要的情况下,怎么样在/dev 中创建设备文件. * 出问题后,如何解决所出现的问题. ---------------------------------------------------------------------- 9.2 为什么要构建一个定制的内核? 以前,freebsd的内核是一个宏内核。这意味着,内核是一个支持固定数量设备的大 如今,freebsd内核正快速向一模块化方向迁移;也就是说核由模块组成,内核功能 尽管如此,仍然有必要做一些静态的内核编译。因为在某些情况下,功能性相互交叉, 构建一个定制的内核几乎是每一个UNIX 用户都该有的重要能力之一。这样做虽然会 * 较少的内存使用量。一个定制的内核通常会比GENERIC 内核使用更少的内存。这 * 额外的硬件支持。一个定制的内核允许你为 声卡等不为GENERIC 内核所支持的 ---------------------------------------------------------------------- 9.3 建立并安装一个定制的内核 首先,我们粗略浏览一下构建内核的目录。所有提及的目录都是相对于/usr/src/sys 注意:如果你的系统没有/usr/src/sys 目录,这表明内核源代码就没有被安装。最 # mount /cdrom 接着,切换到arch/conf 目录,拷贝GENERIC 文件,并命名成你所希望的内核的名称。 # cd /usr/src/sys/i386/conf 通常,这个名称是大写的,如果正维护着多台不同硬件的FreeBSD 机器,以你机器的域 技巧:把内核配置文件保存在/usr/src目录下不是一个好的习惯。因为如果定制内核 你该把你的配置文件放在别处,然后在i386中建个符号链接指向该配置文件; 例如: # cd /usr/src/sys/i386/conf 注意:必须要以root身份执行以上还有以下的命令,否则会出现权限不够的错误。 现在,用你喜欢的文本编辑器编辑MYKERNEL 。如果你是初学者,那唯一能用的编辑器 如果你定制Sunos 或其它BSD 系统内核的经验,那么这个文件中的很多内容你可能非常 注意: 在执行任何更新之前,在要用最新发布的源代码来同步你的源代码树时,确信 现在该开始编译内核代码了。有两种方法实现内核的编译,使用哪一种方法依赖于你重建 * 如果仅安装了内核源代码,那么时候使用方法1. * 如果你使用的FreeBSD 是4.0 之前的版本,并且没有使用make world procedure升级 * 如果编译内核,而没有升级源代码(多半是仅仅为增加一个新的特性,如IPFIREWALL) * 如果你正重建的内核是make world过程的一部分,那么使用方法2。 方法1:使用传统方法构建内核 1. 运行config来产生内核代码。 # /usr/sbin/config MYKERNEL 2. 进入构建目录。 它在运行上述命令后产生。 # cd ../compile/MYKERNEL 对5。0之前版本的freebsd,使用以下命令: # cd ../../compile/MYKERNEL 3. 编译内核。 # make depend 4. 安装新内核 # make install 方法2. 使用新近的方法构建内核。 1. 进入 /usr/src目录. # cd /usr/src 2. 编译内核. # make buildkernel KERNCONF=MYKERNEL 3. 安装新内核 # make installkernel KERNCONF=MYKERNEL 注意: 在freebsd4。2及之前版本里,需要用KERNEL=. 4.2-STABLE代替KERNCONF=; 如果你还没有通过任何方法升级你的源代码树(没有运行CVSup, CTM, 没有使用anoncvs),
注意:从freebsd5。0起,内核和它们的模块一起被安装在 /boot/kernel,旧内核被 注意:如果加入了任何新的设备(如声卡),并且你使用的是4.x及之前的版本,你可能 ---------------------------------------------------------------------- 9.4 配置文件 内核设置的格式是很简单的,每一行包含了一个关键词(keyword) 与一个或多个参数, 注意:在5。x及其以后的版本里,LINT文件将不复存在。在NOTES文件中有和体系结构相关 下面是一个带有很多额外注释的GENERIC |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com