通过 PXE 安装 FreeBSD

2009-05-13 15:29:08来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


目标
在已有一台运行
[url=javascript:;]FreeBSD[/url]
的计算机(我们称其为 S)的情况下,使用
[url=javascript:;]PXE[/url]
在一台计算机(我们称其为 D)
[url=javascript:;]安装[/url]
FreeBSD。
硬件需求
S 必须拥有一块 FreeBSD 可以正常使用的网卡。
D 必须可以支持 PXE 引导,并且其网卡要可以在 FreeBSD 里面正常使用。一条用于双机直连的网线。
软件需求
tftpd,已经包含在 FreeBSD 发行版的 base 中。
nfsserver,已经包含在 FreeBSD 中。
isc-dhcp3-server 3.0.5,通过
[url=javascript:;]ports[/url]
安装。
FreeBSD 发行版 DISC1 的ISO镜像(我使用的镜像是 FreeBSD 8-CURRENT 今年一月的快照,8.0-CURRENT-200801-amd64-disc1.iso)。
S 上使用的 FreeBSD 是 7.0-BETA2-i386。
网络设置
假设 S 的 IP 地址为 192.168.0.1,子网掩码为 255.255.255.0。
准备工作
允许 tftpd 运行
默认情况下,inetd 里面的 tftpd 是不会运行的。在 inetd.conf 中找到 tftpd 所对应的一行,去掉行首的#,保存。注意,去除注释的这行应该是使用 udp 而不是 udp6。
配置 nfsserver
echo "/mnt -ro -alldirs" > /etc/exports
安装 isc-dhcp3-server
cd /usr/ports/net/isc-dhcp3-server && make BATCH=yes install
配置 isc-dhcp3-server
编辑 /usr/local/etc/dhcpd.conf
default-lease-time        7200;
max-lease-time        7200;
ddns-update-style        none;
subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.2 192.168.0.254;
        server-identifier        192.168.0.1;
        next-server                192.168.0.1;
        filename                "/pxeboot";
        option        root-path        "/mnt";
}
这里是整个 PXE 安装最重要的部分之一,能否正常进行 PXE 安装关键就在这里。这里面最关键的几个选项是 next-server,filename 和 root-path。
要理解这些选项的作用,首先要理解 PXE 工作的流程。按照 FreeBSD PXE 引导的过程,我们将其分成三个阶段。
第一阶段主要是 D 上 PXE 的 firmware 和 S 上 dhcpd 协商的过程。在这里,要商定 D 的 IP 地址,并且确定下一步 PXE 要加载的
[url=javascript:;]文件[/url]
,及其位置。
第二阶段是 D 加载上一阶段商定好的文件。对于 FreeBSD 来说,主要就是 pxeboot(8),一个 PXE 的 bootloader。
第三阶段是根据 pxeboot(8) 的指示加载 loader(8) 和
[url=javascript:;]kernel[/url]

在这里,我们可以看到 D 要从网络加载两次文件,一次是 pxeboot(8),另外一次是 loader(8) 和 kernel。这两次加载文件的位置就是由上面的三个选项来确定的。下面我们逐一分析这几个语句的作用。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:为 OpenSSH 添加 chroot 功能

下一篇:ZFS快速开始