Video Screencast Help
Protect Your POS Environment Against Retail Data Breaches. Learn More.

Install Open TFTP Server on Deployment Solution 7.1

Created: 14 Apr 2010 • Updated: 03 May 2010 | 12 comments
Language Translations
CondorMan's picture
+5 5 Votes
Login to vote
 

A lot of people have had good results using Open TFTP Server with Deployment Solution 6.9. I have had some interest in doing the same on Deployment Solution 7.1. Here is how.

Symantec netBoot Mtftp service is responsible for making PXE boot files available to clients. You can improve the PXE boot transfer speed by replacing the Symantec netBoot Mtftp service with a higher performance TFTP server.

You can substitute the Symantec netBoot Mtftp service with almost any TFTP server. There are a handful of free open-source TFTP servers. One in particular, "Open TFTP Server" is written very efficiently and is multithreaded to optimize performance. In my tests, my PXE boot speed nearly doubled when I replaced the built-in TFTP server with this one.
 

You can learn more about TFTP Server (and even contribute to the open-source project if you want to) at their web site http://sourceforge.net/projects/tftp-server.

In order to take advantage of the increased performance of TFTP Server, you will need to Install TFTP Server for Windows. Next, you will configure TFTP Server to optimize it and make it compatible with Symantec netBoot Server. Last, you will modify the Symantec netBoot Mtftp service to load the new TFTP Server.

Install TFTP Server for Windows

TFTP Server is very lightweight, and the install is fairly straightforward. You can install TFTP Server to any directory you want and it will have no problems working with Symantec netBoot Server.

  1. Download and run OpenTFTPServerMTInstallerV1.62.exe on your PXE Server.
  2. On the first page, you can change the default path. Just remember to use that path later in this document whenever the path "C:\Program Files\OpenTFTPServer" is referenced.
  3. Click Next.
  4. Click Install.
  5. Clear the box next to "Run program Install as Windows Service"
  6. Click Finish.

Configure TFTP Server for Windows

  1. Open Notepad.
  2. Open "C:\Program Files\OpenTFTPServer\OpenTFTPServerMT.ini"
  3. In the [LISTEN-ON] section, you can specify which IP Address(es) to use for servicing TFTP. You should specify the same IP Address that PXE is configured to use. If you do not specify any IP Address, the TFTP Server will listen on all Interfaces. If you are comfortable with specifying an IP Address to listen on, you can do so here, otherwise leave the section blank.
  4. In the [HOME] section (any line after "[HOME]" and before "[LOGGING]"), add a line containing the path to the Images folder in your PXE Server's install directory. For example: "C:\Program Files\Altiris\Altiris Agent\Agents\Deployment\Task Handler\SBS\Images" (without quotes).
    • (Optional) To increase security, you can add IP Address ranges to the [ALLOWED-CLIENTS] section. This will deny all TFTP requests from any IP Address that is not in a range specified as an allowed client. If you leave this section empty, then all clients are allowed.
    • (Optional) If you have a firewall enabled between your clients and the PXE server, you can specify a port range for the server to use when it sends data to the clients. You can specify this under the [TFTP-OPTIONS] section with the line "port-range=30000-30100" (without quotes) where 30000 will be replaced with the lowest port to use (do not use ports less than 1024) and where 30100 will be replaced with the highest port to use. If this option is not specified, then any free port is used.
    • (Optional) TFTP Server will create a new thread for each client that connects to it and close the thread when the client is done. This allows it to run at optimal performance. To slightly speed up initial connections, you can reserve a certain number of threads to remain open even after the client has finished so that it can be ready to immediately assist another client. If more clients connect than we have open threads, new threads are opened on an as-needed basis and then closed when they are done. You can specify the number of threads to keep open under the [TFTP-OPTIONS] section with the line "ThreadPoolSize=16" where 16 will be replaced with the number of threads you want to remain open. If you do not specify a thread pool size, TFTP Server will default to keeping 1 thread open and then open more as needed.
  5. In the [TFTP-OPTIONS] add the line "blksize=1456". This specifies the packet size that the TFTP Server will use. The larger the packet size the faster your transfers will go. 1456 is the largest packet size the Ethernet supports.

    If you have problems with clients failing to download, decrease this value by 128 at a time until it works. Then, if you really want to fine-tune your performance, you can increase the value by 32 at a time until it fails again, then decrease the value by 8 at a time until it works again.

  6. Save the file.
  7. Close Notepad.

After you have installed TFTP Server once, you could copy the files TFTPServerMT.exe and TFTPServerMT.ini to other PXE Servers in your environment rather than installing running the installer on every machine. TFTPServerMT.exe and TFTPServerMT.ini are the only files needed for TFTP Server to run.

You can use the --silent switch to make the installer run silently to push it to multiple PXE Servers, but that may cause a reboot, so I would recommend you just copy the two files.

Modify the Symantec netBoot Mtftp Service

Change the Symantec netBoot Mtftp service to load Open TFTP Server. That way the service can be stopped and started without knowing the difference.

  1. Click on the Start Menu and select Run...
  2. Type cmd.exe and press enter.
  3. In the command prompt window, type the following and press enter.
    		sc config "_Symantec_netBoot_Mtftp" binpath= "C:\Program Files\OpenTFTPServer\OpenTFTPServerMT.exe"
    
    
  4. Close the command prompt window.
  5. Now stop and restart the Symantec netBoot Mtftp service
    1. Click on the Start Menu and select Run...
    2. Type services.msc and press enter.
    3. Select the Symantec netBoot Mtftp service
    4. Click Restart.
    5. Close the services window

Final thoughts

Now that you have completed this process, you should notice a significant improvement in PXE boot speed. Please comment to this article and let me know the improvement you see.

Here is some more information you may need.

How to revert the TFTP Server

Once you have applied the faster TFTP Server, you probably will be very satisfied with it and will never want to go back. However, if you ever need to revert back to the Altiris PXE TFTP Server, simply do the following:

  1. Click on the Start Menu and select Run...
  2. Type cmd.exe and press enter.
  3. In the command prompt window, type the following and press enter.
    		sc config "_Symantec_netBoot_Mtftp" binpath= "C:\Program Files\Altiris\Altiris Agent\Agents\Deployment\Task Handler\SBS\SbsMtftp.exe"
    
    
  4. Close the command prompt window.
  5. Now stop and restart the Symantec netBoot Mtftp service
    1. Click on the Start Menu and select Run...
    2. Type services.msc and press enter.
    3. Select the Symantec netBoot Mtftp service
    4. Click Restart.
    5. Close the services window

Additional Configuration Options

TFTP Server supports the specification of additional options in the TFTPServerMT.ini file. These options should be left default in most cases, but I will explain them here for the special circumstance where you will need to change them.

  1. The default logging level will be Errors only. If you want to change the logging level to None or All, specify that keyword in the [LOGGING] section.
  2. The default timeout setting is 3 seconds. You can specify a different timeout under the [TFTP-OPTIONS] section with the line "timeout=10" where 10 will be replaced with the number of seconds you want to wait before timing out. The maximum timeout you can specify is 255 and the minimum timeout you can specify is 1.
  3. By default, TFTP Clients can only read files; they can't write or overwrite files. I strongly recommend that you do not modify this setting. However, if you feel like you want to allow TFTP Clients to write files, I recommend that you at least specify a list of allowed clients under the [ALLOWED-CLIENTS] section to maintain some security. You can allow clients to write files in the [TFTP-OPTIONS] section by adding the line "write=Y" and "overwrite=Y".

Comments 12 CommentsJump to latest comment

Pascal KOTTE's picture

as usual, great value information condorman ;-) Thanks !

~Pascal @ Kotte.net~ Do you speak French? Et utilisez Altiris: venez nous rejoindre sur le GUASF

+1
Login to vote
dfnkt_'s picture

Just as pascal said, always relevant, useful information. We are looking into 7.1 and this be another option to augment it. Have you done any speed tests?

0
Login to vote
chris.vanderlinden's picture

I love the article.... 

However, in my few months with NS7 & DS7.1 I feel that the PXE boot has kind of been pushed to the side now that NS & DS have been combined successfully.

Also, with the inclusion of the simple agent plugin for the Automation partition, it makes deployment that much faster for large re-images.
 
That being said, still a good Article, especially if you are using PXE custom images or any type of major server deployments where having that automation partition would not be advisable. 

0
Login to vote
hubert.clement's picture

Dear CondorMan

Many thanks for your Open MTFTP Solution that have resolved our PXE Boot problem with Altiris Deployment Solution 6.9 sp4.

We have completed our OpenTFTPServerMT.ini with:

[HOME]
C:\Program Files (x86)\Altiris\eXpress\Deployment Server\PXE\Images

[TFTP-OPTIONS]
blksize=1456

Very important is to delete the "Open TFTP Server" Service after installation with  OpenTFTPServerMTRemoveService.exe.
Don't forgot to change the path into the "Altiris PXE MTFTP Server" so that it go to OpenTFTPServerMT.exe.

Kind regards,
Hubertwink

0
Login to vote
pragmmativco's picture

Dear condorman,

we are testing NS and DS 7.1 and we have our first problem booting target machine to pxe

basically machine get dhcp, talk to proxy and then::

TFTP.

PXE -T00: timeout error

PXE -E36: error receiving from TFTP server

PXE -M0F: exiting broadcom PXE ROM

,,,,,,,,,,,

I am wondering if you have been across with something similar, where using Open TFTP Server solved the problem!!

Thanks for your help in advanced

Mark

0
Login to vote
jbonbright's picture

Any luck in gettting this resolved?

0
Login to vote
fy_kenny's picture

how to set home relative path?

the home maybe .\source

not C:\dirA\dirB

I want to create a directory under the OpenTFTPServer directory

but have a error :  Client 192.168.1.22:32768, Missing directory/alias

settings:

[home]

home=.\source

 

if anyone have an idea please reply me

thx :)

0
Login to vote
dsmith1954's picture

Does this TFTP server only work with WinPE, or will it also work with FreeDOS or MS DOS? If so, where do you point the Home directory? This is the error I get when I point it to the images directory:

Malformed Request, Invalid/Missing Filename

0
Login to vote
Atulya Tiwari's picture

but in my case its not working.......................

1. DHCP on Linux Server

2.Open TFTP installed on Windows server 2008 R2 64 & Altiris DS 7.1 is on same server

Y its looking for "BStrapx86pcBStrap.0"

in my log file:

========================================================================

[03-Jan-12 12:33:06] Open TFTP Server MultiThreaded Version 1.64 Windows Built 2001 Starting..
[03-Jan-12 12:33:06] starting TFTP service
[03-Jan-12 12:33:06] alias / is mapped to C:\Program Files\Altiris\Altiris Agent\Agents\Deployment\Task Handler\SBS\Images\
[03-Jan-12 12:33:06] permitted clients: all
[03-Jan-12 12:33:06] server port range: all
[03-Jan-12 12:33:06] max blksize: 65464
[03-Jan-12 12:33:06] default blksize: 512
[03-Jan-12 12:33:06] default timeout: 3
[03-Jan-12 12:33:06] file read allowed: Yes
[03-Jan-12 12:33:06] file create allowed: No
[03-Jan-12 12:33:06] file overwrite allowed: No
[03-Jan-12 12:33:06] logging: errors
[03-Jan-12 12:33:06] thread pool size: 1
[03-Jan-12 12:33:06] Listening On: 10.xx.xx.xx:69 (I just omitted the IP address)
[03-Jan-12 12:33:27] Client 10.50.81.82:2070 C:\Program Files\Altiris\Altiris Agent\Agents\Deployment\Task Handler\SBS\Images\BStrapX86pcBStrap.0, Client 10.50.81.82:2070, Error Code 0 at Client, TFTP Aborted
[03-Jan-12 12:37:00] Client 10.50.81.82:2070 C:\Program Files\Altiris\Altiris Agent\Agents\Deployment\Task Handler\SBS\Images\BStrapX86pcBStrap.0, File not found or No Access
[03-Jan-12 12:37:00] Client 10.50.81.82:2071 C:\Program Files\Altiris\Altiris Agent\Agents\Deployment\Task Handler\SBS\Images\BStrapX86pcBStrap.0, File not found or No Access
[03-Jan-12 12:46:15] Open TFTP Server MultiThreaded Version 1.64 Windows Built 2001 Starting..
[03-Jan-12 12:46:15] starting TFTP service
[03-Jan-12 12:46:15] alias / is mapped to C:\OpenTFTPServer\
[03-Jan-12 12:46:15] permitted clients: all
[03-Jan-12 12:46:15] server port range: all
[03-Jan-12 12:46:15] max blksize: 65464
[03-Jan-12 12:46:15] default blksize: 512
[03-Jan-12 12:46:15] default timeout: 3
[03-Jan-12 12:46:15] file read allowed: Yes
[03-Jan-12 12:46:15] file create allowed: No
[03-Jan-12 12:46:15] file overwrite allowed: No
[03-Jan-12 12:46:15] logging: errors
[03-Jan-12 12:46:15] thread pool size: 1
[03-Jan-12 12:46:15] detecting Interfaces..
[03-Jan-12 12:46:15] Listening On: 10.xx.xx.xx:69
[03-Jan-12 12:46:15] Listening On: 127.0.0.1:69
[03-Jan-12 12:48:09] Client 10.50.81.82:2070 C:\OpenTFTPServer\BStrapX86pcBStrap.0, File not found or No Access
[03-Jan-12 12:48:09] Client 10.50.81.82:2071 C:\OpenTFTPServer\BStrapX86pcBStrap.0, File not found or No Access

Atulya K Tiwari

Tech Support - Product & Services

0
Login to vote
Atulya Tiwari's picture

Its showing error massage

TFTP

PXE-T01: File not found or No Access

PXE-E3B: TFTP Error - File not Found

=========================================

If i manully copy the BStrap.0 and paste to location and save as "BStrapX86pcBStrap.0" then a new eoor massage

PXEPreZero : Invalid PXE server list format

 

anybody please help me... on this issue

Atulya K Tiwari

Tech Support - Product & Services

0
Login to vote
Palvaran's picture

Hey Atulya, we are having this same issue.  Did you ever find a fix and if so, what was it?  Thanks much.

Systems Administrator
Rice University

Remember, "The happiness of your life, depends on the quality of your thoughts."

0
Login to vote
jbonbright's picture

I'm having the same exact issue. Did you get this resolved?

0
Login to vote