PXE Documentation Version 1.0

HOWTO setup a PXE 2.x server under Linux

Antoine Ginies (aginies@mandrakesoft.com) Erwan Velu (erwan@mandrakesoft.com)


Table of Contents

1. Introduction
1.1. What is the purpose of this document ?
1.2. What is PXE ?
2. Different kinds of PXE
2.1. Hard Pxe
2.1.1. Real PXE
2.1.2. TCP/IP PXE
2.2. Soft Pxe
2.2.1. Etherboot
3. PXE server
3.1. Installing a PXEserver
3.2. Options in pxe.conf
3.2.1. Interface
3.2.2. Default_address
3.2.3. Multicast_address
3.2.4. Mtftp_address
3.2.5. Mtftp_client_port
3.2.6. Mtftp_server_port
3.2.7. Listen_port
3.2.8. Use_multicast
3.2.9. Use_broadcast
3.2.10. Prompt
3.2.11. Prompt_timeout
3.2.12. Service Min layer, Max layer
3.2.13. Domain
3.2.14. Sample pxe.conf
3.3. Running the server
4. DHCP server
4.1. Why use a DHCP server
4.2. Dhcpd.conf Options
4.2.1. Classical options
4.2.1.1. Allow booting
4.2.1.2. Not authoritative
4.2.1.3. DHCPD_INTERFACE
4.2.1.4. Pool
4.2.2. Specific options
4.2.2.1. Class
4.2.2.2. Option vendor-class-identifier
4.2.2.3. Vendor-encapsulated-options
4.2.2.4. Vendor-option-space
4.2.2.5. Filename
4.2.2.6. Next-server
4.2.2.7. Match if substring(option vendor-class-identifier, 0, 9)="PXEClient"
4.2.2.8. Set vendor_class_identifier
4.3. Sample dhcpd.conf file
5. TFTP Server
5.1. Why using a TFTP server
5.2. How to install a TFTP server ?
5.3. Xinetd Options
5.3.1. Disable
5.3.2. User
5.3.3. Server
5.3.4. Server_args
5.3.4.1. Block Size option
5.3.4.2. Size ahead of time option
5.3.4.3. Timeout option
5.3.4.4. Chrooting option
5.4. Sample tftpd file
6. Available PXE Bootstraps
6.1. What is a PXE Bootstrap
6.1.1. Definition
6.1.2. Differences between Real PXE and TCP/IP PXE
6.2. PXELinux
6.2.1. What is PXELinux ?
6.2.2. Architecture
6.2.2.1. Root directory
6.2.2.2. Configuration directory
6.2.2.3. Images directory
6.2.3. Options of pxelinux.cfg
6.2.3.1. PROMPT flag_val
6.2.3.2. DEFAULT kernel options
6.2.3.3. DISPLAY filename
6.2.3.4. TIMEOUT timeout
6.2.3.5. LABEL label
6.2.3.6. F[1-9] filename
6.2.3.7. SERIAL port [baudrate]
6.2.4. Booting a kernel directly
6.2.4.1. How does it works ?
6.2.4.2. Advantages and drawbacks
6.2.5. Booting a disk image directly
6.2.5.1. How does it work ?
6.2.5.2. How to build a disk boot image ?
6.2.5.3. Advantages and drawbacks
6.2.6. Sample config file
6.3. PxeGrub
6.3.1. What is PxeGrub ?
6.3.2. How does it work ?
6.3.3. Options of menu.lst
6.3.3.1. TIMEOUT time
6.3.3.2. TITLE label
6.3.3.3. DHCP
6.3.3.4. TFTPSERVER ip_address
6.3.3.5. KERNEL vmlinuz_path
6.3.3.6. INITRD initrd_path
6.3.4. Booting a kernel directly
6.3.5. How can i obtain a pxegrub for my ethernet card ?
6.3.6. Sample config file
6.3.7. Advantages and drawbacks
6.4. NbGrub
6.4.1. What is NbGrub ?
6.4.2. How does it works ?
6.4.3. How can i obtain an etherboot disk for my ethernet card ?
6.4.4. menu.lst options
6.4.5. Advantages and drawbacks
6.5. NBP
6.5.1. How does it work ?
6.5.2. Where can I find it ?
7. Tips:
7.1. How to upgrade 3Com's and Intel's network cards firmware
7.1.1. Why upgrade firmwares ?
7.1.2. Where can I download updates for Intel cards ?
7.1.3. Where can i download updates for 3com cards ?
7.2. How to debug PXE client requests ?
8. Greetings
8.1. Thanks to