[syslinux] Using PXELINUX with Windows 2000 DHCP and TFTP

Richard Shaffer rshaffer at cranite.com
Thu Aug 28 16:22:06 PDT 2003


I noticed some links and suggestions on the SYSLINUX web site that
reference how to run TFTP on Windows 2000 Server.  Two of them suggest
installing RIS, and one of them points to a third-party utility.  I
don't need to install RIS, because I don't want to run Windows setup
over PXE.  (In fact, I want to use PXELINUX to boot a DOS floppy and run
Symantec Ghost to deploy an image.)  Also, I want to avoid installing
RIS because it also installs the SIS (Single Instant Storage) service,
which can have a profound effect on the way your filesystem works.
Finally, Mr. Jounin's FTPD server is quite useful, but I wanted
something that could run as a service.

The answer to my problem was to install Microsoft's TFTP server without
installing RIS, and then configure the DHCP server options.  I just
wanted to document how I did this, in case the information is useful to
anyone else.

To install the TFTP daemon:
1.  On the Windows 2000 Server CD, find the file TFTPD.EX_ in the I386
directory, and copy it to c:\winnt\system32.
2.  Open a command prompt, and do "cd c:\winnt\system32" followed by
"expand TFTPD.EX_ tftpd.exe".  (You may delete the TFTPD.EX_ file now if
you wish.)
3.  tftpd.exe runs as a service.  To install the service, create a file
named tftpdins.vbs (or any name that ends in .vbs will do) and copy and
paste the following to the file, then save the file:
	Set ServiceObj = GetObject("WinMgmts:Win32_Service")
	CreateSuccess = ServiceObj.Create("tftpd", _
				"Trivial File Transfer Protocol Daemon",
_
				"%SYSTEMROOT%\System32\tftpd.exe", _
				16, _
				1, _
				"Automatic", _
				FALSE, _
				NULL, _
				NULL, _
				NULL, _
				NULL, _
				NULL)
	WScript.echo "All finished."
4.  Execute the VBS file you created in step 3 by double-clicking on it.
If all went well, you will see the "All finished" message and no errors.
5.  From the command prompt, do "net start tftpd".
6.  Copy the necessary PXELINUX files to c:\tftpdroot.  In my case, I'm
using PXE to boot a DOS floppy image, so the files I have in here are
bootdisk.img, memdisk and pxelinux.0.  My configuration file is named
"default" and goes in c:\tftpdroot\pxelinux.cfg\.

To configure the DHCP server:
1.  On your DHCP server, from the Start Menu open
Programs->Administrative Tools->DHCP.
2.  In the tree on the left, navigate to and select either "Server
Options" or one of the "Scope Options" folders, depending on whether you
want to be able to do a PXE boot on all subnets or just one.
3.  Right-click in the right-hand side of the window and choose
"Configure Options".
4.  Scroll down and check the box next to option 066, Boot Server Host
Name.  In the "String value" field, enter the IP address of your TFTP
server.
5.  Next, check the box next to 067, Bootfile Name.  Enter "pxelinux.0"
in the "String Value" field.
6.  Click OK to Commit the changes.

After this you should be able to boot PXE clients.

Richard Shaffer | Cranite Systems, Inc.
(408) 360-4907
http://www.cranite.com/





More information about the Syslinux mailing list