Copyright (c) Intel Corporation 2003
December 2003

No Support is provided for or with the software described 
in this document.

This readme.txt describes files that can be used for preparing 
Intel SCB2, SDS2, SHG2, SSH4 and SE7500WV2, SE7501WV2, SE7501BR2, 
SE7501HG2 server products to be automatically configured, out 
of the box, to work with Intel(R) Server Management Command 
Line Interface for Red Hat* Linux* v7.3 and v8.0.

This readme.txt file is located on the server system in the 
/usr/local/cli/server directory after the installation of the
software

The sample source files described in the License and the Configuration 
File Sample Source Code (Section G) are a derivative of open source 
base code located at http://panicsel.sourceforge.net.

A. BACKGROUND
B. INSTALLATION:
C. OPERATION:
D. ENABLING CONFIGURATION ON REBOOT:
E. DRIVER REQUIREMENT:
F. DRIVER KERNEL RESTRICTIONS:
G. CONFIGURATION FILE SAMPLE SOURCE CODE:

   
**************************************************************************

   This software program is available to you under the following license.
 *
 *			Intel BSD + Patent License
 *
 * Recipient has requested a license and Intel Corporation ("Intel") is willing
 * to grant a license for the software entitled "bmcconfig" (the "Software")
 * being provided by Intel Corporation.  The following definitions apply to
 * this License: "Licensed Patents" means patent claims licensable by Intel
 * Corporation which are necessarily infringed by the use or sale of the
 * Software alone or when combined with the operating system referred to below.
 * "Recipient" means the party to whom Intel delivers this Software. "Licensee"
 * means Recipient and those third parties that receive a license to any
 * operating system available under the GNU Public License version 2.0 or
 * later.
 *
 * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
 * 
 * The license is provided to Recipient and Recipient's Licensees under the
 * following terms:
 * Redistribution and use in source and binary forms of the Software, with or
 * without modification, are permitted provided that the following conditions
 * are met: Redistributions of source code of the Software may retain the above
 * copyright notice, this list of conditions and the following disclaimer. 
 * Redistributions in binary form of the Software may reproduce the above
 * copyright notice, this list of conditions and the following disclaimer in
 * the documentation and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors
 * shall be used to endorse or promote products derived from this Software with
 * out specific prior written permission. Intel hereby grants Recipient and
 * Licensees a non-exclusive, worldwide, royalty-free patent license under
 * Licensed Patents to make, use, sell, offer to sell, import and otherwise
 * transfer the Software, if any, in source code and object code form. This
 * license shall include changes to the Software that are error corrections or
 * other minor changes to the Software that do not add functionality or
 * features when the Software is incorporated in any version of a operating
 * system that has been distributed under the GNU General Public License 2.0 or
 * later.  This patent license shall apply to the combination of the Software
 * and any operating system licensed under the GNU Public License version 2.0
 * or later if, at the time Intel provides the Software to Recipient, such
 * addition of the Software to the then publicly available versions of such
 * operating system available under the GNU Public License version 2.0 or later
 * (whether in gold, beta or alpha form) causes such combination to be covered
 * by the Licensed Patents. The patent license shall not apply to any other
 * combinations that include the Software.  No hardware per se is licensed
 * hereunder. 
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


   NO SUPPORT IS PROVIDED FOR OR WITH THIS SOFTWARE.

   *Other names and brands may be claimed as the property of others.


**************************************************************************
A. BACKGROUND
**************************************************************************

The Intel Command Line Interface (CLI) allows system administrators to
manage multiple selected rack servers from a single Red Hat Linux
console system shell prompt. The Command Line Interface software is
distributed as a separate software package and is not part of software
described in this readme.

The Command Line Interface (CLI) software is supported on the
Red Hat* Linux* v7.3 and v8.0, released for use on SCB2, SDS2, SHG2, 
SSH4 SE7500WV2, SE7501WV2, SE7501BR2, and SE7501HG2 server products.  
Some options configurable with this utility are not supported by all 
these platforms.

In order for the CLI software on a console system to manage a 
remote system, the server firmware must be configured to 
permit such communication.  All CLI connectivity and functionality
is with the server firmware.  The operating system is not involved or
impacted by the command line interface connections.

To configure the firmware for CLI connections, the user must 
run the System Setup Utility on the System Resource CD that 
accompanies each server board.  This method requires the manual
configuration of each new server.  This process can be lengthy 
when multiple systems are to be configured and installed at one time.
eg: rack cluster installations.
 
In order to automate the server setup process, Intel has provided
a configuration file that may be used. Also included are associated
files that refresh the configuration on each system boot. The 
configuration file is;
    bmcconfig

The bmcconfig and associated files are installed as part of the 
AUTOSERVERCFG-1.0-5.i386.rpm package file. See section D, 
"Enabling Configuration on Reboot" for more details.  The driver packages 
are separate. See the section E, "Driver Requirements" below.

The use and implementation depends on the user's environment.  One 
possible method would be to include the files as part of a PXE boot
image.  When the server is powered on for the first time, it could 
automatically have its operating system downloaded.  If the bmcconfig
and associated script file are built into the operating system image, 
they will automatically configure the server for Command Line 
Interface access during the first boot and subsequent reboots. 

**************************************************************************
B. INSTALLATION:
**************************************************************************

When downloaded from Support.Intel.Com this package is received as a gz
(compressed) file.  To expand the AUTOSERVERCFG.tar.gz file, execute the 
following commands 

	gunzip AUTOSERVERCFG.tar.gz
	tar -xvf AUTOSERVERCFG.tar

Once expanded, several package files (rpm) and this readme will be 
available. One of the rpm is for the bmcconfig application.  The other
rpm files contain IPMI drivers.  See the "Driver Requirement" section 
for driver details.  

The script 'installme' can be used to install both the IPMI driver and
the AUTOSERVERCFG rpm.  Note that the 'installme' script will only work
when using one of the kernel versions listed in the "Driver 
Requirement" section. 

To manually install the packages, first install the correct IPMI driver
for the kernel version in use:
	rpm -i ipmidrvr-x.x.x.x-1.i386.rpm
Then install the AUTOSERVERCFG package:
	rpm -i AUTOSERVERCFG-1.0-5.i386.rpm

The bmcconfig executable is placed in the /usr/local/cli/server 
directory.  A script file (bmcscript) is also installed to enable system 
setup on each operating system reboot.  See "Enabling Configuration on Reboot" 
section for details.


**************************************************************************
C. OPERATION:
**************************************************************************

The supported server boards come from the factory with access for CLI 
over LAN disabled. (This has no impact to the normal network traffic
used by the operating system.) The bmcconfig file may be used to automatically 
configures the following:
- LAN Access set to "Always Available"
- IP Address configuration set to "DHCP" or "Static" based on the
  operating system.
- IP Address set to match the operating system address
- Subnet Mask set to match the operating system
- Network Gateway set to match the operating system.
- Enable Serial Over LAN (SOL) redirection. (Not available on all
  platforms.)
These firmware settings are the minimal set required to permit
CLI access to the server.

By default the server password is "null".  Security may be increased 
by utilizing a command line argument of the bmcconfig to configure a 
password. This firmware password is not connected to the 
operating system and may be unique.  

The password may be up to 16 characters long.  It may be any
combination of alphabet or numeric characters. By default, no 
password is used by the server firmware.

The command syntax:
bmcconfig -P [password]
eg: bmcconfig -P scb2cli

In order to use this command line argument, the user
must edit the script file that executes bmcconfig.  The script is named
bmcscript and is located in the /etc/rc.d/init.d/ directory.  

Below is a portion of the bmcscript file.  The password argument has been
added.  


	case "$1" in 

	"start")
    	    add_drv

	    /usr/local/cli/server/bmcconfig -P scb2cli& 

        	;;
	"stop")
	    rem_drv
	        ;;
	*)
	        echo bmcscript:Unknown Argument $arg
	        echo Usage:bmcscript [start/stop]
	        exit 1
	        ;;
	esac

The ampersand symbol (&) is used to make the execution of the bmcscript
file "silent" during the boot process.  Before the modification above,
the script contained the following command;  
/usr/local/cli/server/bmcconfig&
  
In the password addition sample above, the ampersand is moved to the 
last character on the line, after the password has been added.  The 
password is "scb2cli" and then the ampersand is appended.  The use of the
ampersand is required for correct boot execution of the bmcscript file.   

Once the change has been made, the password argument will be executed 
during each system reboot.  In order to reduce visibility of the 
information in the script file, the user should take appropriate measures 
with the access or viewing options of the file. 

**************************************************************************
D. ENABLING CONFIGURATION ON REBOOT
**************************************************************************

In order for the bmcconfig file to automatically configure the server
it must execute on every system reboot.  This will keep the IP 
address assigned to the firmware in sync with the IP address 
of the operating system, even if the operating system address 
is modified.  This automated process only happens on a system reboot
so if you make an IP address change, the firmware will retain the old
address information until the next reboot.  The Command Line Interface
software will be able to connect, but only to the old IP address that the
firmware has stored.  The operating system will be using the new address.

As part of the software installation, a script file is installed.  
The script file is located in the /etc/rc.d/init.d directory. The script 
file handles the execution of bmcconfig.

**************************************************************************
E. DRIVER REQUIREMENT
**************************************************************************

In order for the bmcconfig command to successfully set the 
server firmware configuration, it must be able to communicate 
with the server firmware.  A driver is required to complete the 
communication path. 

The driver used depends on whether the server board is using one
or two processors and the Red Hat Linux kernel version installed on the 
server. The driver packages that ship with this software are:
	ipmidrvr-2.4.18.3-1.i386.rpm
	ipmidrvr-2.4.18.3smp-1.i386.rpm
	ipmidrvr-2.4.18.14-1.i386.rpm
	ipmidrvr-2.4.18.14bigmem-1.i386.rpm
	ipmidrvr-2.4.18.14smp-1.i386.rpm
	
  
The driver will be installed to the /usr/local/ism/driver directory.

IMPORTANT: The bmcscript script loads the IPMI driver from the 
/usr/local/ism/driver directory. You may need to edit this script to 
load the driver from the correct directory if you did not install the 
one of the driver packages listed above.

The driver is loaded automatically at each server reboot. The driver is 
loaded by the same bmcscript file.

This package also contains the file installme that demonstrates
how to automate installation of the appropriate driver and the
bmcconfig application.

**************************************************************************
F. DRIVER KERNEL RESTRICTIONS
**************************************************************************

The drivers included with the package are compiled specifically 
for the standard version of Red Hat Linux 7.3, (kernel 2.4.18.3), 
or Red Hat Linux 8.0 (kernel 2.4.18.14).

Users may have previously needed to recompile their kernel when 
adding functionality to the operating system.  If your current Red Hat 
Linux kernel is different from the versions listed above, the drivers 
included with this package will not work.

Intel provides for downloading the components needed to recompile the 
driver for use on a different version of the Red Hat Linux kernel.  Go to 
the following web location.
http://support.intel.com/support/motherboards/server/isc/software.htm  
Release notes and a readme file are available at the web location for
further details.   

The recompile instructions give details on how to build the driver for
one or two processor systems.  Once the driver has been recompiled 
with the Red Hat Linux kernel, the bmcconfig file should operate as 
expected.

**************************************************************************
G. CONFIGURATION FILE SAMPLE SOURCE CODE
**************************************************************************

The commands the bmcconfig file sends are to a microcontroller on 
the server baseboard called the Baseboard Management Controller (BMC).  
The commands sent to the BMC are based on an industry specification 
called the Intelligent Platform Management Interface (IPMI).  For details 
on IPMI see http://www.intel.com/design/servers/ipmi/index.htm

The IPMI specification provides access to more configuration than enabling
LAN Access for CLI.  

Following the IPMI specification, users could modify the source
file to enable other IPMI features of the server. eg:
-  Enable LAN Alerts and send them to a specific IP address.
-  Enable modem paging and enter the paging system phone number.
-  Control which system events generate modem or LAN alerts

The sample source files are located in the /usr/local/cli/server/src
directory of the console system.  The files included are;
	bmcconfig.c
	makefile

The source files included here are a derivative of open source base code 
located at http://panicsel.sourceforge.net.  The base code files are
	panicsel-1.1.3-2.i386.rpm
	panicsel-1.1.3-2.src.rpm
Information concerning the base code files should be directed to the
http://panicsel.sourceforge.net web site.


// End of File //


