[GH-ISSUE #154] UEFI support? #1607

Closed
opened 2026-03-01 18:34:47 +03:00 by kerem · 15 comments
Owner

Originally created by @connermo on GitHub (Jun 1, 2017).
Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/154

Originally assigned to: @antonym on GitHub.

Just curious. Is it possible to install netboot in the UEFI menu? Thanks.

Originally created by @connermo on GitHub (Jun 1, 2017). Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/154 Originally assigned to: @antonym on GitHub. Just curious. Is it possible to install netboot in the UEFI menu? Thanks.
kerem 2026-03-01 18:34:47 +03:00
Author
Owner

@antonym commented on GitHub (Jun 6, 2017):

I have an EFI compiled iPXE disk, but I've done zero testing with it so far. It's on my TODO though to ensure EFI support works well.

https://boot.netboot.xyz/ipxe/netboot.xyz.efi

Feel free to give it a try.

<!-- gh-comment-id:306619419 --> @antonym commented on GitHub (Jun 6, 2017): I have an EFI compiled iPXE disk, but I've done zero testing with it so far. It's on my TODO though to ensure EFI support works well. https://boot.netboot.xyz/ipxe/netboot.xyz.efi Feel free to give it a try.
Author
Owner

@baoboa commented on GitHub (Jun 22, 2017):

i just tested it , there is a problem with image checking

if i select a linux install i got this

imgverify command not found

if i switch to false both entry in signature checks , i still got

md5sum command not found 

after the download of vmlinuz and initrd.img

<!-- gh-comment-id:310430420 --> @baoboa commented on GitHub (Jun 22, 2017): i just tested it , there is a problem with image checking if i select a linux install i got this imgverify command not found if i switch to false both entry in signature checks , i still got md5sum command not found after the download of vmlinuz and initrd.img
Author
Owner

@antonym commented on GitHub (Jun 22, 2017):

Give the latest build a try: https://boot.netboot.xyz/ipxe/netboot.xyz.efi

Looks like I was missing the certs and it may have not been compiling in those commands. I just had the build system push up a new image with those fixes. I was able to get the EFI menu working in Virtual Box and was able to load up Debian Stretch. Anything with memdisk might not work and some older versions of the distros that didn't have EFI support may fail as well.

<!-- gh-comment-id:310495376 --> @antonym commented on GitHub (Jun 22, 2017): Give the latest build a try: https://boot.netboot.xyz/ipxe/netboot.xyz.efi Looks like I was missing the certs and it may have not been compiling in those commands. I just had the build system push up a new image with those fixes. I was able to get the EFI menu working in Virtual Box and was able to load up Debian Stretch. Anything with memdisk might not work and some older versions of the distros that didn't have EFI support may fail as well.
Author
Owner

@antonym commented on GitHub (Jun 22, 2017):

I will probably need to add EFI stub (https://www.kernel.org/doc/Documentation/efi-stub.txt) to some of the installs as well in order for them to work. If any of the newer versions kernel panic, they may need that stub. Debian currently works because it has the initrd=initrd.gz on the kernel line but Ubuntu doesn't seem to currently because it's missing.

<!-- gh-comment-id:310519744 --> @antonym commented on GitHub (Jun 22, 2017): I will probably need to add EFI stub (https://www.kernel.org/doc/Documentation/efi-stub.txt) to some of the installs as well in order for them to work. If any of the newer versions kernel panic, they may need that stub. Debian currently works because it has the initrd=initrd.gz on the kernel line but Ubuntu doesn't seem to currently because it's missing.
Author
Owner

@baoboa commented on GitHub (Jun 23, 2017):

ok
https://boot.netboot.xyz/ipxe/netboot.xyz.efi

is working but that's not the one i got when i chainload to netbook.xyz

chain --autofree http://boot.netboot.xyz/menu.ipxe

@antonym
is it normal ?

<!-- gh-comment-id:310646627 --> @baoboa commented on GitHub (Jun 23, 2017): ok https://boot.netboot.xyz/ipxe/netboot.xyz.efi is working but that's not the one i got when i chainload to netbook.xyz chain --autofree http://boot.netboot.xyz/menu.ipxe @antonym is it normal ?
Author
Owner

@antonym commented on GitHub (Jun 23, 2017):

Not sure I follow... the entry point is usually https://boot.netboot.xyz/ (index.html) which then loads menu.ipxe.

<!-- gh-comment-id:310671717 --> @antonym commented on GitHub (Jun 23, 2017): Not sure I follow... the entry point is usually https://boot.netboot.xyz/ (index.html) which then loads menu.ipxe.
Author
Owner

@baoboa commented on GitHub (Jun 26, 2017):

ok i got it, in my local ipxe menu, if i want to switch to netboot.xyz, i should add that

chain --autofree https://boot.netboot.xyz/ipxe/netboot.xyz.efi

if not, i need to compile my own ipxe.efi binary with the crypto bits
sorry for the noise

<!-- gh-comment-id:311135305 --> @baoboa commented on GitHub (Jun 26, 2017): ok i got it, in my local ipxe menu, if i want to switch to netboot.xyz, i should add that chain --autofree https://boot.netboot.xyz/ipxe/netboot.xyz.efi if not, i need to compile my own ipxe.efi binary with the crypto bits sorry for the noise
Author
Owner

@zasdfgbnm commented on GitHub (Jul 16, 2017):

A lot of menu entries are unable to boot, get errors like:

http://boot.netboot.xyz/memdisk... ok
Could not select: Exec format error (http://ipxe.org/2e008081)
Could not boot: Exec format error (http://ipxe.org/2e008081)
Could not boot: No such file or directory (http://ipxe.org/2d02808e)
<!-- gh-comment-id:315633849 --> @zasdfgbnm commented on GitHub (Jul 16, 2017): A lot of menu entries are unable to boot, get errors like: ``` http://boot.netboot.xyz/memdisk... ok Could not select: Exec format error (http://ipxe.org/2e008081) Could not boot: Exec format error (http://ipxe.org/2e008081) Could not boot: No such file or directory (http://ipxe.org/2d02808e) ```
Author
Owner

@antonym commented on GitHub (Jul 16, 2017):

Yeah, unfortunately memdisk won't work with EFI which is the usual way netboot.xyz boots ISOs. I'm in the process of hiding menus like utility when the EFI image is loaded for now. Some of the standard Linux installs should work that retrieve the kernels directly. Right now, it's going to be hit or miss until I have some cycles to spend on it but at least it provides something to start toying with.

<!-- gh-comment-id:315634821 --> @antonym commented on GitHub (Jul 16, 2017): Yeah, unfortunately memdisk won't work with EFI which is the usual way netboot.xyz boots ISOs. I'm in the process of hiding menus like utility when the EFI image is loaded for now. Some of the standard Linux installs should work that retrieve the kernels directly. Right now, it's going to be hit or miss until I have some cycles to spend on it but at least it provides something to start toying with.
Author
Owner

@stapelberg commented on GitHub (Oct 1, 2017):

Thanks for looking into this, and thanks for providing netboot.xyz in the first place!

I’m testing https://boot.netboot.xyz/ipxe/netboot.xyz.efi (modified 2017-09-19, sha256sum 459333bfd0581d1fba94a807bc931bdd428d9df571b85fbba5d929217aeb39bf) on a ThinkPad X1 Carbon 2015.

The good news is that I can boot the Debian installer just fine, with image verification and signature checks enabled :)

Unfortunately, I cannot boot Grml Live:

http://boot.netboot.xyz/memdisk... ok
Could not select: Exec format error (http://ipxe.org/2e008081)
Could not boot: Exec format error (http://ipxe.org/2e008081)
Could not boot: No such file or directory (http://ipxe.org/2d02808e)

I also cannot boot CoreOS stable, but I’m not sure whether netboot.xyz is at fault here: the kernel starts, but the “Switch Root” unit fails:

Specified switch root path '/sysroot' does not seem to be an OS tree. os-release file is missing

Minor nit: the image configures net0 first, runs into a timeout, then configures net1. When I build iPXE from git myself (commit 1b67a0564657b6fcef18b1588ea6491ca1b1996d), configuration is much quicker. Possibly the from-git build detects net0 as down, or configures both in parallel. I’m not sure where the difference comes from.

<!-- gh-comment-id:333368173 --> @stapelberg commented on GitHub (Oct 1, 2017): Thanks for looking into this, and thanks for providing netboot.xyz in the first place! I’m testing https://boot.netboot.xyz/ipxe/netboot.xyz.efi (modified 2017-09-19, sha256sum 459333bfd0581d1fba94a807bc931bdd428d9df571b85fbba5d929217aeb39bf) on a ThinkPad X1 Carbon 2015. The good news is that I can boot the Debian installer just fine, with image verification and signature checks enabled :) Unfortunately, I cannot boot Grml Live: ``` http://boot.netboot.xyz/memdisk... ok Could not select: Exec format error (http://ipxe.org/2e008081) Could not boot: Exec format error (http://ipxe.org/2e008081) Could not boot: No such file or directory (http://ipxe.org/2d02808e) ``` I also cannot boot CoreOS stable, but I’m not sure whether netboot.xyz is at fault here: the kernel starts, but the “Switch Root” unit fails: ``` Specified switch root path '/sysroot' does not seem to be an OS tree. os-release file is missing ``` Minor nit: the image configures net0 first, runs into a timeout, then configures net1. When I build iPXE from git myself (commit 1b67a0564657b6fcef18b1588ea6491ca1b1996d), configuration is much quicker. Possibly the from-git build detects net0 as down, or configures both in parallel. I’m not sure where the difference comes from.
Author
Owner

@stapelberg commented on GitHub (Oct 1, 2017):

Sent https://github.com/antonym/netboot.xyz/pull/186 for the CoreOS issue.

<!-- gh-comment-id:333371060 --> @stapelberg commented on GitHub (Oct 1, 2017): Sent https://github.com/antonym/netboot.xyz/pull/186 for the CoreOS issue.
Author
Owner

@antonym commented on GitHub (Oct 1, 2017):

@stapelberg yeah, unfortunately anything using memdisk won't work with EFI support, including GRML. If more providers would host the extracted ISOs, we'd be able to load a ton more OS by default directly from the mirrors by pointing to the kernels directly.

I'll probably need to add some EFI detection that removes the options that won't work next.

<!-- gh-comment-id:333381701 --> @antonym commented on GitHub (Oct 1, 2017): @stapelberg yeah, unfortunately anything using memdisk won't work with EFI support, including GRML. If more providers would host the extracted ISOs, we'd be able to load a ton more OS by default directly from the mirrors by pointing to the kernels directly. I'll probably need to add some EFI detection that removes the options that won't work next.
Author
Owner

@stapelberg commented on GitHub (Oct 1, 2017):

@mika Could we host the ISO to make grml bootable via netboot.xyz on EFI systems? :)

<!-- gh-comment-id:333386112 --> @stapelberg commented on GitHub (Oct 1, 2017): @mika Could we host the ISO to make grml bootable via netboot.xyz on EFI systems? :)
Author
Owner

@dragon788 commented on GitHub (Dec 11, 2017):

@antonym could you make an additional USB image that is hybrid for BIOS/EFI booting? This might make it easier to test network cards that support one or the other without having to rewrite the stick all the time.

http://forum.ipxe.org/showthread.php?tid=8132&pid=12856#pid12856

<!-- gh-comment-id:350781641 --> @dragon788 commented on GitHub (Dec 11, 2017): @antonym could you make an additional USB image that is hybrid for BIOS/EFI booting? This might make it easier to test network cards that support one or the other without having to rewrite the stick all the time. http://forum.ipxe.org/showthread.php?tid=8132&pid=12856#pid12856
Author
Owner

@antonym commented on GitHub (Dec 2, 2019):

Closing this out as EFI support is available.

<!-- gh-comment-id:560211707 --> @antonym commented on GitHub (Dec 2, 2019): Closing this out as EFI support is available.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/netboot.xyz#1607
No description provided.