openthinclient OS - Bootvorgang
Nicht konfigurierter Client
- openthinclient-Server hört auf DHCPDISCOVER und DHCPREQUEST Pakete
- Der ThinClient sendet ein DHCPDISCOVER Paket via Broadcast
255.255.255.255
in das lokalen Subnetz mit Quell-IP0.0.0.0
. - Danach antwortet der DHCP Server per Broadcast mit einem DHCPOFFER Paket mit seiner eigenen IP-Adresse als Quell-Adresse und der möglichen IP-Adresse für den ThinClient.
- Anschliessend führt der ThinClient einen Broadcast mit einem DHCPREQUEST Paket mit der vorher offerierten IP-Adresse durch.
- Der DHCP Server sendet abschließend ein DHCPACK (Acknowledge) Paket.
Nun ist der ThinClient als PXE-Client im openthinclient Manager sichtbar und kann konfiguriert werden.
Konfigurierter Client
- openthinclient-Server benutzte die Dienste ProxyDHCP, TFTP und NFS.
- Der ProxyDHCP-Dienst horcht nun nach DHCP-Paketen.
- Der Cilent startet und sendet ein DHCPDISCOVER.
- Wenn ein DHCPOFFER für einen konfigurierten Client erkannt wird, sendet der openthinclient-Server einen zusätzliches DHCPOFFER Paket für den ThinClient mit seiner eigenen IP-Adresse als Server (Option 54), aber keiner Client-IP-Adresse.
- Der ThinClient reserviert die IP-Adresse beim DHCP Server unter Verwendung eines DHCPREQUEST und erhält ein DHCPACK als Bestätigung vom DHCP Server.
- Nachdem der ThinClient die Netzwerk-Konfiguration (IP-Adresse, Netzmaske und Standard-Gateway) erhalten hat, sendet er ein DHCPREQUEST and den ProxyDHCP-Dienst und erhält ein DHCPACK mit dem Boot-Dateinamen.
- Nun hat der ThinClient alle Informationen, die zum Booten notwendig sind.
- Dieser holt daraufhin die pxelinux.0 vom TFTP Server und startet diese.
- Die pxelinux.0 holt sich dann die ThinClient spezifische pxelinux Konfiguration via TFTP, welche die Pfade zum Kernel und der verwendeten initrd sowie weitere Kernel Parameter enthält.
- pxelinux.0 lädt daraufhin den Kernel und die initrd per TFTP und startet den Kernel, welcher dann die Kontrolle über den ThinClient übernimmt.
- Der Kernel führt danach das Startskript der initrd aus, und bindet das eigentliche Basissystem von openthinclient® per NFS mount als Root-Dateisystem ein.