无忧启动论坛

 找回密码
 注册
搜索

菜鸟WSL环境iPXE编译及网启二三事

查看数: 17972 | 评论数: 50 | 收藏 21
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-4-14 00:21

正文摘要:

本帖最后由 hhh333 于 2021-4-16 06:29 编辑      iPXE网启确实够快,而且在不停更新,不得不每次按自己的意愿编译定制,时间一长又忘记,干脆记下来以免重新捡起时又走弯路。前面都在UOS中 ...

回复

QuadAndroid 发表于 2024-2-20 23:30:37
teasiu 发表于 2021-4-15 22:54
写得很好。
但还是缺少了很多有趣的灵魂。
提示几点:

一直不知道,chain --replace --autofree这里带的2个参数是什么意思。翻译的话,牛头不对马嘴。
无犹启动 发表于 2023-10-22 20:31:03
谢谢分享
giver 发表于 2022-11-28 18:28:05
bjay2008xmy 发表于 2021-6-18 10:25
在编译make bin/ipxe.iso embed=boot.ipxe时出了一个问题
boot.ipxe中的内容是:
  #!ipxe

我也遇到这个问题,解决了吗?
jpzsj 发表于 2022-4-25 01:34:18
江南一根葱 发表于 2021-4-16 08:18
可以参考下我的自动编译
https://github.com/zwj4031/ipxe
直接clone下来本地编译也很方便

大神,用户名和密码是多少,我下载学习看看
bjay2008xmy 发表于 2021-6-18 10:25:20
提示: 作者被禁止或删除 内容自动屏蔽
snaca 发表于 2021-5-27 11:11:23
都是大神啊,感谢分享。
I_want_to_love_ 发表于 2021-5-17 18:28:01
我对各位大佬的敬仰之情犹如滔滔江水  延绵不绝
201287zr 发表于 2021-5-17 15:30:07
终于有大大较为系统的介绍ipxe编译回本置了,先学习下,希望持续更新介绍更多高级玩法。
hhh333 发表于 2021-5-4 14:08:10
前面菜单中已经有iPXE进PXE的菜单项了,实际上就是启动PXE启动器,如pxelinux或grldr;
pxe进iPXE也简单,就是调用相应的iPXE启动器,如下为pxelinux进iPXE的菜单的写法
  1. LABEL bootiPXE
  2.         MENU LABEL [^X] --转iPXE网启
  3.         kernel /BOOT/IPXE.KRN
  4.         append initrd=/BOOT/H3_iPXEM.LST
复制代码
wangruixue 发表于 2021-4-30 16:27:37
已经可以使用PXE引导UEFI的RHEL73安装
已经可以使用IPXE引导UEFI的WINPE
怎么把他们合起来?
就是IPXE中引导PXE.或者PXE中引导IPXE也可以?有大神看看嘛????
熄灭的烟 发表于 2021-4-30 10:05:02
楼主你好,请问“ipxe.lkrn”这个文件如果要内置脚本要怎么编译,比如我要先DHCP获取IP地址,然后链接到网站上读取启动菜单(http://127.0.0.1/menu.ipxe)。望楼主看到回帖能够百忙之中抽出点时间教我们一下。谢谢!
yongzhe 发表于 2021-4-27 11:07:01
咨询一个问题  原配的启动菜单文件  怎么样可以显示UTF8的中文? 谢谢
lusir401 发表于 2021-4-22 10:00:07
交流才会有提高,知识是越论越精呀。
hhh333 发表于 2021-4-21 16:50:30
lusir401 发表于 2021-4-21 16:49
终于在这看到葱大放大招了,还有啥的赶紧抖出来。

抛砖引玉
lusir401 发表于 2021-4-21 16:49:28
终于在这看到葱大放大招了,还有啥的赶紧抖出来。

点评

抛砖引玉  详情 回复 发表于 2021-4-21 16:50
hkkitlee 发表于 2021-4-16 11:26:41
我覺得樓主分享了如何建立「編譯環境」也是個很好的點。
一般都是只分享腳本而已。

bios/efi我是寫在一起的,需要時再用判斷式分開執行。維護更新也少更新一份腳本。

至於腳本內容,多寫就精煉;我目標是(依次序)以不載入無謂檔案、邏輯簡單並提供使用者更靈活彈性功能、格式整齊這幾個大原則,所以沒什麼固定寫法。

https://gitee.com/hkkitlee/Ryanb ... /blob/main/oln.ipxe
teasiu 发表于 2021-4-16 09:01:45
iscsi超好玩。
前提是你有一个openwrt或者群晖nas之类的。
什么东西都可以启动来玩。

另外,WSL2才是真谛,玩法又有一点点不一样的。(太旧的主板或不支持)。

nfs启动的话,速度有些优势。

ftp则可以补充某些不方便http的情形。
江南一根葱 发表于 2021-4-16 08:18:15
hhh333 发表于 2021-4-16 06:36
虽然有自己的一些原创搞法,但总的算是入门级。iSCSI以前玩过,sanboot/nfs没玩过。写这个一是怕自己忘记 ...

可以参考下我的自动编译
https://github.com/zwj4031/ipxe
直接clone下来本地编译也很方便
hhh333 发表于 2021-4-16 06:36:37
teasiu 发表于 2021-4-15 22:54
写得很好。
但还是缺少了很多有趣的灵魂。
提示几点:

虽然有自己的一些原创搞法,但总的算是入门级。iSCSI以前玩过,sanboot/nfs没玩过。写这个一是怕自己忘记,二是也想借帖向大佬们讨教讨论一下ipxe的一些高级玩法,老大也写一些?

点评

可以参考下我的自动编译 https://github.com/zwj4031/ipxe 直接clone下来本地编译也很方便  详情 回复 发表于 2021-4-16 08:18
jpzsj 发表于 2021-4-15 23:58:21
怎么做一个即支持EFI,又支持BIOS的引导文件,我是用NAS,每次改引导文件很麻烦
teasiu 发表于 2021-4-15 22:54:37
本帖最后由 teasiu 于 2021-4-15 23:37 编辑

写得很好。
但还是缺少了很多有趣的灵魂。
提示几点:
1.把ipxe.org网站的文档读透,加上几个有意思的技术要点上来。
    a . 编译出一个规范的,含背景图片的,带nfs,ftp等参数下载的固件出来。
     b. 制作一个规范的,有提示的菜单出来。
      c. 增加ipxe网启的sanboot, iscsi, nfs, wimboot的东西出来。
       d. 制作出属于自己网卡的固件,并刷入网卡(或主板)的技术要领。
2. github上有很多类似的有趣的技术参考源码
3. 用g4d,pxelinux, grub2各种引导的关联性。

我自己研究了一些,正在一个人瞎着玩乐,刚想写点什么给无忧,跑进来看到你这篇文章,感觉和我想的差不多,就多嘴了。

https://github.com/teasiu/ipxe

上面是我自己改着玩的。

点评

一直不知道,chain --replace --autofree这里带的2个参数是什么意思。翻译的话,牛头不对马嘴。  详情 回复 发表于 2024-2-20 23:30
虽然有自己的一些原创搞法,但总的算是入门级。iSCSI以前玩过,sanboot/nfs没玩过。写这个一是怕自己忘记,二是也想借帖向大佬们讨教讨论一下ipxe的一些高级玩法,老大也写一些?  详情 回复 发表于 2021-4-16 06:36
江南一根葱 发表于 2021-4-15 13:43:44
hhh333 发表于 2021-4-15 11:45
我浪费几个字,你浪费流量,就这区别

  • 喜欢改文件名且又想节省几m流量的话,再加个判断,这样写姿势更丰富,更容易看懂(个人觉得)。
     #判断
  • issq ${platform} pcbios && set msboot bootmgr.exe ||
  • issq ${platform} efi && set msboot bootx64.efi ||
     #启动
  • :wimboot
  • kernel ${booturl}/app/wimboot/wimboot ||
  • initrd ${booturl}/app/wimboot/${msboot} ${msboot} ||
  • initrd ${booturl}/app/wimboot/bcd bcd ||
  • initrd ${booturl}/app/wimboot/boot.sdi boot.sdi ||
  • initrd -n boot.wim ${booturl}/${wim}  boot.wim ||
  • boot || goto wimmenu
至于其它提高代码可读性的方法,我觉得稍对齐些(完全遵守缩进规则太难),用notepad艹打开编辑,完全没问题。

hhh333 发表于 2021-4-15 11:45:18
江南一根葱 发表于 2021-4-15 10:47
哈哈,你更浪费啊,,每个wim都配一份bcd和bootmgfw.efi,
用你的文件的话,连wimboot都不需要 ...

我浪费几个字,你浪费流量,就这区别

点评

[*]喜欢改文件名且又想节省几m流量的话,再加个判断,这样写姿势更丰富,更容易看懂(个人觉得)。 #判断 [*]issq ${platform} pcbios && set msboot bootmgr.exe || [*]issq ${platform} efi && set msboo  详情 回复 发表于 2021-4-15 13:43
江南一根葱 发表于 2021-4-15 10:47:57
本帖最后由 江南一根葱 于 2021-4-15 10:49 编辑
hhh333 发表于 2021-4-15 10:07
呵,三个启动都down下来,确实也是个思路,不过不经济吧,浪费两个文件

哈哈,你更浪费啊,,每个wim都配一份bcd和bootmgfw.efi,
用你的文件的话,连wimboot都不需要的,而且,这样让电脑自己去判断,还不会出错,“代码”也有高强的可读性

点评

我浪费几个字,你浪费流量,就这区别  详情 回复 发表于 2021-4-15 11:45
hhh333 发表于 2021-4-15 10:07:24
江南一根葱 发表于 2021-4-14 18:02
不需要分开,更不需要判断,脑洞够大的话,据说还可以这样写
  • :wimmenu
  • menu wimfile

  • 呵,三个启动都down下来,确实也是个思路,不过不经济吧,浪费两个文件

    点评

    哈哈,你更浪费啊,,每个wim都配一份bcd和bootmgfw.efi, 用你的文件的话,连wimboot都不需要的  详情 回复 发表于 2021-4-15 10:47
    2013mqqdg 发表于 2021-4-15 00:32:39
    神贴,看来我的菜单还是小儿科了
    江南一根葱 发表于 2021-4-14 18:02:50
    本帖最后由 江南一根葱 于 2021-4-14 18:58 编辑
    hhh333 发表于 2021-4-14 16:53
    我不知道仔细读了TinyPXE的菜单没有,记不起了。不过我还是坚持把bios和efi分开的观点。毕竟差异比较大, ...

    不需要分开,更不需要判断,脑洞够大的话,据说还可以这样写
    • :wimmenu
    • menu wimfile
    •    item --gap Choose Resolution ratio
    •    item --key 1 win8.wim           1. win8pe
    •    item --key 2 win9.wim           2. win9pe
    •    item --key 3 win10.wim          3. win10pe
    •    item --key m menu             M. Back to menu
    • choose --timeout ${bootfile-timeout} --default 800x600 selected ||
    • iseq ${selected} menu && goto menu ||
    • set wim ${selected} && goto wimboot ||
    • :wimboot
    • kernel ${booturl}/app/wimboot/wimboot ||
    • initrd ${booturl}/app/wimboot/bootmgr.exe bootmgr.exe ||
    • initrd ${booturl}/app/wimboot/bootx64.efi bootx64.efi ||
    • initrd ${booturl}/app/wimboot/bootia32.efi bootia32.efi ||
    • initrd ${booturl}/app/wimboot/bcd bcd ||
    • initrd ${booturl}/app/wimboot/boot.sdi boot.sdi ||
    • initrd -n boot.wim ${booturl}/${wim}  boot.wim ||
    • boot || goto wimmenu

    通吃bios/uefi64/uefi32

    点评

    呵,三个启动都down下来,确实也是个思路,不过不经济吧,浪费两个文件  详情 回复 发表于 2021-4-15 10:07
    邪恶海盗 发表于 2021-4-14 17:22:18
    hhh333 发表于 2021-4-14 16:53
    我不知道仔细读了TinyPXE的菜单没有,记不起了。不过我还是坚持把bios和efi分开的观点。毕竟差异比较大, ...

    我觉得我的菜单可读性还是不错的,当然每个人的习惯不一样,适合自己的才是最好的
    hhh333 发表于 2021-4-14 16:53:52
    邪恶海盗 发表于 2021-4-14 16:10
    我的菜单,貌似是用的TinyPXE的改的:

    我不知道仔细读了TinyPXE的菜单没有,记不起了。不过我还是坚持把bios和efi分开的观点。毕竟差异比较大,efi中的工具也少,不然要不断地进行判断,人为增加菜单难度,牺牲可读性没必要。何况efi中还有32位与64位要判断。

    点评

    不需要分开,更不需要判断环境,完你还可以交给电脑自己来判断,脑洞够大的据说还可以这样写  详情 回复 发表于 2021-4-14 18:02
    我觉得我的菜单可读性还是不错的,当然每个人的习惯不一样,适合自己的才是最好的  详情 回复 发表于 2021-4-14 17:22

    小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

    闽公网安备 35020302032614号

    GMT+8, 2024-5-12 17:29

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表