Registry / Configuration Manager
NWKCFG.NLM provides the functionality used by the Kernel for the managing and execution of the load order template. The template consists of 32 stages. Stages 0 - 5 are defined as Kernel stages, with stages 7 through 31 as user stages.
Each stage consists of template entry for each nlm to be loaded and the order to be loaded in, including information on where to load the nlm from. The definition of where to load the nlm from is in the LoadFlags Definition Table. The following tables describe each stage and the nlms it loads.
STAGE K (Kernel Startup stage)
The Kernel Startup stage is the process that first loads the CDBE.NLM (NetWare Configuration DataBase Engine). After the kernel initializes, it will then load NWKCFG.NLM, which will then begin the loading of nlms by stages. NWKCFG.NLM uses the CDBE engine for knowing which NLMs that need to be loaded and when.
STAGE 0 (Pre STARTUP.NCF stage)
The nlms that are loaded during the Pre Start-up.ncf stage are generally extended kernel services. These services have no dependencies on any nlms (except storage services) and the only functions that they need are provided by the OS kernel (memory, threads, etc.). Also these nlms\ must be loaded before the STARTUP.NCF is executed.
SHOWLOGO.NLM 0 FLLoadFromDOSorList
CPUCHECK.NLM 1 FLLoadFromDOSorList
DIAG500.NLM 2 FLLoadFromDOSorList
NEB.NLM 3 FLLoadFromDOSorList
NBI.NLM 4 FLLoadFromDOSorList
MM.NLM 5 FLLoadFromDOSorList
NWPA.NLM 6 FLLoadFromDOSorList
NWPALOAD.NLM 7 FLLoadFromDOSorList
ORION.NLM 7 FLLoadFromSYSorDOS
STAGE 1 (Post STARTUP.NCF & Pre SYS Volume Mount stage)
The nlms that are loaded during the Post STARTUP.NCF execution / Pre SYS Volume Mount stage are nlms that require kernel services and storage services. These nlms will be ran after startup.ncf has been executed but before any volumes are mounted.
LSL.NLM 0 FLLoadFromDOSorList
SGUID.NLM 0 FLLoadFromDOSorList
CONNMGR.NLM 1 FLLoadFromDOSorList
LFS.NLM 2 FLLoadFromDOSorList
FILESYS.NLM 3 FLLoadFromDOSorList
STAGE 2 (Pre AUTOEXEC.NCF execution & Post SYS Volume Mount stage)
The nlms that are loaded during the Pre Autoexec.ncf execution / Post SYS Volume Mount stage are nlms that need to be loaded after the SYS volume has mounted, but before the autoexec.ncf is executed.
QUEUE.NLM 0 FLLoadFromDOSorList
NCP.NLM 1 FLLoadFromDOSorList
UNICODE.NLM 2 FLLoadFromDOSorList
WS2_32.NLM 3 FLLoadFromDOSorList
XLDR.NLM 4 FLLoadFromSYSorDOS
XIM.XLM 4 FLLoadFromSYSorDOS
XSUP.XLM 4 FLLoadFromSYSorDOS
XMGR.XLM 4 FLLoadFromSYSorDOS
EXPXENG.XLM 4 FLLoadFromSYSorDOS or NOVXENG.XLM
STAGE 3 (Pre AUTOEXEC.NCF & Pre Name Service Loader stage)
The nlms that are loaded during the Pre Autoexec.ncf & Pre Name Service Loader stage are nlms that need to be loaded after the SYS volume has mounted, but before the Name Service loader is loaded.
DSLOADER.NLM 0 FLLoadFromDOSOnly
CCS.NLM (CCS.XLM) FLLoadFromSYSorDOS
SLP.NLM 1 FLLoadFromSYSorDOS
POLIMGR.NLM 2 FLLoadBoundInCopyOnly
MASV.NLM 3 FLLoadFromSYSorDOS
STAGE 4 (Pre AUTOEXEC.NCF & Post Name Service Loader stage)
The nlms that are loaded during the Pre Autoexec.ncf & Post Name Service Loader stage are nlms that need to be loaded after the Name Service Loader is loaded, but before autoexec.ncf is executed.
NDSAUDIT.NLM 0 FLLoadFromSYSorDOS
DS.NLM 1 FLLoadFromSYSorDOS
TIMESYNC.NLM 2 FLLoadFromSYSorDOS
STAGE 5 (Post AUTOEXEC.NCF stage)
The nlms that are loaded during the Post Autoexec.ncf stage are nlms that need to be loaded after the autoexec.ncf is executed.
HWDETECT.NLM 0 FLLoadFromDOSorList
· FLLoadFromSYSorDOS Load NLM from SYS:SYSTEM or from the DOS start-up folder.
· FLLoadBoundInCopyOnly Load NLM from bound in lis.t in server.exe
· FLLoadFromDOSorList Load NLM from bound in list in server.exe or from the DOS start-up folder.
· FLLoadFromDOSOnly Load NLM only from the DOS start-up folder.
Typing LIST STAGE at the server console will show you the stages that are loaded and the applications that are loaded for that stage. This is also a good way of checking if all of the stages are loaded.
Managment of the stages can be done with NCF files to help simplify loading modules through stages.
Most of the NLMs in each stage is contained in the SERVER.EXE file. To load the NLM manually, you will need to manually load each NLM by putting an asterisk in front of it. See Example below. This will allow you to troubleshoot down to a specific NLM that may be causing problems on your server.
# This NCF files can be used after running SERVER -NS (Load STARTUP.NCF and all Stages)
If a NetWare 5 server is brought up "server -ns" and the commands listed above are manually typed in at the server console prompt, there could be problems. The server may abend after running "loadstage 1". The reason this may happen is because "loadstage 1" loads filesys.nlm (the NetWare file system) and this will automount the SYS volume. With this done, NetWare automatically tries to execute the autoexec.ncf file (no user intervention necessary). This is not a desired result because stages 2-4 must be executed before the autoexec.ncf file. The server will abend because modules loading in the autoexec.ncf expect public symbols to already be defined and they are not. The server will get into a loop of trying to load all of the modules it needs and it will eventually page fault.
The best way to correct this is by typing "server -ns -na"; this will ensure that the autoexec.ncf file is not executed until the administrator specifies that it should be. Obviously if the sys volume doesn't contain an autoexec.ncf file there is not a problem in doing this.
On a normal server boot, STARTUP.NCF will run prior to loadstage 1. For troubleshooting purposes, we have moved STARTUP.NCF to after loadstage 2 to prevent SYS from auto-mounting.
Placing the commands in an NCF should work without a problem because the server will be issued commands one right after the other to mount the volume and load all of the stages.
# This NCF files can be used after running SERVER -NA (Load AUTOEXEC.NCF and all Stages)