Link to home
Start Free TrialLog in
Avatar of crojas
crojas

asked on

NLM in 3.12

What is the sequence for loading the system in 3.12?
Where are the list of NLM to load?
My server load a lot of NLM and it is not loaded in autoexec.ncf or startup.ncf.
Avatar of jgarr
jgarr

This is a bit of a loaded question. It is very vague.
The autoexec.bat on the server should cd to the server directory. The server.exe shouold be loaded here

In the startup.ncf you will load the disk drivers. (Are you using IDE controllers or SCSI controllers??) There are also set parameters that you may or may not need to set here.

In the autoexec.ncf the server name is stated with the IPX Internal Network number. Also the LAN drivers are loaded and bound here..

There are about 1000 other things you can do depending on the applications that you load on the server, performance enhancement settings, and other stuff..

Hope this helps.
Your server runs two batch files:  STARTUP.NCF, AUTOEXEC.NCF.

When an NLM loads, if it requires other NLM's it will often load them  automatically (eg. if you load RPSX.NLM, it will autoload REMOTE.NLM).

You have to look at each line of the STARTUP.NCF AND AUTOEXEC.NCF files, they may run other batch files (eg. WEBSTART to start Netscape FastTrack Server; UNISTART to start services such as FTP, DNS, NIS; BSTART to start btrieve database services; BESTART to start BackupExec; ASTART6 to start ArcServeIT; and there are thousands of others).  You can look at the content of each batch file to see what exactly it is loading.

In the STARTUP.NCF or AUTOEXEC.NCF file, it may say something like BESTART.NCF or just BESTART.  When you look for that file, remember that Novell batch files have a NCF file extension.  Batch files are TYPICALLY stored in SYS:SYSTEM.

If you would like to see a list of all of the NLM's including their versions, at the server console type: MODULES
This will list all of the loaded NLM's.

ALL of the NLM's that are being loaded in your server somehow are loaded from either STARTUP.NCF or AUTOEXEC.NCF.  The only exception that I can think of is that Novell has a utility called CRON.  CRON has a timer and loads NLM's at specific dates and times.  If that is being used (I doubt that it is), type MODULES and see if CRON is loaded (you will also see it being loaded from your AUTOEXEC.NCF file).  If it is being loaded, then in the SYS:ETC directory, there will be a file called CRONTAB.  This file has information about what NLM(s) to load and when to load them.

Hope this helps.
Avatar of crojas

ASKER

My Autoexec.ncf is:

file server name ALMAGRO1
ipx internal net 110496
load 3C90X port=6400 int=A frame=ETHERNET_802.2
bind IPX to 3C90X net=2
load 3C90X port=6400 int=A frame=ETHERNET_802.3
bind IPX to 3C90X [port=6400 int=A frame=ETHERNET_802.3 ] net=1
mount all

My Startup.ncf is:

load AIC7870 mem=6000 int=B

And i know the server is loading a lot of modules, i need to know where these modules are loading.
Like I said, you load some NLM's and they load others.  You do not have any batch files other than the STARTUP.NCF and AUTOEXEC.NCF being loaded.

The only things being loaded are some Operating System NLM's, the ones that you listed above and their prerequisite NLM's.

Something you can do to see some of them being loaded is to add the statement LOAD CONLOG right before your first LOAD 3C90X statement.

This loads the Console logger and it dumps to a file in SYS:ETC everything that is displayed on the screen (specifically on the console screen).  To view the file, you have to UNLOAD CONLOG (just enter it at the console).  This closes the file and writes the info to disk.  Then go to the SYS:ETC directory and look for a file named something like CONLOG.LOG or maybe just CONLOG (I forget).  You can review that file and see what is being loaded from the time CONLOG was loaded in the AUTOEXEC.NCF.

Larry
There are two easy ways to locate modules loaded on a server. The first is to type modules at the server prompt. The second is to use the config.nlm loaded on the console. Config.nlm creates a file called config.txt in sys:system. You can read the config.txt into an application called Config reader which will give patch info as well as all modules currently loaded. Config reader runs on a Windows workstation.
Avatar of crojas

ASKER

I can't reboot the server until Friday, so i need another way. I know that in the startup there is a program called nlm loader, this program is supossed to be the one that load all the modules, about 40. So where i can locate the configuration file for this nlm loader, this is because i need to add one module after many others.
When you type MODULES, they are listed in the reverse order that they were loaded.  So the first module listed is actually the last NLM loaded.  So you can compare the modules to the LOAD statements in your STARTUP.NCF and AUTOEXEC.NCF to tell when they were loaded.

Larry
Avatar of crojas

ASKER

But that's exactly my problem, i have all the patches for Y2K and in the autoexec.ncf and Startup.ncf doesn't appear the way they are loaded. That's exactly what i want to know. If you check my autoexec.ncf and startup.ncf you'll not find anything like that.I don't want to know just what nlm is loaded or not, i want to know how to add another at the end.
I'm a little unclear as to why you want to know this in the first place. I'm happy that Netware knows how to load what it needs when it needs it.  ;)
If you have specific nlms that you want to know what the dependencies are, why not list those. For example, btrieve has several required nlms that are autoloaded by the system when btrieve is loaded.
Avatar of crojas

ASKER

I need to add a new nlm that need other nlms to be loaded first, so if i put it in autoexec.ncf it load before the others, where should i put it?
Crojas, I don't think you have list all of the lines in your autoexec.ncf and startup.ncf files. If you say, the lines list above are your exact autoexec.ncf and startup.ncf files their is noway you would have up to 40 modules loaded when the system is up and running.  You will have at most 15 - 20 modules.  If you want proper help advise, please lists out all items in your autoexec.ncf and startup.ncf.  

You said your server is patched, there should be a line in your starup.ncf that indicate PM312 loader or something similar.  This loads up over 30 nlms at start up.  This comes with nw312 update.  All these nlms sit in your C: partition.

What is this nlm that you want to load before the others?
Avatar of crojas

ASKER

I'm not exactly a newbie, my NCF files are exactly as you have seen. I know how to install a Netware Server and administrate, that's the reason why i'm asking. I'm completely sure that there are no other lines, i also know that there is a nlm loader that load  lot of modules.
A few friends that administrate Novell servers cannot understand how these modules are loading.
I suspect there is maybe a change in the name of the files, like in DOS when you change in msdos.sys the name of autoexec.bat.
When my system boot load the nlm loader, and that's everything i know.
I'd use conlog then. Up near the top of the autoexec.ncf after the IPX network number reference, load conlog. When the server is loaded, unload conlog and look at the console.log file in the SYS:ETC directory.
This will capture the screen output to a text file and you can see what nlms are loaded.
(What you may be talking about is the patch loader? If you patched the server, right after the system console comes up, you see a list of nlms that autoload. I don't think you have a lot of control of them; I also think you shouldn't attempt to. ) Ditto of teckees comment..

The big question is;

!!! What is the application or nlm that you are loading? !!!

 If it is like any other nlm I have worked with, it should work fine after the patched nlms are loaded.

Avatar of crojas

ASKER

I repeat again i want to load a nlm after everything, but i don't know where to put this nlm, because my nlm need the btrieve loaded. So where do i put this nlm?
If i use conlog i can see the nlm loaded, but i don't care about that, i can see it using the nlm loader.
Right now, i have to manually load this nlm after the system boot.
Avatar of crojas

ASKER

Adjusted points to 356
If you only want to load a nlm after everything, put it ad the end of your autoexec.ncf file (after "mount all"). If the nlm need the btrieve started and btrieve.nlm it's not on list of the modules in memory, simply put "bstart" before the load of your nlm.
That's where I'm headed, rmalanca.
There is !!!no!!! way to tell Netware to load a NLM after everything else. We have a multitasking system here. Placeing it at the end of your autoexec.ncf will help your chances but will !!not!! garantie anything.

If this NLM that you are tring to load is written properly then it will load all NLM required prior to loading itself. This function is called AUTOLOAD. Autoload happens for example when you load your NIC (Network Interface Card) driver (*.lan). As an example:
"Load 3c90x frame=ethernet_802.2"
would load msm (msm31x), ethertsm, and depending on the version a few others, prior to loading itself.

From your description I would have to agree with some others here that you didn't give us all of your NCF files. I could possible that you have a second AUTOEXEC.NCF located in C:\SERVER.312.  This was previously used for a register memory requirement from applications like Arcserve. If this isn't the case then you have no patches installed on this server and you should be loading < 20 modules, which is not very many.

Now back to your problem. A tool exists for Netware that might help you if I understood your problem. It is called DELAYCMD.NLM. You could put the delaycmd line at the end of your autoexec.ncf and give it a time out of 5 minutes and then you may be 99% sure that your NLM will be loaded last. Delaycmd.nlm is a freeware product from Cheyenne (www.Cheyenne.com) and if I remember correctly the file was named delay.zip. I have also seen an article from Novell about a cron utility for Netware but I don't know if it's available for 3.12.

Hope this answers your question.

PS: a good administrator, not a newbie, who can install and administrate a Netware server also knows how important it is to install its patches. If that was all of your NCF files then you should take a look at the minimum patch list from Novell and get it on your maschine before your boss throws you out because all of his files that he has collected over the past 10 years, ARE GONE!!
Avatar of crojas

ASKER

Daryn i came to this company where they have 2 Netware servers, i installed 2 NT Servers, 3 Linux Servers (Samba, Web, etc). But i did't know to much about Netware, but i checked at startup that many nlm's are loaded, Arcserve, Btrieve and Y2K patches, including PM312. But my question is because i couldn't find where are they loaded, i'll check on Monday if there is another autoexec.ncf that will explain my problem, but if i load install and check both ncf files that's all i could find, nothing else.
Also i know hot to load nlm's but i'm not very interested in understanding this machine, because i will change it in the next months, but i least i want to understand this.
Hi CRojas!

Your startup and autoexec.ncf do not comply with your text. You write that PM312, Arcserve and other Y2K patches are loaded but there are no lines that imply it.

PM312 for example, should be loaded first, before anything else. PM312 loads per AUTOLOAD several other patches found in C:\Server.312. PM stands for patch manager.

This with Arcserve seems to comply with that what I told yesterday. You most likely have a second autoexec.ncf located on C:. The autoexec.ncf found at SYS:SYSTEM may or may not be used anymore. Some people let the 2nd autoexec die.

BTRIEVE is most likely being loaded by Arcserve per AUTOLOAD if it not being used as a backend for client apps. Arcserve utilizes BTRIEVE to manage its databases.

You should find out how all of this is being loaded. Most NLM's don't care where and when but there are a few (i.e. PM312) that really do.

If you have to "put up" with Netware for a while then I would suggest that you purchase one of David Clarks books. They are very informative (the basics) and are somewhat fun to read. It might even change your mind about jumping off of the RED boat.
Sorry, I have been out of town.  I agree with Daryn.  Your STARTUP.NCF does not indicate that your patches are being loaded.  Your AUTOEXEC.NCF does not indicate that ArcServe is being loaded.  IF you have an alternate AUTOEXEC.NCF file, it HAS to be called from your STARTUP.NCF file, which based upon the files that you showed us, that is not happening.

Where to look for your startup files:
STARTUP.NCF file is probably in the C:\SERVER.312 directory unless the server was upgraded from an earlier version.  Just look for it in what ever directory that the server starts from (whatever directory you type "SERVER" to start your server).

AUTOEXEC.NCF file is usually in SYS:SYSTEM.  If you are using an alternate AUTOEXEC.NCF file, it is typically in the same directory as your STARTUP.NCF file.

Most people start their server by just typing SERVER, but if you server starts with any options such as "SERVER -S \path\filename" let us know, that changes things.

Larry
ASKER CERTIFIED SOLUTION
Avatar of techkees
techkees

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of crojas

ASKER

Just a little question, Is it posible to get access to the C drive when the system is running?

And an explanation: I didn't know that you can change the autoexec.ncf, that was my question, but if you load install can you see in any way the other autoexec.ncf. The files i posted before are in install module.
With INSTALL.NCF, you can only view/edit the AUTOEXEC.NCF in SYS:SYSTEM, but you can view/edit ANY STARTUP.NCF file (it will prompt you for a path).

In NetWare 3.x, you can view/edit any text file using the EDIT (NetWare) program.  The syntax is:   LOAD EDIT PATH\FILENAME

eg:  LOAD EDIT C:\SERVER.312\STARTUP.NCF
or    LOAD EDIT SYS:SYSTEM\AUTOEXEC.NCF

Of course you can provide other paths and filenames.

A good program to download is called Electronic Toolbox.  It allows you to use DOS like commands from the server prompt such as DIR, COPY, etc...  You can also use the commands to view/manipulate the DOS partition as well.  Here is the URL: http://support.novell.com/cgi-bin/search/search.pl?database_name=kb&type=HTML&docid=%03DF161273%3a943882086%3a%20%28%20toolbox%20%22netware%203%22%20%29%20%20AND%20%28%20docGroup%20%3d%20%280%29%20%29%20%20%07%01%00&byte_count=68888

Larry
Avatar of crojas

ASKER

To lpenrod, thanks for the tools, i've found the autoexec.ncf

To techkees, i think you give the answer i was finding, but just one question, i'm loading in autoexec.bat just the server.exe without any comments, now is supose that startup.ncf is in c:\, but if don't where is supose to be? My autoexec.ncf is in c:\ (the right one).

Daryn, thanks for help me to find the autoexec.ncf, but i was looking for the boot sequence in my first question.
Could you post your AUTOEXEC.BAT?
Avatar of crojas

ASKER

Autoexec.bat:

server
Thank you.

You AUTOEXEC.BAT does not specify a path, so it has to be loading it from the root of drive C:.

Could you please post your STARTUP.NCF file that is in C:\
Avatar of crojas

ASKER

I couldn't find any startup.ncf in c:\.
With the tools i did a dir c:\startup.ncf and nothing appears.
Do a "dir startup.ncf /s"
crojas,

If your autoexec.bat only has the word server in there, there are two possiblility one server.exe is in the C:\ directory another possibility is at C:\DOS.  However there is another remote possibility and that is server that it actually execute is a dos Batch file and from there it calls the real server.exe.

I think the best way for you, instead of guessing where everthing is at, is just stay late one day and down the server and to a dir search with /s option to search sub directory for all *.ncf files and server.exe.
Hi!

The comment from Techkees is good. It could be that dos has been removed.

Another tip for reading files from C: (when dos is not removed) is to use install.nlm. Choose "edit startup.ncf". When prompt comes for the path you could enter "C:\autoexec.bat" for example. This way, you could follow the server boot without downing the server.

Another note: If your system is starting the way I described above (autoexec.ncf on C:), no line is needed to run the autoexec.ncf found on C:, so long that the SYS volume is NOT mounted. If the SYS volume is mounted while processing the startup.ncf then a direct call to C:\??\autoexec(or other).ncf is required. This is because after the SYS volume is mounted, SYS:SYSTEM is the servers default path.

Daryn