Hp Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers
Integration Note
November 1998
ECG0351198
Using NetWare Installation
Prepared by Novell Integration
Compaq Computer Corporation
Contents
Script-Based Migration...............3
Developing Your Own Script......4
What is a Script ........................4
Before You Begin......................4
Migration Tasks........................5
Creating the Script
Environment............................... 6
Defining Variables and Menu
Items........................................ 6
Preparing the Server
Environment for Migration .........8
Removing Old Files,
Patches, and Utilities................10
Removing Outdated Patches
and Products..........................10
Removing Files from Startup
Directory and SYS:SYSTEM ...11
Removing Unsupported DOS
Utilities ...................................12
Copying Files ...........................13
Copying Startup Files and
Drivers....................................13
Copying Files to SYSTEM,
PUBLIC, and LOGIN
Directories..............................14
Copying Necessary Script
Files....................................... 16
Copying and Uncompressing
Java Files...............................16
Copying and Uncompressing
Novell ConsoleOne Files......... 17
Copying New Install Files........ 17
Copying NetWare NDPS
Utilities ...................................18
Putting the Finishing
Touches....................................18
Appendix – Example Script...... 20
Scripts to Upgrade from
NetWare 4 to NetWare 5 on
Compaq Servers
Abstract: The migration of a multi-server network from
NetWare 4.x to NetWare 5 can be a time consuming task. By taking
advantage of the Novell installation scripting language CDWare,
introduced with NetWare 4, you can eliminate the time spent in
repeating the upgrade at multiple consoles. Since no two server
environments are identical, it would be impossible to develop a script
that properly addresses the specific needs of every migration. This
paper, however, outlines the steps necessary in a migration script so
that you may develop your own script, customized to your server
environment. The included sample script reaches beyond basic
scripting and provides enhancements like Compaq hardware driver
updating.
Help us improve our technical communication. Let us know what you think
about the technical information in this document. Your feedback is valuable
and will help us structure future communications. Please send your
comments to: Novell.Feedback@Compaq.com
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers2
Notice
The information in this publication is subject to change without notice and is provided “AS IS” WITHOUT
WARRANTY OF ANY KIND. THE ENTIRE RISK ARISING OUT OF THE USE OF THIS
INFORMATION REMAINS WITH RECIPIENT. IN NO EVENT SHALL COMPAQ BE LIABLE FOR
ANY DIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL, PUNITIVE OR OTHER DAMAGES
WHATSOEVER (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
PROFITS, BUSINESS INTERRUPTION OR LOSS OF BUSINESS INFORMATION), EVEN IF
COMPAQ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
The limited warranties for Compaq products are exclusively set forth in the documentation accompanying
such products. Nothing herein should be construed as constituting a further or additional warranty.
This publication does not constitute an endorsement of the product or products that were tested. The
configuration or configurations tested or described may or may not be the only available solution. This test
is not a determination or product quality or correctness, nor does it ensure compliance with any federal,,
state, or local requirements.
Product names mentioned herein may be trademarks and/or registered trademarks of their respective
companies.
Compaq, Contura, Deskpro, Fastart, Compaq Insight Manager, LTE, PageMarq, Systempro, Systempro/LT,
ProLiant, TwinTray, ROMPaq, LicensePaq, QVision, SLT, ProLinea, SmartStart, NetFlex, DirectPlus,
QuickFind, RemotePaq, BackPaq, TechPaq, SpeedPaq, QuickBack, PaqFax, Presario, SilentCool,
CompaqCare (design), Aero, SmartStation, MiniStation, and PaqRap are registered with the United States
Patent and Trademark Office.
Netelligent, Armada, Cruiser, Concerto, QuickChoice, ProSignia, Systempro/XL, Net1, LTE Elite,
Vocalyst, PageMate, SoftPaq, FirstPaq, SolutionPaq, EasyPoint, EZ Help, MaxLight, MultiLock,
QuickBlank, QuickLock, UltraView, Innovate logo, Wonder Tools logo in black/white and color, and
Compaq PC Card Solution logo are trademarks and/or service marks of Compaq Computer Corporation.
Microsoft, Windows, Windows NT, Windows NT Server and Workstation, and Microsoft SQL Server for
Windows NT are trademarks and/or registered trademarks of Microsoft Corporation.
NetWare and Novell are registered trademarks and intraNetWare, NDS, and Novell Directory Services are
trademarks of Novell, Inc.
Integration Note prepared by Novell Integration
First Edition (November 1998)
Document Number ECG0351198
ECG0351198
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers3
CDROM.NLM
uncompress
uncompress
NDPS
Reboot the server
Remove obsolete
Install
Run
Run
Script-Based Migration
When managing a large, multi-server network, migrating to a new OS version is quite a task.
Days of complete or partial downtime are often needed to complete the migration. Developing
and using your own migration script can upgrade your entire network as fast as migrating a single
server.
Successful script migration begins with an understanding of the scripting language and ends with
extensive testing before deployment. In this document, we provide insight into the actions that
must be called by a script to migrate from NetWare 4.x to NetWare 5. In addition, the name and
location of all files that must be copied or deleted for a baseline NetWare 5 server are provided,
along with destinations and modifications for the files that are being copied. Finally, a complete
example script is provided in the Appendix.
IMPORTANT: The filenames, examples, and procedures given do not include references to any
third party or after-market products that you may need to update or upgrade for NetWare 5.
Please contact your software vendor for any relevant changes that you should add to your custom
script.
The flowchart below details the steps in preparing, launching, and completing a script-based
migration.
Backup all
servers that will
be upgraded
Upgrade NDS
Master replica
server using
Novell
installation utility
Mount the
Gather user
licenses
Steps you should perform to prepare servers for migration
NetWare 5 CD
as a NetWare
volume on the
master server
Insert the NetWare 5 CD in the CD-ROM drive on
drives: IDEATA.HAM and IDECD.CDM. For SCSI
Load
the upgrade master server
Load the appropriate CD-ROM driver. For IDE
drives: CPQSCSI.HAM SCSICD.CDM
and the CD will automatically be
mounted as volume NETWARE5:
Place the script
and any .NLMs
called by the
script in a
directory on the
master server
Define installation
variables
uncompress Java
installation files
Copy Compaq
NWPA drivers
Load INSTALL at
the server to be
upgraded via the
script
C:\NWSERVER
SYS:SYSTEM
Copy and
files from
and
Select
Product Options/
Install Product Not
Listed
Remove obsolete
user files from
Copy and
NetWare 5 GUI
components
SETUPNLS.NLM
Steps necessary to initiate migration at the console
SYS:PUBLIC
Copy and
ConsoleOne files
Autodetect
hardware
Steps that should be performed by the script
Steps that you should perform after the script has run
Figure 1. Script-based migration overview
Press F3 to specify the path
to the MASTER server that
points to the migration script.
For example MASTER\
SYS:SCRIPT
Copy necessary
script files to
C:\NWSERVER
Delete
uncompressed
Novell
Licenses
archives for Java,
ConsoleOne, and
NetWare 5 GUI
Perform NDS
update
Configure
cryptography, if
applicable
Enter valid
username and
password at the
remote login
screen
Backup user
configuration files
Copy NetWare
administration
utilities
Edit AUTOEXEC.NCF and
STARTUP.NCF to reflect changes in
LOAD and SET statements necessary
for NetWare 5 compatibility
INETCFG.NLM
Once logged in, the
remote server will
begin running the first
.IPS script found in
the remote directory
Copy files to
SYS:SYSTEM,
SYS:PUBLIC,
and SYS:LOGIN
Convert SMP
support to
NetWare 5
Restore user
configuration files
ECG0351198
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers4
Developing Your Own Script
IMPORTANT: Developing a migration script is a complex task and is recommended only for
experienced system administrators. Improper implementation can cause loss of data and
prolonged server downtime. Backup any data before attempting an automated migration. Please
be sure that you are confident in your scripting before attempting to migrate your network using
your script.
What is a Script?
In order to facilitate custom NetWare installations, Novell created CDWare installation scripting.
Although CDWare was originally developed to allow OEMs to create hardware-specific
installations of the NetWare installation procedure, you can use CDWare to create a noninteractive batch installation of your NetWare configuration. This document illustrates, through a
complete example, specifically how you can use CDWare to migrate from NetWare 4.x to
NetWare 5.
An installation script is simply a text file. When interpreted by the NetWare installation
application, however, the script provides customized instructions for the installation. By placing
any user-options in the script file, the process can be automated, requiring little user intervention.
In large, multi-server networks this automation can considerably accelerate your migration. The
added ability to remotely launch the script can also speed the process by allowing simultaneous
migration of multiple servers on your network. In addition, your script provides you with a tool
for swiftly adding new or restored servers to your network.
Developing a script to shorten the migration process, however, is neither a fast nor simple
process. The scripting language has numerous commands, each with its own syntax and
parameters. Even a basic installation script requires a solid understanding of CDWare scripting.
Furthermore, an intensive script, such as, a multiple-server migration script, should undergo
extensive testing before it is implemented on the entire network. If you are proficient in, or even
familiar with, scripting, the time you invest in developing a script is minimal compared to the
time that would have to be spent at each server console doing local migrations.
Before You Begin
In order to get started on developing your custom migration script, you should become familiar
with the sample scripts available from Novell and the sample script in the Appendix. For our
purposes, the scripts that Novell has released (one with the intraNetWare service pack called
411SPACK.IPS and the other UPGRADE.IPS from the Novell Accelerated Upgrade utility) will
provide the most applicable examples of using CDWare scripting for upgrading NetWare
components. This document includes a sample script that was developed by Compaq to illustrate
the power and flexibility of the scripting language and, at the same time, provide a solid example
of a thorough script with good scripting style. In addition, the Compaq script addresses some
issues specific to Compaq hardware, such as, automatic DDFS to NWPA storage driver
replacement. Before developing your own script, you should use these examples to become
familiar with the purpose and format of the commands in the sample script. For additional
information and the example scripts mentioned above, search the Novell website for CDWarescripts or Accelerated Upgrade Utility.
ECG0351198
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers5
Migration Tasks
After becoming familiar with the commands in the sample scripts, you will need to outline the
tasks necessary to complete the NetWare migration. Although there is no one script that will
cover every server configuration, internal Compaq migration scripts complete the following tasks:
Creating the script environment
• Transferring any files necessary for the script to complete to the master server
• Defining any internal variables used within the script
Removing old files, patches, and utilities
• Removing outdated system patches and products that may be incompatible
• Removing old NetWare 4 files from the startup directory and SYS:SYSTEM
• Removing any DOS utilities that are unsupported in NetWare 5
Copying files
• Copying necessary script files to the boot directory
• Copying server startup files and drivers
• Copying NetWare SYSTEM, PUBLIC, and LOGIN directories and files
• Copying and uncompressing Java files
• Copying and uncompressing Novell ConsoleOne files
• Copying NetWare 5 GUI components
• Copying NetWare NDPS administration utilities
Putting the finishing touches
• Converting storage driver LOAD statements from DDFS drivers to NWPA drivers
• Rebooting the server after copying files
• Auto-detecting hardware after reboot
Not all of these tasks can or should be used in every script, nor is this a complete list of actions
that can be performed. Your script, for example, may convert the statements that load the storage
drivers to reflect the newer NWPA drivers. In this case, the automatic hardware detection is not
necessary.
For all of these steps, however, there may be many files that are deleted, copied, or renamed.
Perhaps the most difficult task in developing your own script is identifying which files are
incompatible with and which are essential to NetWare 5. This document handles that confusion
for you with detailed lists of files complete with sources and destinations. Another aspect of wellwritten scripts is portability.
ECG0351198
A more portable script can be modified more easily to accommodate minor differences between
server environments. You may want to begin your script by gathering variables that may change
for different installations. By doing so, you can eliminate editing your script should you need to
perform a modified installation, such as a different destination directory or different language
installation
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers6
Creating a fully functioning NetWare 5 server without any user input is impossible. While the
example script provided in the Appendix completes all necessary file manipulation, there are a
few key elements that require specific input to make your NetWare 5 server fully operational.
Specifically, after migrating your server with your script, you will need to run SETUPNLS.NLM
to convert NetWare 4.11 licensing schemas to the newer NetWare 5 format. Also, you should run
INETCFG.NLM to setup the network components, including IP.
The Sample Script
The script in the Appendix was developed internally at Compaq for the purposes of illustrating
proper scripting style and necessary actions for migrating your server. Every effort has been made
to produce a script that represents portability and stability. Features such as log files, path
variables, and migration conflict detection may not be necessary for successful scripting but in a
critical environment may be well worth the time to implement. Where noticeable, extra features
or aspects of the script will be highlighted.
Before running the sample script or a script of your own, you should copy the following files and
the script itself to the master server: ICMD.NLM, CPQICMD.NLM, and NDSDIBUP.NLM. Both
ICMD.NLM and NDSDIBUP.NLM are included with the Accelerated Upgrade Utility from
Novell and CPQICMD.NLM is available as part of the Compaq Support Software for Novell
Products (Novell SSD). Once initiated, the sample script takes roughly 35 minutes to complete on
a ProLiant 5000 over a dedicated 100BASE-T Ethernet connection. Upon rebooting, the ProLiant
is a fully functional NetWare 5 server, requiring only the minimal manual configuration
mentioned. The sample script, as it appears in the Appendix, requires at least 9 MB of free space
on the DOS partition and 165 MB of free space on the SYS: partition. Compaq recommends that
you issue the PURGE command both before and after the script is run to make sure that deleted
files waste no disk space.
Note: After migrating with the sample script, you may have trouble logging into the server as
ADMIN. This is not an error. With the NetWare 5, you must specify the context of the admin
login. To find the context for a given server, issue the CONFIG command at the server console.
The context should be appended to the admin login, for example ADMIN.CPQ, where .CPQ is
the context.
The rest of this document provides a walkthrough of the script in the Appendix, including the
files that should be affected by your script and extra steps taken to ensure success when using the
script. By developing your own script that accomplishes these tasks, you can automate the vast
majority of the migration and save your organization many hours of downtime.
Creating the Script Environment
In order to facilitate the steps called by the script, steps should be taken to prepare the script
environment with variable and menu item declarations and name space modules.
Defining Variables and Menu Items
While this is not necessary in your migration script, using variables and menus will make your
script more portable with a minimum of effort. In addition, by defining the variables within the
script, you reduce the amount of console intervention. Your script may contain as many or as few
variables as you feel necessary. In the sample script several variables are defined and used
throughout.
ECG0351198
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers7
Table 1. Defined variables
Variable nameValueDescription
TRUE1
FALSE0
SRCSRVRName of the master server that has
the NetWare 5 CD mounted.
SRCNW5%{SRCSRVR}\\NETWARE5:Location and path to the NetWare 5 CD
SRCSYS%{SRCSRVR}\\SYS:
SRCSCRIPT%{SRCSYS}SCRIPT
SRCPOET%{SRCSRVR}\\SYS:\\NI\\POET\\NLMLocation of POET files needed for migration
NWBOOTC:\\NWSERVER
NWSYSSYS:Volume name of the SYS: volume
NWSYSTEMSYS:SYSTEM
NWPUBLICSYS:PUBLIC
NWLOGINSYS:LOGINLocation of the LOGIN directory on the SYS:
General definition for clarity when used in script
By defining the name of the master server within
the script itself, the script can be run from different
master servers by redefining the variable.
Location of the SYS: directory on the master
server
Location of the script file and necessary support
.NLMs
Path of the boot directory containing
SERVER.EXE
Location of the SYSTEM directory on the SYS:
volume
Location of the PUBLIC directory on the SYS:
volume
volume
When commands within your script use variables as pathnames, it is not sufficient to simply have
defined the variable. In order for the script to correctly interpret your string variable as a path, the
variable must be associated with a path using the GetPath command. The following path variables
are defined in the sample script with the GetPath command.
In the example script in the Appendix, the different actions to be performed have been separated
into independent sub-modules. Each of these sub-modules has an associated variable which
allows the installation of that component to be enabled or disabled. Once again, this was done to
make the script as portable as possible by allowing certain elements of the migration which are
not necessary to be skipped. In the script, these variables can be identified by the word Flag at the
beginning. The use of Flag is not specific to the scripting language. This is simply a matter of
scripting style; any non-reserved variable names can be used to label elements in your script.
ECG0351198
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers8
Table 3. Flag variables to denote key actions of the script
By setting any of the above variables to %{false} in the example script, you can prevent the
respective section from executing. The example script in the Appendix extends the function of the
Flag variables by performing a check to make sure that the components selected to install do not
cause any known conflicts.
Additionally, the example script creates a log file of all actions performed by the script. Should
you perform the migration and afterwards wish to review which elements of your script had been
selected, you may find adding the extra lines of code necessary very useful. The code that
appends the text for each action to the log file can be found near the beginning of each separate
section. For example,
In order to view the log generated by the sample script, load NWCONFIG.NLM and select
View/Change/Remove installed options from the Product Options menu.
Preparing the Server Environment for Migration
At this point in the sample script, there are a few actions that prepare the server environment to be
updated. Not all of these actions should be performed in any single migration. That is, some
actions will undo the effects of another, or one action could lead to a conflict with another.
However, some of these actions must be complete to successfully copy the full NetWare 5 file
system onto your server.
Add long name space
Adding long name space is necessary for correct uncompressing of files. Therefore, this
step is necessary if Java, ConsoleOne, and the NetWare 5 GUI are to be installed. To add
long name space, your script needs load OS2.NAM and LONG.NAM.
Update the STARTUP.NCF
In the example script, any SET parameters found in the STARTUP.NCF are commented
out. While this step is not absolutely necessary, it makes sure that there are no conflicts
between NetWare 5 and older NetWare 4.11 parameters. This step may not be necessary
if automatic hardware detection is used or if you are using a master copy STARTUP.NCF.
ECG0351198
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers9
Convert SMP support
Unlike NetWare 4.11, NetWare 5 does not require separate kernels for single- and
multiprocessor platforms. As a result, the sample script comments out all LOAD
statements in both the AUTOEXEC.NCF and STARTUP.NCF files that refer to
NetWare 4.x multiprocessor specific modules. In addition, lines are added that will load
the NetWare 5 platform support modules upon rebooting. This step is not necessary if
automatic hardware detection is used.
Convert storage drivers from DDFS to NWPA
Specific to Compaq systems, this portion of the sample script will comment out any
LOAD statements that refer to any DDFS Compaq storage drivers. At the same time, the
example script will add the appropriate NWPA storage driver load statements to the
AUTOEXEC.NCF and STARTUP.NCF files. Once again, this is for Compaq hardware
only. This step may not be necessary if automatic hardware detection is used. But, since
NetWare 5 no longer supports DDFS, either automatic detection or this section of the
sample script should be used to convert to NWPA drivers.
Prepare for hardware autodetect on reboot
If automatic hardware detection is selected, the sample script removes the current
STARTUP.NCF, copies necessary files for the detection, and generates a new
STARTUP.NCF file that will initiate the automatic hardware detection on reboot. While
automatic hardware detection can eliminate some of the steps above, the detection will
most likely require user interaction to locate Compaq and third-party drivers.
The list of files necessary for hardware detection follows.
Table 4. Files to be copied for hardware detection
If you already have a version of a STARTUP.NCF for NetWare 5 with support for your
hardware, you may wish to place that file in the same directory as the script file on the
master server and have your script copy that file to the server being migrated. The sample
script will not execute if you are using a master STARTUP.NCF and performing hardware
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers10
detection or DDFS to NWPA conversion, since performing hardware detection or the
DDFS to NWPA conversion will modify the STARTUP.NCF.
Each of these steps is labeled in the example script. When the sample script is run, there is a
check to ensure that any incompatibilities between these actions will terminate the script; for
example, converting to NWPA and autodetect hardware or installing Java without long name
space installed.
Removing Old Files, Patches, and Utilities
Obviously, some components of NetWare 4 are incompatible with the newer NetWare 5
architecture. Patches for NetWare 4 that have been integrated into NetWare 5, unsupported
utilities, and outdated files should be removed.
Removing Outdated Patches and Products
To eliminate any potential incompatibilities between NetWare 4.11 patches and NetWare 5, your
script should remove all traces of any patches. Luckily, CDWare scripting provides an integrated
function for removing patches. The syntax is somewhat cryptic and documentation on this
command is sparse. The section of the example script was generated by Novell to remove any
publicly available patches. The list of patches that are removed follows.
Table 5. Outdated patches to be removed before migration
Using NetWare Installation Scripts to Upgrade from NetWare 4 to NetWare 5 on Compaq Servers11
Due to the number of entries and the undefined syntax of the PI_EditNCF_KEYSTRINGS
command, Compaq recommends that you use this section of the script exactly as it appears in the
example rather than coding your own.
Likewise, there are several large updates and patches for NetWare 4.11 that should be uninstalled
before the migration. Unlike the previous list of patches, these products should be uninstalled by
calling UINSTALL.NLM within your script.
Table 6. Products to be uninstalled using UInstall.NLM
Removing Files from Startup Directory and
SYS:SYSTEM
There are many files that have been replaced, modified, or eliminated for NetWare 5. Before you
begin the migration, your script should remove these files to ensure that any possible conflicts are
eliminated. The sample script shows how to remove all of the following files.
Table 7 lists files to be deleted in the NetWare boot directory, which is by default
C:\NWSERVER.
There are some utilities scattered about a NetWare 4.11 server that are no longer supported or
have been replaced in NetWare 5. Your script should remove each of these.
The following table lists files that reside on the SYS volume in the PUBLIC directory and that
should be erased by your script.
Table 9. The following utilities should be removed from the SYS:PUBLIC directory.
Similarly, your script should remove the following files from the SYS:LOGIN directory.
Table 10. Files to be removed from SYS:LOGIN
ATTACH.BATMENU_X.BATNLIST.EXETYPEMSG.EXE
NetWare 4.11 .PSMs are not compatible with the architecture of NetWare 5. For that reason, your
script should remove any .PSM and .MDI files remaining on the server.
Table 11. .PSM and .MDI files to be removed
Files in NWBOOT Files in NWSYSTEM
*.PSM*.MDI*.PSM*.MDI
Copying Files
The heart of the NetWare migration is copying the new NetWare 5 files to the server but the
script must also copy many other files for a successful migration. Drivers, additional script files,
support files, and utilities should also be copied as detailed below.
Copying Startup Files and Drivers
To make all drivers and necessary boot files available to the OS, your script should copy several
files to the NWBOOT directory.
Table 12. Drivers and startup files that should be copied to NWBOOT