This is an old revision of the document!


Get PXE Knife working with QEMU over HTTP

I am taking similar approach as I took for TFTP for which QEMU + PXE Knife combination is working if I use qemu TFTP stack. Here are the things that are working for me.

qemu -net nic -net user -fda ./gpxe.dsk -bootp /pxelinux.0 -tftp /home/myname/for_pxe_knife/

which boots pxe-knife over tftp and

qemu -fda gpxe.dsk -net nic -net user -bootp http://10.0.0.2/gpxe/gtest.gpxe

boots gtest.gpxe which is copy of http://etherboot.org/gtest/gtest.gpxe.

But when I try and use HTTP with qemu over pxe_knife which is based on pxelinux, it does not work.

 
qemu -fda gpxe.dsk -net nic -net user -bootp http://10.0.0.2/pxeknife/pxelinux.0

It loads pxelinux.0 successfully, but fails in loading pxeknife/default file with error

TFTP prefix: http://10.0.0.2/
Trying to load: pxelinux.cfg/default
Unable to locate configuration file

Boot failed: press a key to retry, or wait for reset...

With gpxe embedded script

I recompiled the gpxe with following embedded script ../contrib/scripts/forpxeknife.gpxe,

#!gpxe
echo "Hi there"
dhcp net0
set 209:string pxelinux.cfg/default
set 210:string http://10.0.0.2/pxeknife/
chain http://10.0.0.2/pxeknife/pxelinux.0
boot

and I compile with following command

 make clean && make  EMBEDDED_IMAGE=../contrib/scripts/forpxeknife.gpxe

I execute qemu with no extra parameters at-all.

qemu -fda gpxe.dsk

I do get my echo messages printed, but still I am getting same error.

TFTP prefix: http://10.0.0.2/
Trying to load: pxelinux.cfg/default
Unable to locate configuration file

Boot failed: press a key to retry, or wait for reset...

All above problems were there because of older version of PxeLinux :-( I switched to 3.80 and problem solved :-)


QR Code
QR Code wiki:qemupxeknifehttp (generated for current page)