Date:	04 Sept 92
From:	Holger Dopp, Bernd Prager, GECKO mbH, Rostock, Germany
Subj.:	LAN WorkPlace for DOS on diskless workstations
Keys:	LSL, LWP, Remote Boot, RARP

	To use different LAN adapters with only ONE boot image file, you need
	different NET.CFG files. As described in ODINET.TXT (29 Jul 92) you
	have to use different LSL.EXE files (one for each netadapter).
	
	Now we changed this way to use only one common LSL.EXE file.
	



1. LWP on diskless workstations with one netadapter (Summary of (1))

As Brian Meek (Novell, Inc.) described in (1) the usage of LWP for DOS on
diskless workstations is realy easy, if you have newest updates of all
nessecary files. With the date of July, 29 1992 these are:

		LSL	Ver. 1.21
		RPLODI	Ver. 1.02
		IPXODI	Ver. 1.20
		NETX	Ver. 3.26

Especially the RPLODI Version 1.02 is very, very important, because the Version
1.01 will crash down your pc every time.

As discribed in (1) during booting of a diskless PC from a Netware server, the
boot image is placed in a virtual disk A:. The LSL looks during loading for the
NET.CFG file, where basic information for the Link Support Layer were
loaded.
If you run TCPIP.EXE later, it access to drive A:\ to load NET.CFG, because
that is where LSL has been found the NET.CFG earlier. But normaly you haven't a
drive A: on a diskless workstation. Thatswhy your autoexec.bat should have the
following outfit: 
		...
		SUBST E: A:\
		E:
		LSL
		NE1000
		IPXODI
		NETX
		SUBST E: /d
		LOGIN

The autoexec.bat should be copied to the LOGIN directory.

If you start TCPIP, you should do this with a batch file who looks like the
following:
		MAP ROOT E:=server\volume:XLN\BIN40
		E:TCPIP
		etc.

A copy of the NET.CFG inside the boot image file should stay in \XLN\BIN40.
The basic NET.CFG could have following entries:

		Link Support
			Buffers 8 1500
			Mempool 4096

		Link Driver NE1000
			Int 3
			Port 300
			Frame Ethernet_802.3
			Frame Ethernet_II
			Protocol IPX 0 Ethernet_802.3

		Protocol TCPIP
			ip_address	192.109.203.11
			ip_netmask	255.255.0.0
			tcp_sockets	8
			udp_sockets	8
			raw_sockets	1
			nb_sessions	4
			nb_commands	8

Our expierences have been shown, that 'Frame Ethernet_802.3' MUST stay before
'Frame Ethernet_II', because otherwise some cards will crash down the PC.

If all these files are on your boot disk, you can create the boot image file 
with DOSGEN.





2. LWP on diskless workstations with different netadpaters

In case of using different types of netadapters in a Novell LAN, you can create
different types of boot image files (one for each adapatertyp) and post them
into the \LOGIN directory. By using the BOOTCONF.SYS, you can connect the
adapter to his boot image file by his node address.

		network,node=boot image file

		0x1,00001B1C99F5=ne1000.sys
		0x1,020701084295=ni5210.sys
		0x1,00aa00117952=ether16.sys

It's much easier to handle, if you have only one boot image file for all
adapters. A problem is, that some cards won't work, if the haven't here own
NET.CFG. This is the reason, why we are using different NET.CFG files with
different names.
The LSL and TCPIP programs are looking for a NET.CFG file during here loading
procedure. But as I mentioned before, you need a special NET.CFG for each net
adapter.

If you now create different NET.CFG, you must rename each to a typical name.
		N10.CFG = NE1000
		N20.CFG = NE2000
		N52.CFG = NI5210
		N16.CFG = EtherExp16
		etc.

LSL is the program which looks first for NET.CFG and all other files (RPLODI,
IPXODI, TCPIP) will look for the CFG file, which LSL has been loaded before. If
for example LSL loads Nxx.CFG, also all other programs will look for Nxx.CFG.

Because you can't give a CFG file as a parameter to LSL, you must patch it.

The program BOOT.EXE does this for you!
In dependence of the installed netadapter BOOT patches the loaded LSL module to
using a special Nxx.CFG file by using the PARM.INI file. (For additional
information for BOOT see (4). )
After these patch, all other programs (e.g. IPXODI, TCPIP etc.) are using also
the 'new' Nxx.CFG file.

By using BOOT.EXE, a AUTOEXEC.BAT could have the following content.

		@echo off
		prompt $p$g

		subst e: a:\
		e:

		LSL
		BOOT -L
		if errorlevel==3 goto exp16odi
		if errorlevel==2 goto ne1000
		if errorlevel==1 goto ni5210
		goto end

		:exp16odi
		rplodi
		exp16odi
		goto end

		:ne1000
		...

		:ni5210
		...

		:end
		ipxodi
		netx
		subst e: /d
		login

The different CFG files should stay also in \XLN\BIN40 (e:), so that TCPIP will
find them later.





3. TCPIP and RARPSERV.NLM

Each Netware workstation need a special IP address, to communicate e.g. with
UNIX hosts or other nodes over TCPIP. These number can be set inside the
NET.CFG as shown below.

If you use some netadapters (of the same kind), which all are using the same
NET.CFG, you need an other way to determ the IP number. 

An easy way to do this, is RARPSERV.NLM (CompuServe NOVLIB). Because its
installation can be a little bit difficult here are some hints. 
As discribed in (2) there are two files neccessary:
		SYS:ETC\ETHERS
			02:07:01:08:E4:D9	gecko_pc01

		SYS:ETC\HOSTS
			192.109.203.22		gecko_pc01

To load the RARPSERV.NLM on your file server you should use the following
script inside your AUTOEXEC.NCF: 
		...
		load ne2000.lan int=3 port=330
		bind ipx to xxx.lan net=1
		load ne2000.lan int=3 port=330 frame=ETHERNET_II name=SERV_II
		load tcpip
		load snmplog
		bind ip to SERV_II addr=192.109.203.2
		load ipconfig
		load RARPSERV
		...

The RARPSERV.NLM will manage than, that each ethernet address will obtain here
own IP address.
If you want to use this service, the IP_Address entry inside your NET.CFG
should look as following:
		Protocol TCPIP
			ip_address	0.0.0.0







Additional Information:
	(1) - LWPRPL.TXT     by Brian Meek, Novell Inc.
	(2) - RARPSERV.TXT   by Brian Meek, Novell Inc.
	(3) - ODI User Guide by Novell Inc.	
	(4) - BOOT.TXT 	     by Bernd Prager, GECKO mbH

Addr:	CompuServe:	100023,342
	Internet:	hd@pc.gecko.de
	Mail:		Dipl.-Ing. H.Dopp
			Wismarsche Str. 3
			O-2500 Rostock
			Germany
	Phone:		(0049) 0381-454462
