OpenWrt PXE 网络引导服务器配置(BIOS+UEFI)

为了即将开始的 Linux 入门培训,笔者简单学习了一下 PXE启动服务器的配置,在路由器上面配置之后,大家随时可以网络引导 Ubuntu 之类的发行版,真心很方便啊 :)

一、基础知识

废话少说,看 wiki 去吧

https://en.wikipedia.org/wiki/Preboot_Execution_Environment

二、启动文件准备

这里,我们将使用 ubuntu 14.04 amd64 的iso安装镜像作为示例。另外,请准备好相应的U盘,建议格式为ext3/4

1、拷贝安装文件

2、准备 PXE 引导文件

这里我们使用 syslinux 里的相关组件

然后准备 *.cfg 配置文件

在BIOS和UEFI目录下建立相应目录的软链接

 

三、OpenWrt 环境准备

1、安装 USB 支持软件

安装完毕之后,插上U盘,使用 lsusb 命令查看设备

2、配置U盘自动挂载

先尝试手动挂载

编辑 /etc/config/fstab 文件,在mount 代码块中修改配置

检测能否正常挂载

3、安装并配置 NFS server

说明一下,NFS用来给ubuntu live cd加载系统的,如果使用ubuntu或者debian的最小网络安装镜像里的内核,可以不配置NFS

4、配置 DHCP 以及 TFTP

最简单也是最实用的办法就是 编辑 /etc/dnsmasq.conf 文件:

然后重启dnsmasq服务:

 

如果不需要UEFl+BIOS双启动支持,可以使用Luci 图形操作: 登录Luci web页面,Network --> DHCP and DNS  --> TFTP Settings

然后启用 TFTP server,根目录设置为 /mnt/PXEboot,引导镜像填写 pxelinux.0或者efi启动文件,保存即可,如下图。

openwrt_tftp然后luci会在 /etc/config/dhcp 文件里的 dnsmasq 配置段里自动添加如下几行内容:

另外,官方文档里还在 /etc/config/dhcp 文件里添加了  “config boot linux”的配置,我没有添加这段,也没问题

5、启动测试

最后就剩下实战测试了。不方便重启电脑的,可以使用虚拟机,桥接到物理网卡上面即可。附上截图一张:

pxeboot

6、我的其他配置

除了 ubuntu 14.04 的ISO,还尝试了添加 ubuntu netinstall的镜像。

下面是我的 pxelinux.cfg/default 文件内容:

 

 

参考资料:

https://wiki.openwrt.org/doc/howto/tftp.pxe-server

http://www.syslinux.org/wiki/index.php?title=Install

https://wiki.kubuntu.org/UEFI/SecureBoot-PXE-IPv6

http://fixmynix.com/how-to-setup-an-openwrt-pxe-boot-server/

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注