如何在一个系统中使用 Linux 和 FreeBSD( 三 )



你要给 FreeBSD 的空间中. 这样, 你便可以在稍後删除这个切割, 并把它拿来给

FreeBSD 用 .



在完成 Linux 的安装後, 你必须要重新编译 kernel. 如果你对这不清楚, 可以

参考 The Linux Kernel HOWTO. 你 必须 加入对 UFS 档案系统 的支援, 与对

BSD disklabel (FreeBSD partition tables) 的支援.



UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?] y

BSD disklabel (FreeBSD partition tables) support (CONFIG_BSD_DISKLABEL) [N/y/?]

(NEW) y

安装新的核心并重新开机. 如果你有建构 Linux Swap 切割, 把在/etc/fstab 档

中任何含有 swap 的那几行删去. 确定你有可用的新核心开机片 你便可以开始来

安装 FreeBSD 了.



3.2 安装 FreeBSD

依 FreeBSD 文件中所描述的方式来安装你的 FreeBSD. 如果你有建构 Linux

swap 切割, 把它删除, (你可以使用 FreeBSD 的fdisk 程式.) 注意一下

FreeBSD slice 中 partitions 的顺序. 如果你使用预设的标签编码, 第二个

partition 将是swap 切割. 完成 FreeBSD 的安装, 并使用Linux的开机片 重新

开机进入 Linux.



3.3 在 Linux 中设定 FreeBSD 的 swap 切割

在进入 Linux 後执行 dmesg. 在它的输出你应该会看到类似这样的东西:



Partition check:

hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >

这表示 /dev/hda4 是你的 FreeBSD slice, 而 /dev/hda5, /dev/hda6,

/dev/hda7 和 /dev/hda8 是 FreeBSD 切割. 如果你的 swap 切割是在 slice 中

的第二个切割, 那将会是 /dev/hda6. 你必须把下面的这几行放到你的

/etc/fstab 档中来开启 swap partition 的功能.



/dev/hda6 none swap sw 0 0

FreeBSD 可以用任何型态的切割来当作 swap 切割, 但 Linux 的 swap 切割需要

特别的签名. 这个签名是用 mkswap 来建构的. FreeBSD 使用这个共用的 swap

切割时会对这个签名造成破坏, 所以你必须在每次进入 Linux 的时後执行

mkswap. 要让这个动作自动执行, 你必须找出执行 swapon 的 script 并在开机

时执行. 以 Red Hat 而言, 这是 /etc/rc.d/rc.sysinit. 把下面这一行放到

swapon -a 前:



awk -- "/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }" /etc/fstab

这将会在每次开机时, 在 /etc/fstab 中的任何 swap 切割上执行 mkswap, 除非

你把它取消 (使用 ``#"" 当一行的第一个字元)



在你重新开机进入 Linux 後, 使用 free 来检查 swap 空间的大小. 你也必须重

新开机进入 FreeBSD 来确认一切都如预期的运作. 如果没有, 那你可能使用了错

误的切割来当作 swap 切割. 唯一的解决办法, 便是重新再安装 FreeBSD, 并再

试一次. 经验是好的导师. :-)



4. 使用 LILO 来启动 FreeBSD

你可以非常容易的使用 LILO 来启动 FreeBSD. 如果你要使用 LILO, 不要安装

FreeBSD 的 boot loader (Booteasy). 在你的/etc/lilo.conf 档中加入下列这

几行, 并执行 lilo ( FreeBSD slice 是在 /dev/hda4):



other=/dev/hda4

table=/dev/hda

label=FreeBSD

如果你把 FreeBSD 安装在第二颗 SCSI 硬碟中, 使用类似这样的设定(FreeBSD

slice 在 /dev/sdb2):



other=/dev/sdb2

table=/dev/sdb

loader=/boot/chain.b

label=FreeBSD

5. 架构档案系统

5.1 在 Linux 中架构 UFS 档案系统

不幸的, Linux 核心对 UFS 的支援有问题. 当你试著去架构 UFS 档案系统时,

只会得到一些错误讯息(档案系统事实上已经被架上去了, 但你却不能读到任何东

西). 所幸 Linux 2.0.xx 核心 (xx<30) 有一个新 (ALPHA) 版本的 UFS 档案系

统支援, 在 [7]SunSite. 这被称为 U2FS, 而目前的版本是

推荐阅读