English
Tag it:
Delicious
Furl it!
Spurl
NewsVine
Reddit
YahooMyWeb
Technorati
Digg
Mister.Wong

Table of contents:

Boot procedure demystified


Unconfigured Client

  • DHCP server listens for DHCP discover and request packets.
  • The client broadcasts (255.255.255.255) a DHCP discover packet on the local subnet with source ip 0.0.0.0.
  • Then the DHCP server broadcasts (255.255.255.255) a DHCP offer packet with his own ip as source ip and a possible ip in the bootp flags in the field yiaddr.
  • Now the client broadcasts (255.255.255.255) a DHCP request packet for the previously offered ip.
  • The DHCP server now sends an DHCP acknowledge packet

Now the thin client is visible as PXE-Client in the openThinClient Manager and needs to be configured.

Configured Client

  • JBoss starts the services PXE-proxy, TFTP, NFS and LDAP.
  • PXE-proxy listens for DHCP packets.
  • The client starts up and sends out a DHCP discover.
  • If the PXE-proxy detects a DHCP offer for a configured client, it sends another DHCP-offer to the client with its own ip as server (option 54), but no client ip address.
  • The client reserves the IP address on the DHCP server, using a DHCP request and receives an acknowledge from the DHCP server.
  • Having obtained the network information (like IP address, net mask and default gateway), the client requests the boot information by using the extra DHCP offer from the PXE-proxy service and gets an acknowledge containing the boot filename in return.
  • Now, the client knows all information it needs to boot.
  • Then he pulls the pxelinux.0 from the TFTP server and starts it.
  • The pxelinux.0 pulls the client specific pxelinux config via TFTP, containing the paths to the kernel and initrd as well as the kernel parameters.
  • pxelinux.0 then loads kernel and initrd via TFTP and starts the kernel which then takes over control of the client.
  • The kernel then executes the start script from the initrd, in which the actual base system from OTC will be mounted via NFS and then used as root file system.

openthinclient.org at SourceForge.net