iPXE discussion forum

Full Version: ipxe in constant loop
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
When booting uefi ipxe it loops on 'Initializing Devices' .
I have ipxe.efi under tftproot with boot.ipxe script containing:
Does ipxe support nfs? Thanks

---
#!ipxe
kernel tftp://192.168.0.5/vmlinuz initrd=initrd.img
initrd initrd.img
imgargs vmlinuz repo=nfs:192.168.0.5:/home/install/fedora ip=dhcp noipv6
boot
---
No Ctrl+B prompt or anything? just printing Initializing devices over and over again? or are we talking an reboot loop?
I see ctrl-b for a sec then it goes through initializing devices again. It looks like initializing is succesful but then starts initializing again.

Is their a debug switch? Thanks
There should be nothing to loop back to initializing devices,
Any chance you can take a picture of the output?

ipxe is compiled with debug enabled per .c file, so for example in this case
make bin-x86_64-efi/ipxe.efi DEBUG=efi_autoboot
might give something.

Also using EMBED= to add a script with just
#!ipxe
shell

hopefully gets you to an shell.
Maybe your dhcp responds with ipxe.efi filename for efi requests, instead of sending boot.ipxe when ipxe is requesting the dhcp packet?
This forum is not accepting my .jpg. This is what I see: After IPXE initialising devices...ok it starts over, IPXE 1.0.0+ .....
Over and over. I will try to embed the script to see what happens.

---------------------------
>>Checking Media Presence......
>>Media Present......
Downloading NBP file...

Succeed to download NBP file.
iPXE initialising devices...ok


IPXE 1.0.0+ (309c50) -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP NFS TFTP EFI Menu

net0: b8:ae:ed:73:6f:9b using i218v-3 on PCI00:19.0 (open)
[LINK:up, TX:0 TXE:0 RX:0 RXE:0]
Configuring (net0 b8:ae:ed:73:6f:9b)... ok
net0: 192.168.0.96/255.255.255.0 gw 192.168.0.1
Next server: 192.168.0.5
Filename: ipxe.efi
tftp://192.168.0.5/ipxe.efi... ok
ipxe.efi : 863360 bytes [EFI]
iPXE initialising devices... ok


IPXE 1.0.0+ (309c50) -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP NFS TFTP EFI Menu

net0: b8:ae:ed:73:6f:9b using i218v-3 on PCI00:19.0 (open)
[LINK:up, TX:0 TXE:0 RX:0 RXE:0]
Configuring (net0 b8:ae:ed:73:6f:9b)... ok
net0: 192.168.0.96/255.255.255.0 gw 192.168.0.1
Next server: 192.168.0.5
Filename: ipxe.efi
tftp://192.168.0.5/ipxe.efi... ok
ipxe.efi : 863360 bytes [EFI]
iPXE initialising devices... ok
--------------------------------

make bin-x86_64-efi/ipxe.efi DEBUG=efi_autoboot gave this in red:

EFI found autoboot link-layer address:
00000000 : b8 ae ed 73 6f 9b : ...so.

With embed.ipxe script:

#ipxe
shell

after iniialising devices...ok

I get a movable mouse pointer and a unflashing cursor in the top left but I can not type anything.
Code:
Next server: 192.168.0.5
Filename: ipxe.efi
tftp://192.168.0.5/ipxe.efi... ok
ipxe.efi : 863360 bytes [EFI]
iPXE initialising devices... ok

ipxe.efi is started before this as expected, it then does an dhcp request where it receives the server 192.168.0.5 and the filename ipxe.efi which it then boots - and it will do the same again.

What is happening is described here: http://ipxe.org/howto/chainloading#break...inite_loop
If you are using isc DHCPd the details are at: http://ipxe.org/howto/dhcpd#pxe_chainloading

about the cursor and not being able to type anything might be an uefi firmware bug.


If boot.ipxe is what you will end up using you can ofcourse embed that file into ipxe.efi and it will hopefully work as you want it to.
Reference URL's