页面

2011年9月22日

搭建Debian的网络引导安装环境(PXE+TFTP)

前言

因为最近要为家里一台没有光驱、没有任何操作系统(新硬盘)、不支持USB启动的机器上安装Debian,还好这破主板的集成网卡支持PXE启动,于是便准备用PXE+TFTP来引导安装。维基百科上的TFTPPXE解析。

注意:要实现TFTP,需要网内必须有一台能工作的DHCP服务器,而且该DHCP服务器必须支持TFTP协议。


TFTP

我是使用我家里的Home Server里的Dnsmasq来实现的,可以通过运行 dnsmasq -v 命令来查看你的Dnsmasq是不是支持TFTP,留意下图红色方框部分。(话说Dnsmasq真是个好东东,更多的Dnsmasq使用方法可以看看我的另一篇文章《我的Home Server(第二部分)》)

确认支持TFTP后,先新建TFTP的配置文件并填写下面的内容:

# vi /etc/dnsmasq.d/tftp.conf
enable-tftp
tftp-root=/opt/tftpboot
dhcp-boot=pxelinux.0,boothost,10.0.0.1

解析一下 tftp.conf 里的一些设置:

  • enable-tftp
    打开Dnsmasq内置的TFTP支持
  • tftp-root=/opt/tftpboot
    设置TFTP文件的存放位置
  • dhcp-boot=pxelinux.0,boothost,10.0.0.1
    设置启动文件,格式为 syslinux启动文件名,,tftp服务器IP地址

然后从自己喜欢的Debian源里下载 netboot.tar.gz 文件(例如这个地址),把里面的所有文件解压到上面设置的TFTP存放位置里,例如本例子是:

# tar xzvf netboot.tar.gz -C /opt/tftpboot

文件都准备完成了,现在是时候启动Dnsmasq了

# /etc/init.d/dnsmasq start

至此,TFTP服务器准备完成。不过有一点必须注意:如果你是自己写的Dnsmasq启动脚本,必须确保启动Dnsmasq的用户对TFTP的文件有读权限。


PXE引导安装Debian

把需要安装Debian的机器接上网线,确保网络没问题后,在机器的BIOS里设置由网络启动,等待加载后,你将会看到下面的安装界面了,接着按照向导安装即可。

注意:在一些奇怪的主板上,可能需要用到安装向导里的 Advanced Options > Expert install 来安装,例如我这块破主板,不然会卡在上图的界面没有响应。


全文完

没有评论:

发表评论