Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Use the iPXE as an UEFI Application
2014-12-08, 05:50
Post: #1
Use the iPXE as an UEFI Application
Hi,
I tried to use the iPXE as an UEFI Application to install the Ubuntu from PXE Server, which will running from my BIOS integrated UEFI Shell.

For the PXE Server part, it is already configured with the UEFI PXE Server, and I have tried with the BIOS integrated PXE boot options, the server works well.

But when I run the iPXE.efi Application, I could see the NIC card was configured, and could obtain IP Address from the DHCP Server, and then could fetch the BOOTX64.efi from the TFTP Server.
But after the iPXE begin to execute the BOOTX64.efi, it will stop at the GRUB command line, and I checked the network connections from the Server part, the connection was lost.

I want to ask that if my usage of the iPXE as UEFI Application is correct?
And if anyone know how should I handle this issue for the next step.

Thanks.
Find all posts by this user
Quote this message in a reply
2014-12-08, 22:33
Post: #2
RE: Use the iPXE as an UEFI Application
Did you forget the initrd=myinitrd.img parameter on your kernel command-line? That is required in addition to the initrd ipxe command on UEFI.

This should work on UEFI (and also on legacy BIOS):

Code:
#!ipxe
kernel vmlinuz initrd=myinitrd.gz
initrd myinitrd.gz
boot
Visit this user's website Find all posts by this user
Quote this message in a reply
2014-12-10, 07:40
Post: #3
RE: Use the iPXE as an UEFI Application
With such kinds of script, it works, thanks a lot.
Seems that the iPXE do support fetch the kernel and ramdisk, then boot by itself, and do not need to grub at all.

For the traditional UEFI PXE server setting, the first step is to let the client fetch the BOOTX64.efi, but for iPXE, such grub APP does not needed.

(2014-12-08 22:33)robinsmidsrod Wrote:  Did you forget the initrd=myinitrd.img parameter on yourt kernel command-line? That is required in addition to the initrd ipxe command on UEFI.

This should work on UEFI (and also on legacy BIOS):

Code:
#!ipxe
kernel vmlinuz initrd=myinitrd.gz
initrd myinitrd.gz
boot
Find all posts by this user
Quote this message in a reply
2015-01-19, 12:29
Post: #4
RE: Use the iPXE as an UEFI Application
Dear Robin,

I would like to load vmlinuz/initrd via HTTP like the following ,

Quote:#!ipxe
kernel http://${my-server}/vmlinuz initrd=http://${my-server}/initrd.gz
initrd http://${my-server}/initrd.gz
boot

But the results look like the following . Please advise me how to make it work .

http://192.168.168.1/vmlinuz... ok
http://192.168.168.1/initrd.gz... ok
Failed to open initrd file: http:\\192.168.168.1\initrd.gz
Find all posts by this user
Quote this message in a reply
2015-01-19, 16:36 (This post was last modified: 2015-01-19 16:37 by mastacontrola.)
Post: #5
RE: Use the iPXE as an UEFI Application
(2015-01-19 12:29)lavator Wrote:  Dear Robin,

I would like to load vmlinuz/initrd via HTTP like the following ,

Quote:#!ipxe
kernel http://${my-server}/vmlinuz initrd=http://${my-server}/initrd.gz
initrd http://${my-server}/initrd.gz
boot

But the results look like the following . Please advise me how to make it work .

http://192.168.168.1/vmlinuz... ok
http://192.168.168.1/initrd.gz... ok
Failed to open initrd file: http:\\192.168.168.1\initrd.gz

I believe you don't want initrd=http://${my-server}/initrd.gz as it's already loaded into memory at that point. So maybe you could have it load the kernel line as:


kernel http://${my-server}/vmlinuz initrd=initrd.gz

I believe this because during the kernel loadout, it doesn't have networking capabilities to download the init as you're trying to have here. However, using the initrd=initrd.gz it should be able to find it in memory when it begins loading.
Visit this user's website Find all posts by this user
Quote this message in a reply
2015-01-22, 09:05
Post: #6
RE: Use the iPXE as an UEFI Application
mastacontrola is correct in his assumption, the initrd= parameter to the kernel is not a URL, it's a plain filename without path, and it should reference a file already loaded by iPXE.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)