Openthinclient OS — Boot Process
Unconfigured client
- openthinclient server listens for DHCPDISCOVER and DHCPREQUEST packets
- The thin client sends a DHCPDISCOVER packet via broadcast
255.255.255.255to the local subnet with source IP0.0.0.0. - The DHCP server responds via broadcast with a DHCPOFFER packet, using its own IP address as the source address and an available IP address for the thin client.
- Then, the thin client sends a broadcast DHCPREQUEST packet containing the previously offered IP address.
- Finally, the DHCP server sends a DHCPACK (Acknowledge) packet.
The thin client is now visible as a PXE client in the openthinclient Manager and can be configured.
Configurated client
- The openthinclient server uses the ProxyDHCP, TFTP, and NFS services.
- The ProxyDHCP service now listens for DHCP packets.
- The client starts up and sends a DHCPDISCOVER.
- If the server detects a DHCPOFFER for a configured client, it sends an additional DHCPOFFER packet for the thin client, including its own IP address as the server (Option 54) and leaving the client IP address field empty.
- The thin client reserves the IP address from the DHCP server using a DHCPREQUEST and receives a DHCPACK as confirmation from the DHCP server.
- After the thin client has received the network configuration (IP address, subnet mask, and default gateway), it sends a DHCPREQUEST to the ProxyDHCP service and receives a DHCPACK with the boot file name.
- Now, the thin client has all the information necessary for booting.
- It then retrieves pxelinux.0 from the TFTP server and starts it.
- pxelinux.0 then retrieves the thin client-specific pxelinux configuration via TFTP, which contains the paths to the kernel and the initrd being used, as well as additional kernel parameters.
- pxelinux.0 then loads the kernel and the initrd via TFTP and starts the kernel, which then takes control of the thin client.
- Finally, the kernel executes the initrd’s startup script and mounts the actual openthinclient® base system via NFS as the root filesystem.
