This is an old revision of the document!


Creating Custom pxe images/rom for your network card, which can directly boot from PxeKnife using HTTP

You can use the site http://www.alien.doesntexist.org/pxeknife/PHP/gpxe_generation/ which will allow you to generate custom ROM images which are having embedded scripts to boot from PXEKnife over HTTP. As this code is based on rom-o-matic, it allows same amount of cusomizability.

Supported Network types

By default, it supports both network types.

  1. Initially it tries to boot using DHCP
  2. If it fails, then it give interface to the user that can be used to provide following details, and boot using them.
    1. IP address
    2. Netmask
    3. Router
    4. DNS

How it is done?

This is done by adding embedded scripts into the cusomized boot image created by you. It is modification of rom-o-matic codebase. The rom-o-matic compilation command is as follows.

make -C '$dir' '$target'

And we add embedded scripts to it by doing following

make -C '$dir' EMBEDDED_IMAGE=./pxeDHCP.gpxe,./pxeSTATIC.gpxe '$target'

What are those Scripts ?

the script ./pxeDHCP.gpxe contains following code

#!gpxe
echo "Hi, We will be using PXEKnife from URL http://www.alien.doesntexist.org/pxeknife"
echo "It is assumed that you have dhcp networking"
imgload pxeSTATIC.gpxe
imgstat
ifopen net0
echo "Hit Control+C to cancel DHCP"
echo "You may want to do this if you want to use static-IP"
echo "Otherwise, it will try DHCP, and then anyway go to static-IP"
sleep 4
dhcp net0
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.."

and ./pxeSTATIC.gpxe contains following script.

#!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.."

Hosting

Problems and more details

Visit pxekniferomomatic for more details about problems and issues face in this.


QR Code
QR Code soc:2009:pravin:journal:pxekniferomomatichttp (generated for current page)