icevan 发表于 2014-12-13 01:10:00

ipxe嵌入内置菜单调用其他菜单的写法?

英文一窍不通,官网的看的一头雾水。
实验好多次发现:
如果网络环境里还有其他的DHCP服务器。
传统写法
#!ipxe
dhcp
chain http://${next-server}/IPXE/IPXE.LST

这样很大可能next-server会是其他DHCP服务器的地址,造成加载不了外置菜单。
通过启动ipxe.pxe进config查看,${next-server}地址有内容为TFTP的地址,但是直接
加载chain http://${next-server}/IPXE/IPXE.LST服务器上的文件出错,提示network unreachable
执行一次dhcp后就可以加载了,不过${next-server}地址已经变成其他DHCP服务器的地址了。
修改如下
#!ipxe
set next-server ${next-server}
dhcp
chain http://${next-server}/IPXE/IPXE.LST
在虚拟机里测试正常。

现在有2个问题想请教一下。
1.IPXE有2个可以直接引导的文件,undionly.kpxe和ipxe.pxe
   undionly.kpxe可以在网页上编译添加内置菜单,ipxe.pxe这个就不会编译了。
2.通过GRUB4DOS网启转到IPXE,使用IPXE.KRN和菜单文件,这个方法就无效了。
这个能不能解决?

Myptour 发表于 2015-2-6 09:00:59

本帖最后由 Myptour 于 2015-2-6 11:07 编辑

#!ipxe
   ifopen
   dhcp
   initrd http://${next-server}/pe.iso || goto rrr
   boot http://${next-server}/memdisk iso raw
:rrr
   echo -n next-server ...wrong... && sleep 1 && echo -n next-server= && read next-server
   initrd http://${next-server}/pe.iso || goto rrr
   boot http://${next-server}/memdisk iso raw

captain_g 发表于 2015-2-6 09:54:48

菜单开头这样写:
#!ipxe
   isset ${ip} || dhcp
   isset ${next-server} || set next-server w.x.y.z

使用 undionly.kpxe 或 ipxe.pxe 网启,正常情况下应是会自动设定 next-server 的,
set next-server 后面的 w.x.y.z 可以不用加或随便弄一个 IP 地址放在那,比如 H3 用了:192.168.7.100;

如果是 grldr 经 kpxe.krn 转成 IPXE 网启, w.x.y.z 就必须设定成 TFPT 的 IP 了,

原因可能是前面的 isset ${next-server} 无效,后面的 set next-server w.x.y.z 也不对,一直找不到

所以,要么先手动改菜单,要么通过其他方法自动生成带 TFTP 地址的菜单。

如果使用TINY PXE SERVER,界面上的 应视网络情况,选择 勾 或 不勾。

2011littlefat 发表于 2015-3-10 11:55:15

请问楼主:undionly.kpxe可以在网页上编译添加内置菜单,这是如何实现的?
在哪里可以实现此功能?

头痛没有linux环境。。。

zj9018 发表于 2023-3-25 15:38:47

#在这里快速回复#
页: [1]
查看完整版本: ipxe嵌入内置菜单调用其他菜单的写法?