openwrt 配置pxe启动环境,自动检测uefi和bios启动

openwrt可以作为pxe服务器。但本文是tftp 和dhcp分开。openwrt即做dhcp和tftp不在本文探讨范围内。新手可能看不懂。

首先ssh进入openwrt,只需要编辑/etc/dnsmasq.conf ,在末尾添加:

dhcp-boot=undionly.kpxe,,10.13.14.249                    //默认启动undionly.kpxe文件,tftp地址为10.13.14.249
dhcp-match=set:efi-x86_64,option:client-arch,7           //检测是否是uefi环境。
dhcp-boot=tag:efi-x86_64,ipxe.efi,,10.13.14.249          //如果是uefi,启动ipxe.efi,tftp地址为10.13.14.249

注意,对于bios启动来说,可以启动其他文件,例如pxelinux.0等等。直接在上面第一行中修改即可。

但是对于EFI环境,pxe需要加载NBP文件,随后再加载ipxe脚本。

openwrt的dnsmasp.conf,只能设置NBP文件,不能设置加载NBP文件之后的引导文件(理论上可以,但是对dnsmasp理解不深入,不会设置)。所以需要进行编译ipxe.efi文件,直接把需要加载的ipxe脚本编译进ipxe.efi。

如下面命令,编译ipxe.efi的时候,指定uefi.ipxe脚本。

make bin-x86_64-efi/ipxe.efi EMBED=uefi.ipxe

 

版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/%e8%b7%af%e7%94%b1/1452.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录