Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
soc:2009:pravin:journal:pxekniferomomatic [2009/06/04 10:23] less1 |
soc:2009:pravin:journal:pxekniferomomatic [2009/06/04 14:47] (current) less1 |
||
---|---|---|---|
Line 5: | Line 5: | ||
provide pxe images/rom/nic with gpxe script embedded. This script will connect to pxeknife server to get boot loader. | provide pxe images/rom/nic with gpxe script embedded. This script will connect to pxeknife server to get boot loader. | ||
+ | |||
===== Implementation ===== | ===== Implementation ===== | ||
+ | Actual working implementation is described [[PxeKnifeRomOMaticHTTP|here]] | ||
In file rom-o-matic/build.php the image is compiled by following command | In file rom-o-matic/build.php the image is compiled by following command | ||
Line 15: | Line 17: | ||
I have modified it to compile with embedded image by modifying above code with | I have modified it to compile with embedded image by modifying above code with | ||
<code> | <code> | ||
- | make -C '$dir' EMBEDDED_IMAGE=./pxeDHCP.gpxe '$target' | + | make -C '$dir' EMBEDDED_IMAGE=./pxeDHCP.gpxe,./pxeSTATIC.gpxe '$target' |
</code> | </code> | ||
Line 37: | Line 39: | ||
echo "PxeKnife booting cancelled, using local disk instead.." | echo "PxeKnife booting cancelled, using local disk instead.." | ||
</code> | </code> | ||
+ | and //./pxeSTATIC.gpxe// contains following script. | ||
+ | <code> | ||
+ | #!gpxe | ||
+ | echo "As you dont have DHCP, you need to give details about network configuration" | ||
+ | echo "Soon, you will be presented with interface to provide details about network configuration" | ||
+ | echo "Please provide, IP address, Netmask, Gateway and Router" | ||
+ | ifopen net0 | ||
+ | set net0/ip 10.0.2.15 | ||
+ | set net0/netmask 255.255.255.0 | ||
+ | set net0/gateway 10.0.2.2 | ||
+ | set net0/dns 10.0.2.3 | ||
+ | sleep 3 | ||
+ | config | ||
+ | set 209:string pxelinux.cfg/default | ||
+ | set 210:string http://www.alien.doesntexist.org/pxeknife/ | ||
+ | echo "Here we go" | ||
+ | chain http://www.alien.doesntexist.org/pxeknife/pxelinux.0 | ||
+ | echo "PxeKnife booting cancelled, using local disk instead.." | ||
+ | </code> | ||
+ | |||
+ | |||
The code is hosted at url [[http://www.alien.doesntexist.org/pxeknife/PHP/gpxe_generation/]] | The code is hosted at url [[http://www.alien.doesntexist.org/pxeknife/PHP/gpxe_generation/]] | ||
- | ===== Problems ===== | + | ===== Problems (solved) ===== |
When I boot using qemu with following command | When I boot using qemu with following command | ||
Line 65: | Line 88: | ||
Problem was that, qemu does not support all network drivers, and you need to tell qemu which device driver to emulate. | Problem was that, qemu does not support all network drivers, and you need to tell qemu which device driver to emulate. | ||
Following qemu command is working for rtl8139 | Following qemu command is working for rtl8139 | ||
+ | <code> | ||
+ | qemu -fda gpxe-git-rtl8139.dsk -net nic,model=rtl8139 -net user | ||
+ | </code> | ||
===== For static IP ===== | ===== For static IP ===== |