Panasas Knowledge Base   
Topic
New DirectFLOW Custom Port Request
pan_custom_port.sh script (must gunzip this file)
Discussion

Panasas can create a custom DirectFLOW port for your client node's Linux build. In order for us to create the custom port we will need to gather information about your configuration.

The pan_custom_port.sh tool

The pan_custom_port.sh tool will gather a lot of useful information from a Linux system for you, including various configuration files that are used when building a kernel. Download this tool from the link shown on this page.

The current version of the pan_custom_port.sh tool is 1.9

If you've recompiled your kernel...

we really need specific information from you. If you've patched the kernel source code in any way, we need to get your kernel source tree. Please specify the -g option to the pan_custom_port.sh script. This will tell the script to grab your kernel source tree. It is also a good idea to specify the -s option as well, telling the script where to find the tree so that it doesn't have to guess where the source can be found. Both of these options are described below.

If you've only changed options in the .config file and have made no other changes to the kernel, we won't need to get your entire kernel source tree. But it will be important that the script finds your .config file. In this case, specifying the exact location of the kernel source tree via the -s option is advised.

Command line options

Here is the help information provided by the pan_custom_port.sh tool.

NAME
pan_custom_port.sh - collect information for a custom port of the DirectFLOW client package.

NOTE: This script will usually run best if run as root.

SYNOPSIS
pan_custom_port.sh [ -h | -v ] [ -s kernel_source_directory ]
         [ -o output_directory ] [ -g ]

   -h
         Print this help screen

   -s kernel_source_directory
         Allow the user to specify the location of the source directory for
         the kernel that the port will be run under.  If this argument is not
         provided, this script will attempt to find the kernel source.

   -o output_directory
         Specifies the directory where output of this script should be
         placed.  NOTE: a subdirectory under the specified directory will be
         made temporarily.  The user running this script should have
         appropriate credentials to allow directory creation.  If this
         argument is not provided, /tmp will be used.

   -g
         Grab the kernel source tree.  This is necessary if you've made
         modifications to the kernel source itself (patches, etc.).

   -v
         Show version information.

Example 1

$ pan_custom_port.sh
Attempting to find kernel source directory...
copying /usr/src/linux-2.4.24-kgdb/include/linux/autoconf.h
copying /usr/src/linux-2.4.24-kgdb/.config
copying /etc/modules.conf
copying /proc/ksyms
grabbing other miscellaneous info
Creating output file...
Done.
Please upload the file /tmp/custom_port_request_info_20050407.132845.tgz
to your uploads.panasas.com account.

In this example, we ran the script without specifying any of the command line options. The script did its best to find the kernel source directory, and was able to do so in this case. It has told us where the output file is and has indicated to upload the file to the uploads.panasas.com server where Panasas customer service will be able to retrieve it.

Example 2

$ pan_custom_port.sh
Attempting to find kernel source directory...

Either the kernel source directory you have provided isn't correct (-s
command line argument) or I wasn't able to find the kernel source.

This isn't a problem if you're using a stock, premade kernel from RedHat or
SuSE.  But if you've recompiled your kernel, I really need to get that
information.

If your kernel isn't a stock kernel from a Linux provider, please rerun this
script with an appropriate -s option.

To continue, I'll assume you're running a stock kernel.

Please type YES to indicate that you understand this, and that as far as you
know you're running a stock kernel:
YES

copying /etc/modules.conf
copying /proc/version
copying /etc/sysconfig/selinux
Grabbing other miscellaneous info

Creating output file...
Done.
Please upload the file /tmp/custom_port_request_info_20060622.114013.tgz
to your uploads.panasas.com account.

Here's another example where we didn't specify any command line arguments. In this case, the tool was not able to find the kernel source directory. But as indicated earlier, that isn't a problem in all cases. If you see this output and are using a kernel that you have recompiled, you should re-run the tool and provide the kernel source directory path using the -s option. The tool stops after indicating the issue and forces you to enter the string YES to indicate you understand this.

Example 3

$ pan_custom_port.sh -s /usr/src/linux-2.4 -g
copying /etc/modules.conf
copying /proc/ksyms
Grabbing kernel source tree (this may take a moment)...
tar: Removing leading `/' from member names
Done.
grabbing other miscellaneous info
Creating output file...
Done.
Please upload the file /tmp/custom_port_request_info_20050407.134435.tgz to your uploads.panasas.com account.

In this case, we have instructed the tool to grab the kernel source code as well. The tool creates a gzipped tar archive of the kernel source code which may take some time. This example ran for about 5 minutes before it was finished. The output file ended up being around 350 MB large.

Additional information

In addition to providing the output of pan_custom_port.sh, we will also need to know the version of the PanFS realm with which client will be used. This can be found in one of two ways:

  1. In the PanActive Manager GUI, click on "About PanActive Manager" in the top right corner of the screen and record the version number (Example: "Version: 2.1.6.b-153279.2")
  2. At the pancli prompt, run the 'about' command
References
pan_custom_port.sh script (must gunzip this file)
Applies To
RedHat Linux - all versions
SuSE Linux - all versions

Please report any failures of this script running so modifications can be made.
Last Reviewed
4/20/2005
Keywords
custom port; DirectFLOW port; pan_custom_port