Troubleshooting Server Startup Problems Using the LOADSTAGE and LIST STAGE Commands
Articles and Tips: article
01 Apr 2001
When the SERVER.EXE program initially begins loading NetWare, the LOADER portion of SERVER.EXE calls the NetWare Kernel Config NetWare Loadable Module (NWKCFG.NLM). This module contains a load order template covering which NLMs are to initially load, the order in which they should load, and the directories from which they should be loaded. Stages 0 through 5 are designated as Kernel stages.
NetWare 5.1 comes with a couple of commands that can assist you in troubleshooting problems in some of the initial phases of NetWare as it initiates its services. These commands are LOADSTAGE and LIST STAGE. The LIST STAGE command allows you to see which NLMs and other device drivers are loaded at each Kernel stage, while the LOADSTAGE command allows you to load only those NLMs and device drivers at each of those stages.
The LOADSTAGE Command
The LOADSTAGE command was originally intended to be used by developers to the Novell platform. Oftentimes developers need to run the NetWare operating system in its minimal state in order to see how their device drivers work with the native OS.
You can start NetWare in its minimal state by executing SERVER.EXE without running the AUTOEXEC.NCF and STARTUP.NCF files, using the following command:
SERVER -NA -NS -NL <Enter>
This loads Kernel stage 0 only.
Once the device driver is stable with the minimal operating system environment, the driver can be checked at each of the other Kernel stages to see if there are any conflicts with any of the NLMs and device drivers that load there.
To load the NLMs designated for each Kernel stage, you would type the following at the server console prompt:
LOADSTAGE 1
The choices for this command are 0 through 5; this example assumes stage 0 is already loaded.
To load all of the NLMs and device drivers in sequence, you would type:
LOADSTAGE ALL
The LOADSTAGE command can also be used as a troubleshooting tool by any network administrator. By executing SERVER.EXE without the AUTOEXEC.NCF and STARTUP.NCF files, you can pinpoint where you are having problems loading the server operating system.
The LIST STAGE Command
The LIST STAGE command allows you to see which NLMs and device drivers are loaded at which stage and in which order. To see which NLMs load in each of the initial stages, type:
LIST STAGE <Enter>
You will see information similar to the following (the information in the parentheses to the right of the command does not show up in the onscreen listing, but is put here to help you better understand what many of these modules do--some modules have no information listed because the developers did not fill out the information field for their NLMs properly):
The following applications are loaded for Stage 0:
PVER500.NLM (NetWare 5.00 Version Library)
SHOWLOGO.NLM (Shows NetWare logo)
CPUCHECK.NLM (NetWare Processor Checking Utility)
DIAG500.NLM (Diagnostic/coredump utility for NetWare 5)
NEB.NLM (Novell Event Bus)
NBI.NLM (NetWare Bus Interface)
MM.NLM (NetWare Media Manager)
NWPA.NLM (NetWare Peripheral Architecture)
NWPALOAD.NLM (NetWare 5 NWPA Load Utility)
ORION.NLM (No information listed)
THEJUDGE.NLM (No information listed)
SERVZEN.NLM (No information listed)
The following applications are loaded for Stage 1:
LSL.NLM (Novell NetWare Link Support Layer)
SGUID.NLM (NetWare 5 GUID Services)
CONNMGR.NLM (NetWare Connection Manager NLM)
LFS.NLM (NetWare Logical File System)
FILESYS.NLM (NetWare File System NLM)
The following applications are loaded for Stage 2:
QUEUE.NLM (NetWare Queue Services NLM)
NCP.NLM (NetWare Core Protocol Engine)
UNICODE.NLM (NetWare Unicode Runtime Library)
LOCNLM32.NLM (NetWare NWLocale Runtime Library)
WS2_32.NLM (NetWare Winsock 2.0 NLM)
XIM.XLM (Novell NICI Signed Loader)
XSUP.XLM (NICI XSUP from Novell)
XMGR.XLM (NICI XMGR (W1))
NOVXENG.XLM (NICI Worldwide XENG from Novell)
INSTAUTO.NCF (No information listed)
The following applications are loaded for Stage 3:
DSLOADER.NLM (Novell Directory Services Version 8 Loader)
CCS.XLM (Controlled Cryptography Services)
SLP.NLM (Service Location Protocol (RFC2165)
POLIMGR.NLM (No information listed)
MASV.NLM (NetWare Mandatory Access Control Service)
The following applications are loaded for Stage 4:
NDSAUDIT.NLM (NetWare 5 Directory Services Audit)
DS.NLM (Novell Directory Services Version 8)
TIMESYNC.NLM (NetWare Time Synchronization Services)
The following applications are loaded for Stage 5:
HWDETECT.NLM (Novell Hardware Insertion/Removal Detection)
BAILIFF.NLM (No information listed)
LOADING.NLM (No information listed)
An Example of Troubleshooting Server Initialization
For an example of how network administrators can use the LOADSTAGE command to help them diagnose server problems, let's take a case in which a Support Pack upgrade goes awry. Suppose you just installed Support Pack 6a on your NetWare 5.0 server and Support Pack 2a on your NetWare 5.1 server, and now these servers don't start anymore. What do you do?
First rule: Don't panic! Resist the impulse to revert back to the previous state from the Support Pack installation immediately. Instead perform some basic troubleshooting to identify the root cause:
Start the server by going to the C:\NWSERVER directory and typing:
SERVER -NS -NA -NL <Enter>
Watch closely for any error messages as Kernel stage 0 loads.
Execute the STARTUP.NCF file by typing the following at the console prompt:
STARTUP.NCF <Enter>
Verify that all drivers are loading without error. If they are not, or if you suspect failure, don't go on from here. Instead, try to revert back to the previous versions of the storage and other device drivers that are executed from the STARTUP.NCF file. You may also consider downloading the most recent drivers from your hardware vendor, and then try rebooting the server using these new drivers.
From the server console prompt, type:
LOADSTAGE 1 <Enter>
At the end of the Loadstage 1 loading process, volume SYS should automatically mount because of the LFS.NLM and the FILESYS.NLM modules loading.Verify that volume SYS mounts without errors. If it does not, try running the VREPAIR utility. If the volume SYS is not even recognized, down the server and proceed with the steps that are outlined in Step 2. You obviously suffer from a device driver problem and NetWare is unable to recognize the server's disk drive hardware.
From the server console prompt, type:
LOADSTAGE 2 <Enter>
At this stage NICI (Novell International Cryptography Infrastructure) is prepared, along with the other NLMs that load here, If there are any error messages as NICI begins to initially load, verify you have all the correct files (the same files that are in the Support Pack you just upgraded to) in the C:\NWSERVER directory.
From the server console prompt, type:
LOADSTAGE 3 <Enter>
At this point, Directory Services is prepared and NICI initializes. This is the most critical part of the startup process. If NICI fails to initialize now, Directory Services won't open. If you see any NICI or MASV errors (most probably a -1497 error message), this means NICI is corrupted.
There are several possibilities as to why this happened, from a hardware fault to an incomplete shutdown after the Support Pack was installed. Your only option at this point is to completely remove NICI from your server. To do this, you need to download NREPAIR2.EXE file from Novell's Download utility at http://download.novell.com/ . Follow the steps contained in the accompanying readme file.
After successfully removing NICI from your server, get the *.NFK or *.NFL file from your server base license disk, and copy that file to the SYS:SYSTEM directory while renaming the file to NICIFK (with no extension). Once this is done, start the same procedure as described in these steps again.
From the server console prompt, type
LOADSTAGE 4 <Enter>
At this point, Directory Services is loaded and opened. As usual, verify that the correct versions are in place and that you see no error messages as it loads.
Execute the AUTOEXEC.NCF file by typing the following at the server console prompt:
AUTOEXEC <Enter>
If you want to, remark out anything that is unneeded or unnecessary before you execute it. Your problem might be an incompatibility with some older or third-party software that is being executed from AUTOEXEC file. At this point, your server should now be completely functional again.
Finally, at the console prompt, type:
LOADSTAGE 5 <Enter>
This stage shouldn't give you any problems. But if it does, relocate, remove or rename the HWDETECT.NLM, BAILIFF.NLM, and LOADING.NLM files. You can always manually start all of these removed services from the AUTOEXEC.NCF file in order to find anything that is amiss at this point.
* Originally published in Novell AppNotes
Disclaimer
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.