Go back --> [wiki:Documentation] --> [wiki:Documentation/orbit-pxe] == Loading Orbit-PXE == Whether you are imaging a node, saving a node image or doing inventory control Orbit nodes get orbit-pxe image loaded first into RAM. The way this is accomplished is by having the PXE server make a symbolic link of the node's IP address in hex to the orbit-pxe configuration file on the TFTP server. By default PXE configuration is to have the node boot off its local hard disk. /tftpboot/pxelinux.cfg/default {{{ default harddisk label harddisk localboot 0 }}} When orbit-pxe is to be loaded the nodehandler first tells the PXE server to set the symbolic link up to the orbit-pxe configuration. It does this by issuing a GET request to the the following URL to the PXE server: {{{ http://pxe:5012/pxe/setBootImage?img=&node=&ip= }}} The PXE server in turn then creates a symbolic link for the respective IP address in hex. For example, if the node has an IP address of 10.18.1.2 (the case of sandbox8, node1-2) the respective IP address in hex is 0x0A.12.01.12 and as such its symbolic links' filename will be 0A120112. /tftpboot/pxelinux.cfg/0A120112 --> orbit-2.0.0 {{{ DEFAULT boel LABEL boel KERNEL linux-orbit-pxe-2.6.20.4 APPEND rw init=/sbin/init initrd=initramfs-orbit-pxe-2.0.0.gz console=tty0 console=ttyS0,9600 DISPLAY message.txt PROMPT 1 TIMEOUT 1 }}} After the symbolic link request the nodehandler will the reboot the node and based on this example the node will then load linux-orbit-pxe-2.6.20.4 with initramfs-orbit-pxe-2.0.0.gz as its initramfs cpio archive. The kernel then boots and finally calls /etc/init.d/rcS: {{{ #!/bin/sh NETDEV_0="eth0" NETDEV_DHCP="eth1" UDHCPC_SCRIPT="/etc/udhcp.script" UDHCPC="/sbin/udhcpc" IP_CONFIG="/bin/ip" mount -t proc proc /proc # Get network up $IP_CONFIG link set $NETDEV_0 up $IP_CONFIG link set $NETDEV_DHCP up $UDHCPC -i $NETDEV_DHCP -s $UDHCPC_SCRIPT cat /.orbit_image # Start nodeagent nodeagent& }}} After this nodeagent will just wait until nodehandler issues it further commands.