PXE Documentation

HOWTO setup a PXE 2.x server under Linux

Antoine Ginies (aginies_at_mandrakesoft.com)

Erwan Velu (erwan_at_mandrakesoft.com)

2002

Revision History
Revision 1.1 20 Dec 2002
Fixing emails and version
Revision 1.0 19 Febuary 2002
First public version

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

List of Figures

2.1. How does Real PXE works ?
2.2. How does TCP/IP PXE works ?
2.3. How does Etherboot works ?