Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
wiki:qemupxeknifehttp [2009/05/23 10:31] less1 |
wiki:qemupxeknifehttp [2009/05/23 13:59] (current) less1 |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Get PXE Knife working with QEMU over HTTP ====== | + | ====== Get PxeLinux and 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. | + | Note : use latest version of Pxelinux to work over HTTP, for me version 3.80 worked. |
| - | Here are the things that are working for me. | + | |
| - | <code> | + | |
| - | qemu -net nic -net user -fda ./gpxe.dsk -bootp /pxelinux.0 -tftp /home/myname/for_pxe_knife/ | + | |
| - | </code> | + | |
| - | which boots pxe-knife over tftp and | + | |
| - | <code> | + | |
| - | qemu -fda gpxe.dsk -net nic -net user -bootp http://10.0.0.2/gpxe/gtest.gpxe | + | |
| - | </code> | + | |
| - | 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__, | + | Following is the way to run Pxe-knife (or any pxelinux based system) over http. |
| - | it does not work. | + | |
| <code> | <code> | ||
| qemu -fda gpxe.dsk -net nic -net user -bootp http://10.0.0.2/pxeknife/pxelinux.0 | qemu -fda gpxe.dsk -net nic -net user -bootp http://10.0.0.2/pxeknife/pxelinux.0 | ||
| </code> | </code> | ||
| - | It loads pxelinux.0 successfully, but fails in loading //pxeknife/default// file with error | ||
| - | <code> | ||
| - | TFTP prefix: http://10.0.2.2/ | ||
| - | Trying to load: pxelinux.cfg/default | ||
| - | Unable to locate configuration file | ||
| - | Boot failed: press a key to retry, or wait for reset... | + | or you can boot the online version of PXE-Knife using following command. |
| + | <code> | ||
| + | qemu -fda gpxe.dsk -net nic -net user -bootp http://alien.doesntexist.org/pxeknife/pxelinux.0 | ||
| </code> | </code> | ||
| ==== With gpxe embedded script ==== | ==== With gpxe embedded script ==== | ||
| - | I recompiled the gpxe with following embedded script, but still I am getting same error | + | I recompiled the gpxe with following embedded script ../contrib/scripts/forpxeknife.gpxe, |
| <code> | <code> | ||
| #!gpxe | #!gpxe | ||
| - | echo "Hi there" | + | echo "Hi, We will be using PXEKnife from URL http://www.alien.doesntexist.org/pxeknife/" |
| dhcp net0 | dhcp net0 | ||
| - | set 209:string pxelinux.cfg/default | + | set 209:string /pxeknife.cfg/default |
| - | set 210:string http://10.0.0.2/pxeknife/ | + | set 210:string http://www.alien.doesntexist.org/pxeknife/ |
| - | chain http://10.0.0.2/pxeknife/pxelinux.0 | + | echo "Here we go" |
| - | boot | + | chain http://www.alien.doesntexist.org/pxeknife/pxelinux.0 |
| </code> | </code> | ||
| + | and I compile with following command | ||
| + | <code> | ||
| + | make clean && make EMBEDDED_IMAGE=../contrib/scripts/forpxeknife.gpxe | ||
| + | </code> | ||
| + | |||
| + | I execute qemu with no extra parameters at-all. | ||
| + | <code> | ||
| + | qemu -fda gpxe.dsk | ||
| + | </code> | ||
| + | |||
| + | ===== Ready to use PXE-Knife over HTTP ===== | ||
| + | If you want to try out PXE-Knife without installing then visit page [[pxeknifeOverHttp]] | ||
| + | |||
| + | |||
| + | ==== Problems ==== | ||
| + | In case you encounter any problems with this then you can refer the page [[QemuPxeKnifeHTTPProbs]] | ||