UEFI syslinux does not load initrd over HTTP in PXE boot
up vote
1
down vote
favorite
I am trying to set up a GParted Live PXE boot and follow the PXELINUX instructions to set up the boot.
I've got it working with TFTP but now I want to switch the loading of vmzlinuz
, initrd
and other "large" files to HTTP because it is slow.
However, when I change, the initrd=/gparted/initrd
(TFTP) to http://192.168.0.1/gparted/initrd
in the pxe config, the loading screen hangs indefinitely at
Getting cached packet
My IP is 192.168.0.97
Loading vmlinuz... ok <-- that is still loadedvia TFTP)
Loading http://192.168.0.1/gparted/initrd...
Looking at the network traffic via wireshark I can see the relevant transmissions for /gparted/syslinux.efi
, /gparted/ldlinux.e64
, /gparted/pxelinux.cfg/default
, /gparted/vmlinuz
.
After that there is dead silence so I assume that the HTTP stack is not working as intended.
The PXELINUX page says:
Since version 5.10, a special PXELINUX binary, lpxelinux.0, natively supports HTTP and FTP transfers
However, the UEFI section says:
The "(l)pxelinux.0" bootloaders are capable of netbooting BIOS-based clients. Hardware using UEFI has to use the adequate "syslinux.efi" (for EFI IA32 or for EFI X64, respectively) instead of using "(l)pxelinux.0".
As you can see from the list of the TFTP loaded files, after my experience in my earlier PXE question, I have gone with the UEFI loader.
Is there a also an extra "l"-version of the UEFI bootloaders that offers HTTP support? What can I do to diagnose further?
uefi http pxe tftp syslinux
add a comment |
up vote
1
down vote
favorite
I am trying to set up a GParted Live PXE boot and follow the PXELINUX instructions to set up the boot.
I've got it working with TFTP but now I want to switch the loading of vmzlinuz
, initrd
and other "large" files to HTTP because it is slow.
However, when I change, the initrd=/gparted/initrd
(TFTP) to http://192.168.0.1/gparted/initrd
in the pxe config, the loading screen hangs indefinitely at
Getting cached packet
My IP is 192.168.0.97
Loading vmlinuz... ok <-- that is still loadedvia TFTP)
Loading http://192.168.0.1/gparted/initrd...
Looking at the network traffic via wireshark I can see the relevant transmissions for /gparted/syslinux.efi
, /gparted/ldlinux.e64
, /gparted/pxelinux.cfg/default
, /gparted/vmlinuz
.
After that there is dead silence so I assume that the HTTP stack is not working as intended.
The PXELINUX page says:
Since version 5.10, a special PXELINUX binary, lpxelinux.0, natively supports HTTP and FTP transfers
However, the UEFI section says:
The "(l)pxelinux.0" bootloaders are capable of netbooting BIOS-based clients. Hardware using UEFI has to use the adequate "syslinux.efi" (for EFI IA32 or for EFI X64, respectively) instead of using "(l)pxelinux.0".
As you can see from the list of the TFTP loaded files, after my experience in my earlier PXE question, I have gone with the UEFI loader.
Is there a also an extra "l"-version of the UEFI bootloaders that offers HTTP support? What can I do to diagnose further?
uefi http pxe tftp syslinux
According to this message, it should support HTTP. It may depend on UEFI features to do so, which may be broken in your specific implementation.
– Daniel B
Sep 9 '16 at 18:13
After experimenting a little, I find that Syslinux is unusable with UEFI netboot. I suggest you switch to something else like Grub2.
– Daniel B
Sep 9 '16 at 20:05
@DanielB: Thanks for the research effort. I was about to verify some other UEFI implementations but have very limited time. Make that comment into an answer with a bit of explanation what you tried and I will accept it.
– Nobody
Sep 9 '16 at 20:11
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am trying to set up a GParted Live PXE boot and follow the PXELINUX instructions to set up the boot.
I've got it working with TFTP but now I want to switch the loading of vmzlinuz
, initrd
and other "large" files to HTTP because it is slow.
However, when I change, the initrd=/gparted/initrd
(TFTP) to http://192.168.0.1/gparted/initrd
in the pxe config, the loading screen hangs indefinitely at
Getting cached packet
My IP is 192.168.0.97
Loading vmlinuz... ok <-- that is still loadedvia TFTP)
Loading http://192.168.0.1/gparted/initrd...
Looking at the network traffic via wireshark I can see the relevant transmissions for /gparted/syslinux.efi
, /gparted/ldlinux.e64
, /gparted/pxelinux.cfg/default
, /gparted/vmlinuz
.
After that there is dead silence so I assume that the HTTP stack is not working as intended.
The PXELINUX page says:
Since version 5.10, a special PXELINUX binary, lpxelinux.0, natively supports HTTP and FTP transfers
However, the UEFI section says:
The "(l)pxelinux.0" bootloaders are capable of netbooting BIOS-based clients. Hardware using UEFI has to use the adequate "syslinux.efi" (for EFI IA32 or for EFI X64, respectively) instead of using "(l)pxelinux.0".
As you can see from the list of the TFTP loaded files, after my experience in my earlier PXE question, I have gone with the UEFI loader.
Is there a also an extra "l"-version of the UEFI bootloaders that offers HTTP support? What can I do to diagnose further?
uefi http pxe tftp syslinux
I am trying to set up a GParted Live PXE boot and follow the PXELINUX instructions to set up the boot.
I've got it working with TFTP but now I want to switch the loading of vmzlinuz
, initrd
and other "large" files to HTTP because it is slow.
However, when I change, the initrd=/gparted/initrd
(TFTP) to http://192.168.0.1/gparted/initrd
in the pxe config, the loading screen hangs indefinitely at
Getting cached packet
My IP is 192.168.0.97
Loading vmlinuz... ok <-- that is still loadedvia TFTP)
Loading http://192.168.0.1/gparted/initrd...
Looking at the network traffic via wireshark I can see the relevant transmissions for /gparted/syslinux.efi
, /gparted/ldlinux.e64
, /gparted/pxelinux.cfg/default
, /gparted/vmlinuz
.
After that there is dead silence so I assume that the HTTP stack is not working as intended.
The PXELINUX page says:
Since version 5.10, a special PXELINUX binary, lpxelinux.0, natively supports HTTP and FTP transfers
However, the UEFI section says:
The "(l)pxelinux.0" bootloaders are capable of netbooting BIOS-based clients. Hardware using UEFI has to use the adequate "syslinux.efi" (for EFI IA32 or for EFI X64, respectively) instead of using "(l)pxelinux.0".
As you can see from the list of the TFTP loaded files, after my experience in my earlier PXE question, I have gone with the UEFI loader.
Is there a also an extra "l"-version of the UEFI bootloaders that offers HTTP support? What can I do to diagnose further?
uefi http pxe tftp syslinux
uefi http pxe tftp syslinux
asked Sep 9 '16 at 17:55
Nobody
366220
366220
According to this message, it should support HTTP. It may depend on UEFI features to do so, which may be broken in your specific implementation.
– Daniel B
Sep 9 '16 at 18:13
After experimenting a little, I find that Syslinux is unusable with UEFI netboot. I suggest you switch to something else like Grub2.
– Daniel B
Sep 9 '16 at 20:05
@DanielB: Thanks for the research effort. I was about to verify some other UEFI implementations but have very limited time. Make that comment into an answer with a bit of explanation what you tried and I will accept it.
– Nobody
Sep 9 '16 at 20:11
add a comment |
According to this message, it should support HTTP. It may depend on UEFI features to do so, which may be broken in your specific implementation.
– Daniel B
Sep 9 '16 at 18:13
After experimenting a little, I find that Syslinux is unusable with UEFI netboot. I suggest you switch to something else like Grub2.
– Daniel B
Sep 9 '16 at 20:05
@DanielB: Thanks for the research effort. I was about to verify some other UEFI implementations but have very limited time. Make that comment into an answer with a bit of explanation what you tried and I will accept it.
– Nobody
Sep 9 '16 at 20:11
According to this message, it should support HTTP. It may depend on UEFI features to do so, which may be broken in your specific implementation.
– Daniel B
Sep 9 '16 at 18:13
According to this message, it should support HTTP. It may depend on UEFI features to do so, which may be broken in your specific implementation.
– Daniel B
Sep 9 '16 at 18:13
After experimenting a little, I find that Syslinux is unusable with UEFI netboot. I suggest you switch to something else like Grub2.
– Daniel B
Sep 9 '16 at 20:05
After experimenting a little, I find that Syslinux is unusable with UEFI netboot. I suggest you switch to something else like Grub2.
– Daniel B
Sep 9 '16 at 20:05
@DanielB: Thanks for the research effort. I was about to verify some other UEFI implementations but have very limited time. Make that comment into an answer with a bit of explanation what you tried and I will accept it.
– Nobody
Sep 9 '16 at 20:11
@DanielB: Thanks for the research effort. I was about to verify some other UEFI implementations but have very limited time. Make that comment into an answer with a bit of explanation what you tried and I will accept it.
– Nobody
Sep 9 '16 at 20:11
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
accepted
According to this message, syslinux.efi
is supposed to support HTTP. It may rely on some UEFI functions/services to do so. Your board’s specific UEFI implementation may be broken in that regard.
So I performed some tests using my PC and QEMU with the OVMF firmware, using my existing PXELINUX config. I observed the following effects:
- When I had local boot as the default and a timeout set, it would exit immediately, returning me to the boot selection menu (PC) or rebooting (QEMU).
- When I had any UI (tested:
vesamenu.c32
,menu.c32
) enabled, it would hang (PC) or reboot (QEMU). - When I removed
UI
,DEFAULT
andTIMEOUT
, I arrived at the usual text-mode prompt. Nothing would boot, though, it only complained about neitherUI
norDEFAULT
being set.
This experience, combined with the fact that GRUB2 worked flawlessly including graphics mode on both my PC and QEMU leads me to the conclusion that SYSLINUX 6.03 is not suitable (yet) for UEFI netboot.
Unfortunately, GRUB2 wasn’t made to be set up “by hand″. It is also very heavy, taking several seconds to load over PXE (using the regular modular version). I don’t know any better alternative, though.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
According to this message, syslinux.efi
is supposed to support HTTP. It may rely on some UEFI functions/services to do so. Your board’s specific UEFI implementation may be broken in that regard.
So I performed some tests using my PC and QEMU with the OVMF firmware, using my existing PXELINUX config. I observed the following effects:
- When I had local boot as the default and a timeout set, it would exit immediately, returning me to the boot selection menu (PC) or rebooting (QEMU).
- When I had any UI (tested:
vesamenu.c32
,menu.c32
) enabled, it would hang (PC) or reboot (QEMU). - When I removed
UI
,DEFAULT
andTIMEOUT
, I arrived at the usual text-mode prompt. Nothing would boot, though, it only complained about neitherUI
norDEFAULT
being set.
This experience, combined with the fact that GRUB2 worked flawlessly including graphics mode on both my PC and QEMU leads me to the conclusion that SYSLINUX 6.03 is not suitable (yet) for UEFI netboot.
Unfortunately, GRUB2 wasn’t made to be set up “by hand″. It is also very heavy, taking several seconds to load over PXE (using the regular modular version). I don’t know any better alternative, though.
add a comment |
up vote
2
down vote
accepted
According to this message, syslinux.efi
is supposed to support HTTP. It may rely on some UEFI functions/services to do so. Your board’s specific UEFI implementation may be broken in that regard.
So I performed some tests using my PC and QEMU with the OVMF firmware, using my existing PXELINUX config. I observed the following effects:
- When I had local boot as the default and a timeout set, it would exit immediately, returning me to the boot selection menu (PC) or rebooting (QEMU).
- When I had any UI (tested:
vesamenu.c32
,menu.c32
) enabled, it would hang (PC) or reboot (QEMU). - When I removed
UI
,DEFAULT
andTIMEOUT
, I arrived at the usual text-mode prompt. Nothing would boot, though, it only complained about neitherUI
norDEFAULT
being set.
This experience, combined with the fact that GRUB2 worked flawlessly including graphics mode on both my PC and QEMU leads me to the conclusion that SYSLINUX 6.03 is not suitable (yet) for UEFI netboot.
Unfortunately, GRUB2 wasn’t made to be set up “by hand″. It is also very heavy, taking several seconds to load over PXE (using the regular modular version). I don’t know any better alternative, though.
add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
According to this message, syslinux.efi
is supposed to support HTTP. It may rely on some UEFI functions/services to do so. Your board’s specific UEFI implementation may be broken in that regard.
So I performed some tests using my PC and QEMU with the OVMF firmware, using my existing PXELINUX config. I observed the following effects:
- When I had local boot as the default and a timeout set, it would exit immediately, returning me to the boot selection menu (PC) or rebooting (QEMU).
- When I had any UI (tested:
vesamenu.c32
,menu.c32
) enabled, it would hang (PC) or reboot (QEMU). - When I removed
UI
,DEFAULT
andTIMEOUT
, I arrived at the usual text-mode prompt. Nothing would boot, though, it only complained about neitherUI
norDEFAULT
being set.
This experience, combined with the fact that GRUB2 worked flawlessly including graphics mode on both my PC and QEMU leads me to the conclusion that SYSLINUX 6.03 is not suitable (yet) for UEFI netboot.
Unfortunately, GRUB2 wasn’t made to be set up “by hand″. It is also very heavy, taking several seconds to load over PXE (using the regular modular version). I don’t know any better alternative, though.
According to this message, syslinux.efi
is supposed to support HTTP. It may rely on some UEFI functions/services to do so. Your board’s specific UEFI implementation may be broken in that regard.
So I performed some tests using my PC and QEMU with the OVMF firmware, using my existing PXELINUX config. I observed the following effects:
- When I had local boot as the default and a timeout set, it would exit immediately, returning me to the boot selection menu (PC) or rebooting (QEMU).
- When I had any UI (tested:
vesamenu.c32
,menu.c32
) enabled, it would hang (PC) or reboot (QEMU). - When I removed
UI
,DEFAULT
andTIMEOUT
, I arrived at the usual text-mode prompt. Nothing would boot, though, it only complained about neitherUI
norDEFAULT
being set.
This experience, combined with the fact that GRUB2 worked flawlessly including graphics mode on both my PC and QEMU leads me to the conclusion that SYSLINUX 6.03 is not suitable (yet) for UEFI netboot.
Unfortunately, GRUB2 wasn’t made to be set up “by hand″. It is also very heavy, taking several seconds to load over PXE (using the regular modular version). I don’t know any better alternative, though.
answered Sep 9 '16 at 20:38
Daniel B
32.9k75986
32.9k75986
add a comment |
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1122753%2fuefi-syslinux-does-not-load-initrd-over-http-in-pxe-boot%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
According to this message, it should support HTTP. It may depend on UEFI features to do so, which may be broken in your specific implementation.
– Daniel B
Sep 9 '16 at 18:13
After experimenting a little, I find that Syslinux is unusable with UEFI netboot. I suggest you switch to something else like Grub2.
– Daniel B
Sep 9 '16 at 20:05
@DanielB: Thanks for the research effort. I was about to verify some other UEFI implementations but have very limited time. Make that comment into an answer with a bit of explanation what you tried and I will accept it.
– Nobody
Sep 9 '16 at 20:11