Difference between revisions of "NetBoot server principle"
Line 8: | Line 8: | ||
2. The DHCP server responds with: | 2. The DHCP server responds with: | ||
− | + | * the computer IP address, | |
− | + | * TFTP server address (called "next-server"), | |
− | + | * PXE boot filename to load, | |
− | + | * NetBoot root-path values. | |
3. The client sends a TFTP request to "next-server", asking to retrieve the PXE filename. | 3. The client sends a TFTP request to "next-server", asking to retrieve the PXE filename. | ||
Line 18: | Line 18: | ||
5. Many things here: | 5. Many things here: | ||
− | + | * The client executes filename, which is in PXE format. | |
− | + | * The PXE menu will be display so the user can choose which kernel to load | |
− | + | * Then PXE loads the kernel. | |
− | + | * When the kernel executes, the root file system specified by root-path is mounted. | |
If it's a diskless workstation then the client distribution will be mounted in NFS mode. | If it's a diskless workstation then the client distribution will be mounted in NFS mode. | ||
Revision as of 12:19, 5 June 2014
Overview of a NetBoot sequence
1. Client broadcasts a DHCPDISCOVER message.
2. The DHCP server responds with:
- the computer IP address,
- TFTP server address (called "next-server"),
- PXE boot filename to load,
- NetBoot root-path values.
3. The client sends a TFTP request to "next-server", asking to retrieve the PXE filename.
4. The TFTP server responds and sends filename to client.
5. Many things here:
- The client executes filename, which is in PXE format.
- The PXE menu will be display so the user can choose which kernel to load
- Then PXE loads the kernel.
- When the kernel executes, the root file system specified by root-path is mounted.
If it's a diskless workstation then the client distribution will be mounted in NFS mode.
Requirements
As you can see on the previous picture, a DHCP server + TFTP server are mandatory.
It's also good to have a DNS server to use names instead of IP @.
References
The overview picture comes from the FreeBSD forum: http://www.nl.freebsd.org/doc/handbook/network-diskless.html