`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`Table of Contents
`Linux Remote−Boot mini−HOWTO: Configuring Remote−Boot Workstations with Linux, DOS,
`Windows 95/98 and Windows NT.....................................................................................................................1
`Marc Vuilleumier Stückelberg, David Clerc...........................................................................................1
`1. Disclaimer and Copyrights..................................................................................................................1
`2. What has changed................................................................................................................................1
`3. Introduction..........................................................................................................................................1
`4. The Configuration How−To................................................................................................................1
`5. Remote−Boot Tools Reference Manual..............................................................................................2
`6. Special TFTP Servers..........................................................................................................................2
`1. Disclaimer and Copyrights..................................................................................................................2
`2. What has changed................................................................................................................................2
`2.1 ...since version 2.x ?...........................................................................................................................2
`2.2 ...since version 3.0 ?...........................................................................................................................3
`3. Introduction..........................................................................................................................................4
`3.1 Boot ROM and Hard−disk.................................................................................................................5
`3.2 The Network......................................................................................................................................5
`3.3 How it Works.....................................................................................................................................6
`3.4 Related non−commercial documentations.........................................................................................7
`4. The Configuration How−To................................................................................................................7
`4.1 Server−side configuration..................................................................................................................7
`Setting up DHCP........................................................................................................................8
`Setting up a Proxy DHCP...........................................................................................................8
`Setting up TFTP..........................................................................................................................9
`4.2 Client−side configuration..................................................................................................................9
`4.3 Setting Up the Boot Process............................................................................................................10
`Discovering BpBatch................................................................................................................11
`4.4 Setting Up Linux..............................................................................................................................12
`Configuring the Client..............................................................................................................12
`Testing the Configuration.........................................................................................................13
`Building the Disk Image...........................................................................................................13
`System Maintenance and Upgrades..........................................................................................14
`4.5 Setting up DOS 6 and Windows 3.1................................................................................................14
`Building the Disk Image...........................................................................................................15
`Adapting the configuration for other machines........................................................................15
`System Maintenance and Upgrades..........................................................................................16
`4.6 Setting up Windows 95....................................................................................................................17
`Setting up a Stand−Alone Client..............................................................................................17
`Building the Disk Image...........................................................................................................17
`Adapting the configuration for other Machines........................................................................18
`System Maintenance and Upgrades..........................................................................................20
`4.7 Setting up Windows NT..................................................................................................................20
`Building the Disk Image...........................................................................................................20
`System Maintenance and Upgrades..........................................................................................21
`4.8 Troubleshooting (FAQ)...................................................................................................................21
`5. Remote−Boot Tools Reference Manual............................................................................................25
`5.1 BpBatch, MrBatch and MrZip.........................................................................................................25
`Command Line Arguments.......................................................................................................26
`Syntax rules...............................................................................................................................26
`
`i
`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`Table of Contents
`The Cache Filesystem...............................................................................................................29
`Special variables.......................................................................................................................29
`Monitoring commands..............................................................................................................32
`Control commands....................................................................................................................34
`Keyboard−related commands...................................................................................................35
`Text output commands..............................................................................................................36
`Graphics output commands......................................................................................................37
`Security−related commands......................................................................................................38
`Disk−related commands...........................................................................................................39
`Boot commands........................................................................................................................42
`National language support........................................................................................................43
`Commands specific to MrZip...................................................................................................44
`5.2 NoBreak.sys.....................................................................................................................................46
`6. Special TFTP Servers........................................................................................................................46
`6.1 Incom Enhanced TFTP Server.........................................................................................................46
`6.2 Linux Enhanced TFTP Server.........................................................................................................46
`6.3 The Security Gateway......................................................................................................................47
`6.4 The Broadcast TFTP Server.............................................................................................................47
`
`ii
`
`
`
`Linux Remote−Boot mini−HOWTO: Configuring
`Remote−Boot Workstations with Linux, DOS,
`Windows 95/98 and Windows NT
`
`Marc Vuilleumier Stückelberg, David Clerc
`
`v3.19, February 1999
`
`This document describes how to set up a very robust and secure server−based configuration for a cluster of
`PCs, allowing each client to choose at boot−time which operating system to run. The key of this
`configuration is a bootprom based program, which let the user choose at boot time one of several boot
`images. This configuration is applicable using InCom TCP/IP Bootprom (add−on for most network cards) or
`any PXE−compliant Boot ROM (ready−to−use in most recent PC with built−in network cards). The most
`up−to−date version of this document, with hypertext links to downloadable software and other related
`materials, can be found at the address
`http://cuiwww.unige.ch/info/pc/remote−boot/howto.html. Linuxdoc−SGML, DVI and
`PostScript versions are available in the same directory. If you are interested in getting info on further
`developpments, send an E−mail to David.Clerc@cui.unige.ch.
`
`1. Disclaimer and Copyrights
`
`2. What has changed...
`•
`2.1 ...since version 2.x ?
`•
`2.2 ...since version 3.0 ?
`
`3. Introduction
`•
`3.1 Boot ROM and Hard−disk
`•
`3.2 The Network
`•
`3.3 How it Works
`•
`3.4 Related non−commercial documentations
`
`4. The Configuration How−To
`•
`4.1 Server−side configuration
`•
`4.2 Client−side configuration
`•
`4.3 Setting Up the Boot Process
`•
`4.4 Setting Up Linux
`•
`4.5 Setting up DOS 6 and Windows 3.1
`•
`4.6 Setting up Windows 95
`•
`4.7 Setting up Windows NT
`•
`4.8 Troubleshooting (FAQ)
`
`
`
`Linux Remote−Boot mini−HOWTO: Configuring Remote−Boot Workstations with Linux, DOS, Windows 95/98 and Windows NT1
`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`5. Remote−Boot Tools Reference Manual
`•
`5.1 BpBatch, MrBatch and MrZip
`•
`5.2 NoBreak.sys
`
`6. Special TFTP Servers
`•
`6.1 Incom Enhanced TFTP Server
`•
`6.2 Linux Enhanced TFTP Server
`•
`6.3 The Security Gateway
`•
`6.4 The Broadcast TFTP Server
`
`1. Disclaimer and Copyrights
`
`This document and the related software are provided as is to the Linux and Internet community, with no form
`of warranty. Please note that some operations related in this document may destroy the content of your
`hard−disk. We assume no liability for any use, correct or not, of this document and of the related software.
`
`You are free to do anything you want with the remote−boot tools as long as you do not make money by
`selling them or by distributing them with a commercial product. If you want to commercialize a product
`derived from these tools, please contact the authors first to make a commercial agreement. These
`remote−boot tools will remain available for free forever, but we may authorize derived commercial tools.
`
`These provisions shall be interpreted under and in accordance with the laws of Switzerland, canton of
`Geneva. All disputes, defenses, controversies or claims arrising in conncetion with this document and the
`related software, shall be subject to the exclusive juridiction of the courts of the canton of Geneva,
`Switzerland.
`
`If you like this program, you can send us a Postcard and/or make a gift to the International Committee of the
`Red Cross (ICRC) or to the UNICEF.
`
`2. What has changed...
`
`2.1 ...since version 2.x ?
`
`To say it frankly, almost everything. The underlying concepts are the same, but the software part has been
`completly redesigned to overcome the limitations of previous versions and to make it easier to use. An
`highlight of the new features :
`
`•
`All functions (bpmenu, bpclean, bpunzip) are encompassed in a single program.
`•
`The program can run not only from the boot rom, but also under DOS, Windows 95 and Linux.
`•
`The program can now restore images of FAT16, FAT32 and EXT2FS partitions. If someone want to
`write NTFS support, let me know... For now, NT users still have to stick to FAT16.
`•
`The program can not only restore disk images but also add and patch individual files in order to
`customize the client behaviour.
`•
`Disk images are not any more bound to 87 MB. They are now file−system independant archives.
`
`5. Remote−Boot Tools Reference Manual
`
`2
`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`•
`We provide a mean for automatically downloading a disk image to an arbitrary big number of clients
`at the same time (broadcast).
`•
`You can now write your own secure boot script, that will determine the behaviour of the machine
`before the real boot.
`•
`You can now boot any Linux kernel, without applying any patch. Its is also possible to provide a
`command line and a ramdisk image.
`•
`You can authenticate users at boot time using a Unix, NT or Radius server and deny them any access
`to the machine.
`•
`Full national language support is included.
`•
`And many, many other new features...
`Is there a program for converting old archives to the new format ?
`
`No, because the internal format is radically different. But you can easily do the conversion by
`yourself:
`
`1.
`2.
`
`3.
`
`Boot an old image (unzip it to your disk)
`Remove calls to the old unzipreg utility and replace them by the adequate
`patch commands (it is very easy, see the detailed instructions below)
`Run the new mrzip program to create a new−style disk image
`
`2.2 ...since version 3.0 ?
`
`Version 3.0 was the beta−release. A dozen of sites around the world have tested it during a month and given
`much of their time to help us finding bugs and to suggest enhancements. Thanks to all of them for their
`patience, and in particular to Maciek Uhlig, Dick Velders and Jeff Teeters.
`
`A few minor features have been added since 3.01, such as support for diskless Linux boot (by disabling the
`cache).
`
`Version 3.10 introduced compatibility with Intel's Wired for Management 1.1a NetPC standard. The tools
`now work with any PXE−compliant boot ROM (as are most on−board boot ROMs) available today. Thanks
`to InCom GmbH for giving us the PXE bootprom that permitted this developpment. We also succesfully
`tested the tools with the PXE Boot ROM that I found incidentally in my Dell computer with onboard network
`card (called LanDesk Service Agent).
`
`Version 3.11 to 3.12 added UNIX server−side tools (a PXE Proxy DHCP server for Solaris and Linux, and an
`enhanced TFTP server for Linux), as well as detailled informations on server−side setup and the PXE booting
`process.
`
`Version 3.13 added Advanced Power Management support (PowerOff command).
`
`Version 3.14 added minor enhancements and some corrections. We fixed a problem with the terminal under
`RedHat 5.1, and another problem in the syntax of the "if" command. We added some features suggested by
`the Laboratori de Càlcul de la Facultat d'Informàtica de Barcelona (LCFIB) :
`
`•
`A new APM variable let you know if your system support the Advanced Power Management (i.e it
`supports the poweroff command).
`•
`A "beep" command.
`•
`A new parameter to DrawWindow, to include a title at the window creation. You can now do
`DrawWindow 200 200 400 200 "Title".
`
`2.2 ...since version 3.0 ?
`
`3
`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`Version 3.15 added full VESA support. BpBatch now support several video modes, to accomodate old
`computers not being able to display 800x600 graphics. A new parameter has been added to InitGraph to
`specify the video mode, and a list of detected video mode can be retrieved from the new VESA−Modes
`variable.
`
`Version 3.16 fixes the following bugs:
`
`•
`"Malloc failed" during the Fullunzip process of a multiple fragments image. Many thanks to
`Christian Meyer for his collaboration.
`•
`A bug which prevented the linux version of MrBatch to properly fullunzip images. This bug was
`located in the low−level functions of MrBatch, so it may fix other problems encountered in the
`linux version of MrBatch. Many thanks to Jeff Teeters for his collaboration.
`•
`An error in the codepage translation tables. This bug was found by the Laboratori de Càlcul de la
`Facultat d'Informàtica de Barcelona (LCFIB). You can find the bug report in the BpBatch forum.
`
`Version 3.17 adds some minor features and fixes bugs:
`
`•
`Fullunzip was turning Extended Memory off
`•
`Booting on the RedHat boot disk now works
`•
`When extracting images with a large number of directories, the resulting FAT file system was
`corrupted.
`•
`We added retries to text TFTP transfers. BpBatch will now retry three times before saying "Could not
`transfer the file".
`•
`Timestamps are now correctly updated in FAT. (thank to Francis Chan)
`
`Version 3.18 fixes a bug with the IncrUnzip function. Thanks to Gary Pike for its collaboration.
`
`Version 3.19 fixed a bug in the error handling of the delete command on ext2fs, as well as the
`inappropriate handling of names starting with A: under Linux. The following new features were also added:
`
`•
`A new if valid disk:partition syntax can be used to check if a partition has been
`formatted
`•
`FAT32 disk images are now fully functional (they now boot properly)
`•
`Linux EXT2 partitions bigger than 2 GB are now supported
`•
`Linux Swap partitions bigger than 128 MB are now supported (this feature needs a recent kernel, at
`least 2.1.x)
`•
`FullUnzip is now also possible without a cache partition, by setting CacheNever to "ON". This
`might be usefull for a unique installation, but is not recommended in general is it results in a high
`network load.
`Thanks to Ruben Schattevoy for its help and contributions to this release.
`
`3. Introduction
`
`The configuration described here was developped since Summer 1996 at the CUI, University of Geneva. The
`Computer Science Department uses several servers and a number of PCs, which fall into two classes:
`
`•
`computers devoted to students
`•
`computers devoted to research and teaching assistants
`We developped the current configuration with the following aims:
`
`3. Introduction
`
`4
`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`•
`Every computer should be able to run under Linux, DOS, Windows 3.1, Windows 95 or Windows
`NT. One should be able to choose the desired operating system for each session.
`•
`All softwares, including operating systems, should be take from the server, in order to facilitate the
`installations and upgrades.
`•
`Clients computers should be able to run without any write−access on the server (for security reasons),
`except for their home directory.
`•
`Client−side configuration should be reduced to its very minimum. Clients should automatically get
`their IP configuration parameters from the server, and this information should be located in a single
`file, used for all operating systems.
`•
`Since almost every computer now has a hard−disk, clients should be able to take profit of it for
`reducing network load and as temporary storage space for the user.
`•
`Users must have a login to be able to use any of the computers.
`•
`The login should be the same for all operating system and should let the user access its unique home
`directory, common to all operating systems.
`•
`Student (and secretary :−) computers should be fully cleaned up at each start. That is, the PC should
`always look like if it were just installed.
`•
`Every computer has to be protected from virus attacks.
`These constraints lead us to base our configuration on bootprom tools. We first developped new tools for the
`excellent TCP/IP Bootprom from InCom GmbH. Now that a standard for preboot execution environments as
`finally emerged, we ported the tools so that it now also works for any PXE−compliant bootprom. PXE boot
`roms, also called LanDesk Service Agent, are now distributed with almost all on−board network adapter. For
`more info on PXE and Intel Wired for Management standard in general, read from
`http://www.intel.com/managedpc.
`
`3.1 Boot ROM and Hard−disk
`
`Bootproms exist for quite a long time, but until recently, they were solely used with diskless computers.
`Since 1996, this How−to has been claiming that bootproms are even more interesting for computers which
`have a local harddisk, since they allow to take profit of both sides:
`
`•
`A boot rom make the configurations more robust, since it ensure that the computer will always boot
`the same way, no matter any virus or partition table crash. It can be used, as we did, to cleanup the
`harddisk even before the operating system is loaded.
`•
`A local harddisk make the configuration more efficient, since it can reduce the network trafic through
`caching, and allows for efficient swap.
`Today, we have the pleasure to see that all computer manufacturers have come to the same point and provide
`boot roms as part of new computer standards.
`
`Note that you can still use the tools described below in an old fashioned way, that is as a simple
`kernel/ramdisk loader, even for diskless computers. However, we do not encourage this use.
`
`3.2 The Network
`
`The University of Geneva owns a class B domain, subdivided into several subnets. The CUI uses four
`subnets, among them one is dedicated to students.
`
`Originally, our PCs were concerned about two network protocols: IPX and IP. On the IPX side, we used a
`single Novell Netware 3 server for sharing software and users files for DOS and Windows. On the IP side, we
`used a SUN server for sharing software and users partitions for Linux, with NFS.
`
`3.1 Boot ROM and Hard−disk
`
`5
`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`In our latest configuration, we do not any more use IPX. There is a single Unix server (which could be Linux
`as well as a SUN), sharing software and user files using NFS for Linux clients and using SMB (NetBIOS)
`over TCP/IP for Dos and Windows clients. In this way, we have a single home directory used by all operating
`systems.
`
`3.3 How it Works
`
`1.
`
`2.
`3.
`
`4.
`
`5.
`
`When a client PC is turned on, it first performs the traditional system checks before the TCP/IP
`Bootprom or PXE Boot ROM takes the control.
`The bootprom issues a BOOTP/DHCP request in order to get its IP configuration parameters.
`If the server knows the PC issuing the request, it will send back a BOOTP/DHCP reply with
`informations such as the client's IP address, the default gateway, and which bootdisk image to use.
`In case of a PXE boot ROM, there might be some more exchanges between the client and the server
`to determine installation parameters.
`The bootprom then downloads the boot image from the server using the TFTP protocol. The boot
`image happens to be a small program called bpbatch, our boot−time batch file interpreter.
`The batch interpreter is started. At this time, it is almost alone in the computer memory. There is no
`operating system loaded, except the preboot execution environment (offered by the Boot ROM).
`The batch interpreter look in the BOOTP/DHCP reply for command−line options, and in particular
`for the name of the batch to execute.
`According to the instructions in the batch file, it will for instance:
`Load a national keyboard mapping
`1.
`Authenticate the user according to a remote server (Unix, Radius or Windows NT)
`2.
`Let the user choose between the available operating systems
`3.
`According to the operating system choosen, repartition the hard−disk and quick−format some
`4.
`partitions
`Check if an up−to−date compressed image of the selected OS is present at the end of the
`disk. If not, it download it using TFTP
`Uncompress the selected OS to the main partition
`If the selected OS is Linux, load a kernel and start it
`If the selected OS is DOS or Windows, simply let the computer boot on its fresh new
`hard−disk
`For DOS and Windows 3.1, we use the freely available Microsoft LanManager for DOS (search the
`network for the mirror nearest to you; the distribution consists of three files named disk1 to
`disk4) as SMB client. Microsoft LanManager supports dynamic configuration using DHCP. After
`logging in, the user is faced to DOS, and can start Windows 3.1 by typing the traditional
`win command. Note that at this point, DOS and Windows 3.1 appear to be installed locally. For
`Windows 95 and Windows NT, we also use Microsoft SMB client (called Client for the Microsoft
`Network), that supports dynamic configuration using DHCP. We reduce network load using Shared
`LAN Cache, a nice and powerful network−to−disk cache program.
`Students computers can be turned off the hard way at any time without risks, since the hard disk is
`reinitialized at each start.
`
`6.
`
`7.
`
`8.
`
`5.
`
`6.
`7.
`8.
`
`For "safe" computers (ie. for assistants computers), once the computer has been booted once using the above
`described system, the boot script simply redirect the boot to the local hard−disk, without cleaning it again.
`This allow users to leave data on their local hard disk. But whenever the configuration gets corrupted, the
`user can simply choose from the boot menu in order to have a fresh installation.
`
`3.3 How it Works
`
`6
`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`3.4 Related non−commercial documentations
`
`This configuration has been successfully reproduced at several places around the world. A few people have
`written some hints and tricks that complement this How−To. If you did so and that your page is not already
`referenced in this documentation, please send an e−mail to
`Marc.VuilleumierStuckelberg@cui.unige.ch. And if you experience problems while
`reproducing this configuration, have a look at these pages !
`
`•
`http://www.br.fgov.be/RESEARCH/INFORMATICS/info/bootp.html, by Alain
`Empain of the Belgium National Botanic Garden. Many useful sample scripts, and a nice PERL
`program to automatically generate graphic menus and corresponding HTML documentation from a
`higher level description.
`•
`http://www.katedral.se/system/elevsyst, by Johan Carlstedt of The Cathedral
`School of Uppsala, Sweden. At this day, the configuration described at this place is still based on the
`previous version of the remote−boot tools. However, almost everything remains applicable, given a
`few changes.
`•
`http://vitoria.upf.tche.br/~fred/, in portuguese, by Frederico Goldschmidt of the
`Passo Fundo University, Brasil.
`•
`http://www.etse.urv.es/~larinyo, in spanish, by Lluis Arino, of the Escola Tecnica
`Superio d'Enginyeria, Spain.
`
`You can also send me your BpBatch script if you want me to include it in the sample scripts collection.
`
`4. The Configuration How−To
`
`First, arrange to have the following two machines within arm's reach:
`
`•
`the server, usually a Unix or Windows NT machine
`•
`the client, a PC with a bootprom enabled, and nothing valuable on the hard disk.
`If you want to test the configuration but you do not yet have a bootprom, you can download the TCP/IP
`BootProm demo diskette from InCom GmbH at http://www.incom.de. This diskette will make your
`computer behave like if it had a TCP/IP Bootprom plugged in.
`
`If you already have a Boot ROM, you need to enable it. If you are using Incom TCP/IP Bootprom, you can
`do that using a special program from your network card manufacturer. If you have a PXE Bootprom, you can
`do it simply from BIOS setup, by changing the default boot device.
`
`For student computers, we configured the boot on network first, and disabled hard−disk and floppy−disk
`boot. For assistant computers, we also configured network−boot first, but we allow hard−disk and
`floppy−disk boot.
`
`4.1 Server−side configuration
`
`On the server, you will need the following services:
`
`1.
`2.
`3.
`
`A BOOTP/DHCP server
`May be a Proxy DHCP server
`A TFTP server
`
`3.4 Related non−commercial documentations
`
`7
`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`Note for PXE Boot ROM users: We found after severals hours of tedious search that PXE Boot ROMs with
`version before 0.99 do not follow the IP protocol and discard all packets that have the Don't Fragment (DF)
`flag set. That means, you will have to disable Path MTU Discovery on the server, or the Boot ROM will not
`see any of its packets. On Solaris, use ndd /dev/ip ip_path_mtu_discovery to see if you have it
`enabled and ndd −set /dev/ip ip_path_mtu_discovery 0 to disable it. However, this fix only
`works for non−broadcast packets (ask SUN why...). That means, it will work for TFTP but not for DHCP :−(.
`Intel has recently fixed this bug, and if you bought your computer after June 1998, you surely have a
`corrected PXE implementation.
`
`Setting up DHCP
`
`The role of the DHCP server is to give to the client an IP address and to make it load the file named
`bpbatch.P from the TFTP server. DHCP is a superprotocol over BOOTP. If you are using InCom TCP/IP
`Bootprom, you may live without DHCP (using an old BOOTP server).
`
`On Windows NT, you will probably use the native DHCP server. If you are using InCom TCP/IP Bootprom,
`you will have to use a special trick to specify the boot file name (get more info from InCom WWW site). If
`you are using a PXE Bootrom, you will need a Proxy DHCP server, but no other trick is needed as the boot
`file name will be provided by the Proxy DHCP server.
`
`On Linux, the best choice is the standard DHCP server from the Internet Software Consortium. If you are
`using a PXE Bootrom, in addition to the usual options, you will need to add the following ones:
`
`•
`option dhcp−class−identifier "PXEClient"
`•
`option vendor−encapsulated−options ff;
`
`On Solaris, you can either use the Internet Software Consortium DHCP server (available on the Web), or use
`Solaris DHCP server (available since Solaris 2.5). However, as Solaris DHCP server does not seems to be
`able to insert a client class identifier in its DHCP offer, you must install a Proxy DHCP server. Morever, this
`Proxy DHCP server must reside on another computer since Solaris DHCP server locks the DHCP port.
`
`We suggest giving infinite lease time for remote−boot clients. Don't forget that BOOTP/DHCP requests are
`bounded by subnets. If the client and the server do not reside on the same subnet, you should install a
`BOOTP/DHCP Relay agent on any computer between the two. For now, just assume that both machines are
`on the same subnet.
`
`Setting up a Proxy DHCP
`
`The role of the Proxy DHCP server is to overcome limitions of some DHCP servers and to provide PXE
`specific extensions. A proxy DHCP server only makes sense for a PXE Boot rom.
`
`As BpBatch itself is quite powerfull, you wont need to use any PXE specific DHCP extension (menus, etc.).
`However, if your DHCP server is not able to show minimal PXE compliance, you will need a Proxy DHCP
`server or your PXE Boot ROM will not accept to go further.
`
`On Windows NT, you can try to use Intel WfM PDK (available from their web site), but it is not very easy to
`use. We rather suggest having a Linux machine on the subnet and using our small Proxy DHCP. The major
`advantage of our Proxy DHCP Server for BpBatch is that our server will let you specify an option 155 vendor
`tag that will be interpreted by BpBatch as a command line.
`
`Setting up DHCP
`
`8
`
`
`
` Linux Remote−Boot mini−HOWTO:
`
`On Linux and Solaris, you can run our Proxy DHCP program, that simply takes as argument the TFTP server
`IP address, boot file name and optional arguments, and does everything for you. If the DHCP port on the
`server is already requested by another daemon, the proxy DHCP server will run on port 4011. In this case, it
`is necessary that the other daemon on DHCP port answer a DHCP offer with client class PXEClient so that
`the PXE client knows that it must try on port 4011.
`
`If you want to understand better PXE extensions to DHCP, there is an extensive description available on Intel
`WWW site. However, be warned that the documents are quite confusing, as the protocol has been extended to
`a number of optional stages, in order to allow for a maximal flexibility. The key to understand it is that all
`what a PXE client needs is a complete enhanced DHCP answer. If it receives only a standard DHCP offer, it
`will look further unt