无忧启动论坛

标题: 刚编译的ipxe,全功能版!支持各种协议。。。12.4更新 [打印本页]

作者: rabbired    时间: 2018-11-28 22:11
标题: 刚编译的ipxe,全功能版!支持各种协议。。。12.4更新
本帖最后由 rabbired 于 2018-12-4 21:43 编辑

12.4更新笔记
修正内置脚本中的获取proxydhcp地址错误。

百度盘下载

12.2更新笔记。
rom-o-matic.eu编译的undionly总感觉有问题,改到本地编译,果然undionly小了很多,顺便改了tftp的blksize为16k,不过感觉没什么用。。。聊胜于无吧。





最近在折腾proxyDHCP,论坛的各个版ipxe都不合用,自己在rom-o-matic.eu编译的,放上来共享~
配置:
内置脚本先dhcp,然后Ctrl B等待2秒,使用http ftp tftp协议搜索dhcp和proxydhcp服务器下/menu.ipxe和/ipxe/menu.ipxe配置文件,找不到继续Ctrl B等待8秒,最后自动重启。

PS:为啥现在undionly编译出来的体积都这么大,和all-drivers的大小都一样了嘛。。。





Desktop.7z.002.7z

456.26 KB, 下载次数: 273, 下载积分: 无忧币 -2

删除最后的.7z后使用

Desktop.7z.001.7z

1 MB, 下载次数: 268, 下载积分: 无忧币 -2

删除最后的.7z后使用


作者: 2010sya    时间: 2018-11-28 23:56
谢谢分享
作者: 心零    时间: 2018-11-29 00:17
上个图哇!
作者: captain_g    时间: 2018-11-29 08:36
本帖最后由 captain_g 于 2018-11-29 08:38 编辑

内置脚本了还要 Ctrl + B 两秒干嘛?只是指定了配置文件路径、名称?

还有楼主是怎么上的 rom-o-matic.eu? 用的什么游览器? 翻墙的吗?
作者: rabbired    时间: 2018-11-29 09:45
captain_g 发表于 2018-11-29 08:36
内置脚本了还要 Ctrl + B 两秒干嘛?只是指定了配置文件路径、名称?

还有楼主是怎么上的 rom-o-matic.e ...

肯定要翻啊。加ctrl+b是为了以防万一。
作者: captain_g    时间: 2018-11-29 10:34
rabbired 发表于 2018-11-29 09:45
肯定要翻啊。加ctrl+b是为了以防万一。

多谢回复!

不翻墙网页只能打开一半,在耐心时间内,根本不会有反应啊。
作者: yigeren    时间: 2018-11-29 10:35
本帖最后由 yigeren 于 2018-11-29 10:39 编辑
rabbired 发表于 2018-11-29 09:45
肯定要翻啊。加ctrl+b是为了以防万一。


建议换个快捷键吧,CTRL+B默认是进入命令行,有点冲突

楼主能帮忙编译个不内置脚本的全命令版本的,谢谢
作者: rabbired    时间: 2018-11-29 11:22
本帖最后由 rabbired 于 2018-11-29 11:23 编辑
yigeren 发表于 2018-11-29 10:35
建议换个快捷键吧,CTRL+B默认是进入命令行,有点冲突

楼主能帮忙编译个不内置脚本的全命令版本的, ...


本来就是进命令行的啊,要不放个CTRL+B干嘛呢。。。我这个跟不内置脚本也没太大区别了吧。只是多了搜索两个文件罢了。
作者: rabbired    时间: 2018-11-29 11:30
我把内置脚本放出来你们一看就明白了,这个版本几乎所有情况都考虑到了,应该说在网启的各种环境下都可以有合适的应用方式。

  1. #!ipxe
  2. :retry
  3. echo trying dhcp...
  4. dhcp || goto retry
  5. prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE command line... && shell ||
  6. chain http://${next-server}/menu.ipxe ||
  7. chain http://${proxydhcp/next-server}/ipxe/menu.ipxe ||
  8. chain ftp://${next-server}/menu.ipxe ||
  9. chain ftp://${proxydhcp/next-server}/ipxe/menu.ipxe ||
  10. chain tftp://${next-server}/menu.ipxe ||
  11. chain tftp://${proxydhcp/next-server}/ipxe/menu.ipxe ||
  12. prompt --key 0x02 --timeout 8000 Press Ctrl-B for the iPXE command line... && shell ||
  13. reboot
复制代码

作者: 假大空    时间: 2018-11-29 14:55
多谢。embed菜单写法学习下楼主
作者: devilma    时间: 2018-11-30 06:17
不错,收藏了!!
作者: yigeren    时间: 2018-11-30 10:35
能不能帮忙翻译一个不内置脚本的?
作者: faly    时间: 2018-11-30 14:39
yigeren 发表于 2018-11-30 10:35
能不能帮忙翻译一个不内置脚本的?

不内置脚本的话,是直接进命令行吗? 我编译的都是内置了脚本的,加载tftp上的菜单
作者: rabbired    时间: 2018-11-30 16:36
faly 发表于 2018-11-30 14:39
不内置脚本的话,是直接进命令行吗? 我编译的都是内置了脚本的,加载tftp上的菜单

是的,不内置脚本,就直接进shell,也就是按Ctrl+B。
作者: rabbired    时间: 2018-11-30 16:37
假大空 发表于 2018-11-29 14:55
多谢。embed菜单写法学习下楼主

互相学习~
作者: rabbired    时间: 2018-12-1 20:21
yigeren 发表于 2018-11-30 10:35
能不能帮忙翻译一个不内置脚本的?

https://pan.baidu.com/s/1-3o5vcO4Vz6PKxdD-W8duA

今天正好有空,刚编译的,试试看吧
作者: eastmz    时间: 2018-12-1 20:46
这个没用过,学习下
作者: yigeren    时间: 2018-12-2 11:40
rabbired 发表于 2018-12-1 20:21
https://pan.baidu.com/s/1-3o5vcO4Vz6PKxdD-W8duA

今天正好有空,刚编译的,试试看吧

谢谢,已下载,试用了下发现启动速度比较慢了点,如下图:

ipxe.png (17.88 KB, 下载次数: 238)

ipxe

ipxe

作者: xjw66188    时间: 2018-12-2 11:57
学习学习了!
作者: rabbired    时间: 2018-12-2 12:41
yigeren 发表于 2018-12-2 11:40
谢谢,已下载,试用了下发现启动速度比较慢了点,如下图:

ipxe本来启动就慢,协议多内容多,rom-o-matic.eu编译的undionly感觉是有问题的,它应该还是内嵌了ipxe的驱动,所以就更慢了。不同的网络环境也对启动速度有影响的。
作者: yigeren    时间: 2018-12-2 13:51
rabbired 发表于 2018-12-2 12:41
ipxe本来启动就慢,协议多内容多,rom-o-matic.eu编译的undionly感觉是有问题的,它应该还是内嵌了ipxe的 ...

在这下载的启动比较快点:http://boot.ipxe.org/
发现慢的地方在加载Configurin时会比较慢
作者: yigeren    时间: 2018-12-2 16:58
全命令版本才能弄背景图片,也有关机命令,感谢

ipxe.png (580.48 KB, 下载次数: 286)

ipxe

ipxe

作者: rabbired    时间: 2018-12-3 12:38
yigeren 发表于 2018-12-2 16:58
全命令版本才能弄背景图片,也有关机命令,感谢

不客气,ipxe官方版的内置脚本不知道是什么,应该是跳过搜索配置文件和配置网络,直接进shell的,所以启动速度最快。

你这个启动界面很不错啊,pe是自己做的版本?menu能发来借鉴一下吗?谢谢
作者: yigeren    时间: 2018-12-3 14:19
rabbired 发表于 2018-12-3 12:38
不客气,ipxe官方版的内置脚本不知道是什么,应该是跳过搜索配置文件和配置网络,直接进shell的,所以启 ...

PE都是采用本论坛的,菜单如下:
Tiny PXE Server有点不好,最小化不能缩到右下角任务栏里,Hanewin和tftpd32都可以
#!ipxe
#check platform (pcbios or efi)
#login
#iseq ${username} yigeren || goto reboot                #登录用户名:yigeren
#iseq ${password} wuyou || goto reboot                #登录密码:wuyou
echo Platform: ${platform}
set menu-timeout 20000
dhcp
isset ${next-server} || set next-server 192.168.1.2  #自行指定服务器ip
iseq ${platform} pcbios && set start BIOS_MENU || set start EFI_MENU        #(pcbios && efi)
goto ${start}
:BIOS_MENU
set menu-default win10pe
menu iPXE BIOS Boot Menu        ${ip}
console --x 800 --y 600 --picture http://${next-server}/ipxe.png --left 30 --right 450 --top 30
#item win2003                0.Yigeren Win2003PE
item --key 1 win7pe        1.Yigeren Win7PE
item --key 2 win8pe        2.Yigeren Win8PE
item --key 3 win8x64        3.Yigeren Win8x64PE
item --key 4 win10pe        4.Yigeren Win10x64PE
item --key 5 maxdos        5.MAXDOS9.3PLUS
item --key 6 diskgen        6.DISKGEN
item --key 7 hddreg        7.HDDREG
#item --key 8 pxelinux        8.PXELINUX MENU
item --key h hddboot        H.HDDBOOT
item --key r reboot        R.ReBoot Computer
item --key s poweroff        S.ShutDown

choose --timeout ${menu-timeout} --default ${menu-default} selected
goto ${selected}

:shell
echo Type 'Exit' to get the back to the menu
shell
goto start

:failed
echo Booting failed, dropping to shell
goto shell

:reboot
reboot

:poweroff
poweroff

:hddboot
sanboot --no-describe --drive 0x80

:maxdos
initrd http://${next-server}/img/MAXDOS.IMG
chain http://${next-server}/memdisk || goto failed

:diskgen
initrd http://${next-server}/img/DISKGEN.img
chain http://${next-server}/memdisk || goto failed

:hddreg
initrd http://${next-server}/img/HDDREG.IMG
chain http://${next-server}/memdisk || goto failed

#:pxelinux
#chain http://${next-server}/pxe/pxelinux.0 || goto failed

#:win2003
#kernel http://${next-server}/STARTROM.0
#boot || goto failed

:win7pe
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/bootmgr.exe                bootmgr.exe
initrd http://${next-server}/boot/BCD                        BCD
initrd http://${next-server}/boot/boot.sdi                boot.sdi
initrd http://${next-server}/boot/Win7PE.wim                Win7PE.wim
boot || goto failed

:win8pe
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/bootmg8.exe                bootmgr.exe
initrd http://${next-server}/boot/BC8                               BC8
initrd http://${next-server}/boot/boot.sdi                      boot.sdi
initrd http://${next-server}/boot/Win8PE.wim                Win8PE.wim
boot || goto failed

:win8x64
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/boot864.exe                bootmgr.exe
initrd http://${next-server}/boot/864                        864
initrd http://${next-server}/boot/boot.sdi                boot.sdi
initrd http://${next-server}/boot/Win864PE.wim                Win864PE.wim
boot || goto failed

:win10pe
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/boot164.exe                bootmgr.exe
initrd http://${next-server}/boot/164                        164
initrd http://${next-server}/boot/boot.sdi                boot.sdi
initrd http://${next-server}/boot/Win10x64.wim                Win10x64.wim
boot || goto failed
goto start


:EFI_MENU
set menu-default win10efi
menu iPXE EFI Boot Menu                ${ip}
console --x 800 --y 600 --picture http://${next-server}/ipxe.png --left 30 --right 450 --top 30
item win8efi                1.Yigeren Win8x64PE
item win10efi                2.Yigeren Win10x64PE
item --key r reboot        R.ReBoot Computer
item --key s poweroff        S.ShutDown

choose --timeout ${menu-timeout} --default ${menu-default} selected
goto ${selected}

:win8efi
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/bootx64.efi                                bootx64.efi
initrd http://${next-server}/boot/boot864.exe                                bootmgr.exe
initrd http://${next-server}/efi/microsoft/boot/864                        864
initrd http://${next-server}/efi/microsoft/boot/fonts/chs_boot.ttf        chs_boot.ttf
initrd http://${next-server}/efi/microsoft/boot/fonts/wgl4_boot.ttf        wgl4_boot.ttf
initrd http://${next-server}/boot/boot.sdi                                boot.sdi
initrd http://${next-server}/boot/Win864PE.wim                                Win864PE.wim
boot || goto failed

:win10efi
kernel http://${next-server}/wimboot
initrd http://${next-server}/efi/boot/bootx64.efi                        bootx64.efi
initrd http://${next-server}/boot/boot164.exe                                bootmgr.exe
initrd http://${next-server}/efi/microsoft/boot/BCD                        BCD
initrd http://${next-server}/efi/microsoft/boot/fonts/chs_boot.ttf        chs_boot.ttf
initrd http://${next-server}/efi/microsoft/boot/fonts/wgl4_boot.ttf        wgl4_boot.ttf
initrd http://${next-server}/boot/boot.sdi                                boot.sdi
initrd http://${next-server}/boot/Win10x64.wim                                Win10x64.wim
boot || goto failed
goto start  
作者: rabbired    时间: 2018-12-3 22:00
yigeren 发表于 2018-12-3 14:19
PE都是采用本论坛的,菜单如下:
Tiny PXE Server有点不好,最小化不能缩到右下角任务栏里,Hanewin和tf ...


#iseq ${username} yigeren || goto reboot                #登录用户名:yigeren
#iseq ${password} wuyou || goto reboot                #登录密码:wuyou

这个是你设置的?这么搞没用的,要用http弄个php,ipxe的用户密码设置都是明文,秒破。。。而且,这个用户密码就不是用来做登录验证的,是配合san和iscsi来用的。
作者: yigeren    时间: 2018-12-4 00:02
rabbired 发表于 2018-12-3 22:00
#iseq ${username} yigeren || goto reboot                #登录用户名:yigeren
#iseq ${password} w ...

这个现在没使用,你看我在前面都加了#号的,需要用把#号去掉就行了
你说的这个是用来配合san和iscsi做验证的我不清楚,ipxe脚本命令我也不是很懂
呵,加入这个也就是好玩而已



作者: rabbired    时间: 2018-12-4 22:19
yigeren 发表于 2018-12-4 00:02
这个现在没使用,你看我在前面都加了#号的,需要用把#号去掉就行了
你说的这个是用来配合san和iscsi做验 ...

https://pan.baidu.com/s/1lUh5x4QIau184jXWwVbK8w

新版,改进了启动速度应该能媲美官方版。
作者: yigeren    时间: 2018-12-5 10:38
rabbired 发表于 2018-12-4 22:19
https://pan.baidu.com/s/1lUh5x4QIau184jXWwVbK8w

新版,改进了启动速度应该能媲美官方版。

这个版本直接进入命令行状态,不会加载设置的ipxe脚本菜单文件


ipxe2.png (13.68 KB, 下载次数: 245)

2

2

ipxe.png (29.11 KB, 下载次数: 249)

1

1

作者: yigeren    时间: 2018-12-5 19:26
发现TinyPXEServer的HTTP功能有一点不好,只要输入:http://192.168.1.2所有文件一览无遗

作者: rabbired    时间: 2018-12-5 20:13
yigeren 发表于 2018-12-5 10:38
这个版本直接进入命令行状态,不会加载设置的ipxe脚本菜单文件

是的,内嵌脚本屏蔽了所有加载动作,直接进shell.
作者: rabbired    时间: 2018-12-5 20:15
yigeren 发表于 2018-12-5 19:26
发现TinyPXEServer的HTTP功能有一点不好,只要输入:http://192.168.1.2所有文件一览无遗

http不就是这样的嘛,要安全就用https加个登录验证。
作者: yigeren    时间: 2018-12-5 20:39
本帖最后由 yigeren 于 2018-12-5 20:42 编辑
rabbired 发表于 2018-12-5 20:13
是的,内嵌脚本屏蔽了所有加载动作,直接进shell.


官方的可以加载指定的脚本菜单文件比较方便,上一个版本的就是加载速度慢了一些,这个版本直接进SHELL不方便的
作者: icevan    时间: 2019-4-11 23:17
不会本地编译。
看看这个内置菜单怎么样?
#!ipxe
dhcp
isset ${proxydhcp/next-server} || set pxe-srv ${next-server}
isset ${pxe-srv} || set pxe-srv ${proxydhcp/next-server}
chain http://${pxe-srv}/IPXE/IPXE.LST || shell
作者: zzonwy    时间: 2019-4-13 11:32
谢谢分享
作者: 201287zr    时间: 2019-4-23 17:19
大佬介绍下编译的方法吧,好多参数都不懂
作者: rjoe    时间: 2019-6-16 11:42
请问一下, tftp的blksize在哪里修改16k.
传统pxe修改了blksize的pxelinuxe.0 速度提升很多, 想ipxe也试试
作者: 熄灭的烟    时间: 2019-6-17 21:05
yigeren 发表于 2018-12-2 16:58
全命令版本才能弄背景图片,也有关机命令,感谢

高手,背景图片怎么加的啊?
作者: hanbing0532    时间: 2019-7-10 16:52
有没有大佬给一份详细说明啊
作者: hhh333    时间: 2019-12-30 19:20
想重新编译ROM,但发现rom-o-matic.eu已经不能用了,本地编译要下哪些文件?
作者: 江南一根葱    时间: 2019-12-30 20:02
hhh333 发表于 2019-12-30 19:20
想重新编译ROM,但发现rom-o-matic.eu已经不能用了,本地编译要下哪些文件?

ipxe官网有写的
源码加环境,win10下弄个子系统很方便编译的,现在git也可以actions在线编译,很慌便
作者: a1379388505    时间: 2020-1-27 17:11
yigeren 发表于 2018-11-30 10:35
能不能帮忙翻译一个不内置脚本的?

不带内置脚本的话 你直接去下载官方编译的版本不香吗
http://boot.ipxe.org/
作者: benben_wab    时间: 2020-1-28 21:46
多谢了,回头试试
作者: xinzaixin    时间: 2020-2-3 12:36
多谢分享。。。。。。。。。。。。。。。。
作者: rxcn    时间: 2020-2-27 19:52
终于找到最后一步了。修改成自己的网址,不知道能不能引导呢
作者: yzw92    时间: 2020-2-28 06:14
谢谢分享
作者: anlulibing    时间: 2020-3-11 19:20

谢谢分享
作者: abe520    时间: 2020-3-17 03:35
好人一生平安,伪前排
作者: cbl    时间: 2020-3-17 19:52
学习了
作者: cbl    时间: 2020-3-17 19:52
学习了
作者: 9695    时间: 2020-4-14 23:03
谢谢分享
作者: 2013mqqdg    时间: 2020-4-15 17:18
谢谢分享
作者: chlsh    时间: 2021-4-27 08:38
谢谢分享
作者: lebn    时间: 2021-5-6 00:14
感谢分享
作者: besess    时间: 2023-4-25 08:12
看看约一下
作者: xiawq    时间: 2023-11-30 17:14
感谢,下来试试
作者: xcj138    时间: 2023-12-1 13:14
多谢分享
作者: xiawq    时间: 2023-12-1 22:31
请问这个支持初始化飞腾平台的网卡吗?
作者: xiawq    时间: 2023-12-4 09:13
楼主,可以增加飞腾平台网卡的支持吗?谢谢
作者: AcidBurn    时间: 2023-12-31 01:23
谢谢分享




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3