|
||||||
|
建立并安装一个定制的核心
首先,让我们快速的浏览一下 kernel build directiry。所有我们提到的目录都在 /usr/src/sys 这个主目录之下,你也可以透过 /sys 这个 link 来存取。在这个目录下,有不少的子目录,其中放置了核心各部分的程式码。/sys/[arch]/conf 你将在这个目录下编辑你的核心设定档,以及 compile 你编译核心的地方。[arch] 可以是 i386、alpha、或者是 pc98(日本 NEC 设计的 PC9801 系统,可算是 IBM PC 的一个分支)。每个特定架构(arch)的目录底下只存放跟该系统架构有关的程式码;而其他目录所存放的程式码则是其他 FreeBSD 可能会移植过去的平台可以共用到的部分。注意一下这个目录的逻辑结构,所有支援的硬体装置驱动程式、档案系统、叁数选项,都放在各自的目录。
Note: 如果你的系统内 没有 /usr/src/sys 这个目录,那表示你没有安装好核心的原始程式码,最简单的安装方式,就是以 root 身分执行 /stand/sysinstall,选择 Configure,选择 Distributions ,选择 src,最后选择 sys 选项。 # cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
依照惯例,核心名称最好全用大写字母。此外,如果你要管理很多部硬体配备不同的机器,在核心名称后加上各个主机名称是个不错的做法。
Note: 在做接下来的动作,请确定你是以 root 身分执行,不然你将会看到 permission denied 这个错误讯息。 如果你曾经在 SunOS 或是其他 BSD 作业系统下建立过核心,你对这个档案的不少内容会有种似曾相似的感觉。如果你才刚从其他作业系统像是 DOS,转移过来,你可能会被 GENERIC 的内容给吓到,所以请慢慢并仔细地阅读设定档。 Note: 如果你曾经与 FreeBSD project 同步最新的原始码 sync your source-tree,记得先看看 /usr/src/UPDATING 这个档的内容,再做任何更新动的动作。这个档案里写了所有关於升级 FreeBSD 的要点。 /usr/src/UPDATING 必定符合你的 FreeBSD 原始码的版本,也就是说里头的讯息会比此文章来的正确。 Note: 如果你想把你的旧版核心更新成新版的,你最好从你抓取核心原始程式码 的地方顺便抓取新版的 config(8) ,相关的原始程式码会被放置在 /usr/src/usr.sbin,所以在做接下来的动作前,你必须先下载这些程式码,编译,然后安装到你的系统里头。 # config -r MYKERNEL
# cd ../../compile/MYKERNEL
# make depend
# make
# make install
config 的叁数 "-r" 表示清除前一次所 config 的的档案! 如果你刚升级到新的 4.X 或更高的版本(如从 3.X 升级到 4.X,甚至从旧 4-STABLE 升级到较新的 4-STABLE),确定你看过 built the world,并且执行以下指令: # cd /usr/src
# make buildkernel KERNCONF=MYKERNEL
# make installkernel KERNCONF=MYKERNEL
Note: 如果你用的是 FreeBSD 4.2 与之前的版本,你必须把 KERCONF= 换成 KERNEL=。2001 年 二月二号之后抓取的 4.2-STABLE 则可以认出 KERNCONF= 这叁数。 Warning: 如果你在最近一次编译核心后又更新了原始码,那麽你一定要用 make buildkernel 这指令来编译你的核心,不然系统会使用旧的程式来建立核心,而这可能导致编译失败。如果你更新了原始码,切记不要用 config/make 的步骤来编译核心! Note: 如果你加装了任何新硬体装置(像是音效卡),你可能要到 /dev 目录下增加一些装置节点,这样你才能够使用这些 硬体装置。 |
||||||
|
||||||