在 FreeBSD 可能安装到目标系统上之前, 需要先构建一个最小化的从磁盘启动的 FreeBSD 操作系统映像文件。 此方法中新系统必须能够从网络访问, 并且安装的其他过程能够在没有远程访问到系统控制台的情况下完成。
mfsBSD 设置工具能够被用来构建一个微小的 FreeBSD 映像。如 mfsBSD 名字的含义 (“mfs” 的意思是 “memory file system” 内存文件系统), 最后的映像全部从随机存储器运行。多亏了这个特性, 磁盘的操作将不会有任何限制,因此它能够被用来安装一个完整的 FreeBSD 操作系统。 mfsBSD 的主页在 http://people.freebsd.org/~mm/mfsbsd/, 包含了指向最新释出的设置工具。
请注意关于 mfsBSD 内幕以及它所有的适用都超出了本文的内容, 感兴趣的读者应该去查阅 mfs 的原始文档得到更多详细内容。
下载并解压出最新的 mfsBSD 版本,并改变自己的当前工作目录到存在 mfsBSD 脚本文件的目录:
# fetch http://people.freebsd.org/~mm/mfsbsd/mfsbsd-latest.tar.gz # tar xvzf mfsbsd-1.0-beta1.tar.gz # cd mfsbsd-1.0-beta1/
引导 mfsBSD 之前, 必须设置一些重要的配置选项。 最重要的是我们必须有正确地,自然地,网络配置。 最适合的方法配置网络选项取决于我们是否事先知道我们会用到的网络接口, 而且网络接口驱动程序应被系统为我们的硬件载入。 我们将看到 mfsBSD 如何能够在任一种情况下被配置。
另外一件重要的事情是设置 root 的密码。 这将通过编辑 conf/rootpw.conf 文件来完成。 请记住该文件将把你的密码保存在简单的文本中, 所以在此我们不推荐你使用真实的密码。然而, 这只是一个临时使用一次的密码,你可以在随后安装好的系统中更改它。
如果我们安装好的网卡是未知类型的, 我们可以使用 mfsBSD 的自动探测功能。 mfsBSD 启动脚本能够探测到正确的驱动来使用, 基于网络接口的 MAC 地址,我们假设在 conf/interfaces.conf 文件中设置如下选项:
initconf_interfaces="ext1" initconf_mac_ext1="00:00:00:00:00:00" initconf_ip_ext1="192.168.0.2" initconf_netmask_ext1="255.255.255.0"
别忘了添加 defaultrouter 信息到 conf/rc.conf 文件中:
defaultrouter="192.168.0.1"
当网络接口的驱动是已知类型的,使用 conf/rc.conf 文件添加联网选项会更加方便。 该文件的语法跟 FreeBSD 中标准的 rc.conf(5) 文件的语法相同。
例如,当你知道被使用的将是一个 re(4) 网络接口设备, 你可以在 conf/rc.conf 文件中设置如下选项:
defaultrouter="192.168.0.1" ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"
构建一个 mfsBSD 映像文件的过程是非常简单明了的。
第一步是挂载 FreeBSD 的安装 CD, 或者挂载安装 ISO 文件到 /cdrom。 因为例子的缘故,在文章中我们将假定你下载的是 FreeBSD 7.0-RELEASE ISO 文件。使用 mdconfig(8) 实用程序挂载 ISO 映像文件到 /cdrom 目录非常简单:
# mdconfig -a -t vnode -u 10 -f 7.0-RELEASE-amd64-disc1.iso # mount_cd9660 /dev/md10 /cdrom
紧接着,构建可启动的 mfsBSD 映像:
# make BASE=/cdrom/7.0-RELEASE
注意: 上面的 make 命令必须在 mfsBSD 目录树的最高一层运行,也就是: ~/mfsbsd-1.0-beta1/。
现在 mfsBSD 映像已经准备好了, 必须把它上传到远程的一个正在运行的急救系统上或者一个预安装了 Linux® 发行版的系统上。最适合做这个工作的工具是 scp:
# scp disk.img [email protected]:.
想要正确的引导 mfsBSD 映像, 必须把它安放在机器的第一块(可启动)设备上。 这可能会和使用的例子我们假定的一样,第一块可启动磁盘设备是 sda:
# dd if=/root/disk.img of=/dev/sda bs=1m
如果一切正常,该映像现在应该存在于第一块设备的 MBR(主引导区)而机器也应该能够被启动了。 使用工具 ping(8) 来查看机器是否被正确启动。 一旦它回复在线状态,就应该能够使用 root 用户和配置好的密码通过 ssh(1) 来访问它了。
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<[email protected]>.
关于本文档的问题请发信联系 <[email protected]>.