NOVELL TECHNICAL INFORMATION DOCUMENT TITLE: RPL Support Setup Instructions DOCUMENT ID: TID014933 DOCUMENT REVISION: A DATE: 09MAY94 ALERT STATUS: Yellow INFORMATION TYPE: Issue README FOR: NA NOVELL PRODUCT and VERSION: PERSONAL NetWare 1.0 ABSTRACT: This document contains instructions for setting up support for diskless clients. The diskless clients are officially supported through Remote Program Load (RPL). This is the ability, through special hardware and software, to have a client machine boot from a network file server. ------------------------------------------------------------------ DISCLAIMER THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. NOVELL MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY. NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION. ------------------------------------------------------------------ ISSUE In this document, "NetWare" refers to the NetWare operating systems 2.x, 3.x and 4.x. "PNW" refers to PERSONAL NetWare and the networking piece of Novell DOS 7. "ND7" refers to Novell DOS 7. Because Remote Program Load (RPL) functionality is provided by NetWare, PNW will not supply this functionality if a NetWare server is detected on the network. You should reference your NetWare documentation for instructions on setting up RPL. Further documentation for RPL with PNW can be found in chapter 12 of your PERSONAL NetWare manual or in the RPLDOC.TXT file on the last Novell DOS 7 install diskette, depending on which product you purchased. THE LOGIN DIRECTORY Though the NetWare servers provide a LOGIN directory by default, PNW server's do not. This directory needs to be created and shared by the network administrator on one of the PNW servers in the workgroup. This special directory is the basis for connecting diskless workstations. It is used to load the boot disk image, network utilities, and software that could not be stored on the client itself. CREATING THE LOGIN DIRECTORY To create the LOGIN directory, you can use the MDLOGIN batch file listed at the end of this document, or you can do it manually. To create the LOGIN directory manually: 1. Select what server will contain the LOGIN directory. 2. On that server, create a C:\LOGIN directory. 3. Share the DOS directory as a network directory "LOGIN". (for example, NET SHARE C:\LOGIN LOGIN) After the directory is created and shared on the network, any client who loads the VLMs and has that workgroup as its preferred workgroup in the NET.CFG will have its first network drive automatically mapped to LOGIN. SERVER does NOT have to be unloaded and reloaded for the LOGIN directory to take effect. Because the purpose of the LOGIN directory is to provide startup files to clients who don't have them locally, the programs and files necessary to running the NET utility should be included in the directory. The files that should be copied to the LOGIN directory that are required to run NET are listed in the table below. If you ran the MDLOGIN.BAT file to create the LOGIN directory, these files would have been automatically copied over. If you manually created the LOGIN directory, copy the following files to that directory before continuing: File Where it can be found NET.EXE C:\NWCLIENT IBM_RUN.OVL C:\NWCLIENT NETU.OVL C:\NWCLIENT NETU2.OVL C:\NWCLIENT NETU.HLP C:\NWCLIENT NETC.MSG C:\NWCLIENT\NLS\ENGLISH The following files are additional files needed for RPL support. They would NOT have been copied over automatically when you ran the MDLOGIN.BAT file. You should copy them from the C:\NWCLIENT\RPL directory to the LOGIN directory now. Only copy the files that you will need (see the "What it is for" column). File What it is for NEARSERV.EXE Responds to NEARSERV requests DOSGEN.EXE Generates a boot image file RPL.COM Provides RPL response RPLFIX.COM Fix for image file with DOS 5.X + RPLODI.COM Support for older boot PROMS (The following files should be copied only if required:) RBOOT.RPL RPL code for Novell PROMS ETHER.RPL RPL code for IBM Ethernet PROMS TOKEN.RPL RPL code for IBM Token Ring PROMS PCN2L.RPL RPL code for IBM PCN2L PROMS This completes the general preparation of the LOGIN directory. Next, you need to generate the boot files for each RPL client and make them accessible by copying them to the LOGIN directory. CREATING A CLIENT BOOT DISKETTE You can generate the client boot diskette by executing the MAKEDISK.BAT file listed at the end of this document. The batch file relies on the existence of the four .EG files also listed at the end of this document. MAKEDISK.BAT creates a basic boot diskette containing the necessary files to get started. To manually create a client boot diskette to be used to generate a boot image file, do the following: 1. Format a diskette with the /s switch. 2. Create a CONFIG.SYS file on the diskette. (see CONFIG.EG) 3. Create an AUTOEXEC.BAT file on the diskette. (see AUTOEXEC.EG) 4. Create a STARTNET.BAT file on the diskette. (see STARTNET.EG) 5. Create a NET.CFG file on the diskette. (see NET.EG) 6. Copy the LSL.COM, MLID (for example, NE2000.COM), and IPXODI.COM drivers to the diskette. 7. Copy the necessary VLMs to the diskette. VLM.EXE AUTO.VLM CONN.VLM FIO.VLM GENERAL.VLM IPXNCP.VLM NMR.VLM NWP.VLM PNW.VLM PRINT.VLM REDIR.VLM TRAN.VLM 8. Copy any other drivers you will need. (for example, HIMEM.SYS) You should test this diskette by placing it in drive A: of a machine on the network (other than the server with the LOGIN directory) and restarting the computer. This diskette should provide all the functionality for booting, attaching to a server, and logging in. The diskette must be functioning properly before you continue. ENABLING THE SERVER TO RESPOND TO RPL CLIENTS To enable the server to respond to RPL Client requests, you must do the following: 1. Verify that no NetWare servers (that is 2.x, 3.x, or 4.x) are on the network. They already provide RPL functionality. If the PNW server finds a NetWare server on the network, NEARSERV.EXE will not load and the PNW server will not respond to client RPL requests. 2. Verify that all nodes (servers and clients) are using the same frame type and that it is the frame type supported by your remote boot PROM. Older style Ethernet boot PROMs use Ethernet_802.3 or Ethernet_II frame types. Newer, "find frame" Ethernet boot PROMs use Ethernet_802.2, Ethernet_SNAP and Ethernet_II (not Ethernet_802.3). If you try to use the wrong frame type, you will not get a connection to the server. The frame type that a machine will use is set in the Link Driver section of the machine's NET.CFG file. NOTE: If you are unsure what boot PROM you have, contact the manufacturer. 3. Create a LOGIN directory with the RPL support files. (See "THE LOGIN DIRECTORY" instructions previously specified.) 4. Copy the necessary RPL files into the LOGIN directory. (See "THE LOGIN DIRECTORY" instructions previously specified.) 5. If you are using the new style boot PROMs, have the server load RPL.COM from the LOGIN directory after IPXODI.COM. (For example, LH RPL.COM BIND NE2000 GNS) NOTE: The RPL.COM must be configured to respond to Get Near Server (GNS) calls. If you created a BOOTCONF.SYS file (see the "ENABLING RPL FOR MULTIPLE CLIENTS" instructions that follow.), RPL will automatically respond to GNS. However, because everyone may not create a BOOTCONF.SYS file, Novell recommends putting the GNS parameter on the RPL load line as in the example. 6. Have the server load NEARSERV.EXE after SERVER.EXE. (For example, LH NEARSERV.EXE) NOTE: If NEARSERV.EXE detects a NetWare server on the network, it will not load. In that case, RPL support must be supplied by the NetWare server. 7. Reboot the server so the RPL.COM and NEARSERV.EXE file load. You must make sure the NEARSERV.EXE file (and RPL.COM if using the new style boot PROMs) loads successfully before continuing. ENABLING RPL FOR A SINGLE CLIENT Before enabling RPL for multiple clients, you should verify that it functions correctly for a single client. Therefore, complete this section before continuing, even if you will be adding support for multiple RPL clients. To enable RPL for a single client, do the following: 1. RPL support must be available at the server. (See the "ENABLING THE SERVER TO SUPPORT RPL CLIENTS" section previously specified.) 2. Make sure the boot prom is installed properly. (See the documentation that shipped with the PROM.) 3. Make sure the Network Interface Card (NIC) is configured properly so it doesn't conflict with any other hardware or drivers in the machine and so it will request RPL. (See the documentation that shipped with the NIC.) 4. Create a boot diskette, and verify that it works. (See "CREATING A CLIENT BOOT DISKETTE" section previously specified.) 5. Copy RPLODI.COM to the diskette, and add it to the AUTOEXEC.BAT (only if using old style Ethernet boot PROMS). NOTE: If you are unsure what boot PROM you have, contact the manufacturer. 6. DOSGEN the diskette to create NET$DOS.SYS in LOGIN. (For example, DOSGEN A:) NOTE: For the syntax for running DOSGEN, run DOSGEN /?. 7. Copy necessary boot files from the diskette to the LOGIN directory. (For example, AUTOEXEC.BAT, STARTNET.BAT) NOTE: After VLM.EXE loads during RPL, the boot image file is no longer available. Instead, the LOGIN directory is where the client is accessing files. For this reason, all files accessed after the VLM loads that are part of the boot process need to be in the LOGIN directory. Also, for this reason, the FIRST NETWORK DRIVE in the NET.CFG on the boot diskette should be set to "A." 8. RPLFIX the NET$DOS.SYS file if using MS DOS 5.X, 6.X or DR DOS 6.X. (For example, RPLFIX C:\LOGIN\NET$DOS.SYS) Note: With the introduction of DOS 5.0, the size of the transient portion of DOS changed. Part of that portion of DOS extended into the area where the RPL puts a generic version of IPX to provide connectivity to the server. That overlap caused the RPL machine to hang during the boot sequence. RPLFIX moves the generic IPX out of the way of DOS. Even though running RPLFIX is not always necessary, it never hurts. Novell recommends running it to prevent possible hanging problems. Verify that the RPL client has no bootable media in the A: or C: drive and reboot it. It should connect to the server, find the NET$DOS.SYS file, and boot just as the other client booted when using the boot disk you created. To see the connection being made and the NET$DOS.SYS file be accessed, you can run NET CONSOLE on the server. ENABLING RPL FOR MULTIPLE CLIENTS This process involves the following steps: 1. Enabling RPL for a single client. 2. Creating a BOOTCONF.SYS file. 3. Creating a dummy AUTOEXEC.BAT. 4. Creating a separate boot disk image files for each client. For detailed steps on enabling RPL support for multiple clients, see chapter 12 in the PERSONAL NetWare manual or the RPLDOC.TXT file located on the last of the Novell DOS 7 install diskettes, depending on which product you purchased. COMMONLY SEEN PROBLEMS Using a drive letter other than "A" as the FIRST NETWORK DRIVE in the NET.CFG: When the client accesses the boot image file, that image file looks just like an A: drive. When the VLMs load, the image file is no longer accessed; the LOGIN directory is accessed instead. Because that switch usually takes place in the middle of a batch file (such as, AUTOEXEC.BAT), that batch file must be accessible. To make the switch smoothly, make sure a copy of that batch file is in the LOGIN directory, and make sure that the LOGIN directory is pointed to by the A: drive when the switch occurs. This is done by setting the FIRST NETWORK DRIVE = A in the NetWare DOS Requester section of the NET.CFG on the boot disk, and making that disk an image file by using DOSGEN. If you find that you need to set the FIRST NETWORK DRIVE to something other than the "A:" drive, try adding a command to the STARTNET.BAT file, right after VLM loads, to change to the FIRST NETWORK DRIVE (For example, F:). Incorrectly configuring the Network Interface Card: You must configure the network interface card according to the documentation that ships with that card. Usually, you must install the boot PROM, set the appropriate frame type, and set another jumper to inform the board that it will do RPL. Not excluding the memory range used by the network interface card during RPL: Most cards use an upper memory range when doing RPL. Many NICs (especially IBM Token-Ring boards) use two upper memory addresses. A memory manager, such as EMM386.EXE, may try to use that same area(s). Using the wrong frame type: Different PROM types use different frame types. For example, the old style Novell Ethernet boot PROM uses 802.3, where the new style "find frame" Ethernet boot PROM uses 802.2. All nodes must use the same frame type because PERSONAL NetWare does not provide routing capabilities between networks (although PNW does support routing packets across routers provided by other software or hardware). Not running RPLFIX against the NET$DOS.SYS file created by DOSGEN: Versions of DOS later than MS DOS 5.0 may have increased the size of the transient portion of DOS. In that case, where the boot PROM tries to put its generic IPX and NETX code could be right on top of DOS causing the RPL machine to hang. Not creating the LOGIN directory correctly: The LOGIN directory should be on one server in the workgroup that is up whenever a RPL client tries to boot. The LOGIN directory must be at C:\LOGIN and must be shared on the network. The network volume called LOGIN should point to the C:\LOGIN directory instead of the C:\ directory. Not loading RPL with the ability to respond to a GetNearestServer (GNS) packet with the complete server information: If you do not provide this functionality, the client will get a response from the server, then try to use connection based information to attach. PERSONAL NetWare does not support that type of attachment. If you do provide GNS functionality to RPL.COM, the server will respond with its complete name and the client will connect properly. To enable GNS functionality in RPL.COM, specify GNS on the load line as documented in the attached draft or supply a BOOTCONF.SYS file. Not loading RPL.COM and NEARSERV.EXE, and verifying that they loaded: It is easy to load these files and not watch the messages. These files may not bind or load for some reason (such as another NetWare server being detected, or the wrong frame type being specified). RPL is only needed when using the new style boot PROMs. Insufficient memory errors when loading RPL.COM or NEARSERV.EXE: Many terminate and stay resident (TSR) programs expand themselves when loaded into memory. For example, a TSR called XX.COM may start out on disk being 10 KB; however, after it is loaded, it has allocated some memory, has terminated resident, and it may be 15 KB. If DOS loads the TSR into a memory area too small for it to be able to expand, it may return such an error. The most probable cause is that you are trying to load RPL.COM or NEARSERV.EXE high (into upper memory). There was probably enough memory to load it up there but not enough memory for it to expand. Try loading the driver low, or free up more upper memory by loading something else low. Not connecting the network cabling after configuring the NIC: After adding the PROM to the RPL client's NIC and modifying the NIC configuration to support remote boot, you may forget to connect the cable. If the RPL client gets a message that a file server could not be found after it has loaded the VLMs, this indicates that the client is not finding a server with a LOGIN directory. This problem normally occurs if the PREFERRED WORKGROUP in the NET.CFG in the boot image file (generated from the boot diskette) is set to an incorrect or nonexistent workgroup. Correct that line in the NET.CFG file, and regenerate the boot diskette with DOSGEN. Don't forget to RPLFIX the new image file. MDLOGIN.BAT @echo off cls echo MDLOGIN.BAT echo ----------- echo This batch file creates a Personal NetWare LOGIN echo directory. After created, when a client loads the echo VLMs, its first network drive will be mapped here echo automatically. This batch file also copies the files echo necessary for running the NET utility for DOS echo into this LOGIN directory. echo echo This batch file makes the following assumptions: echo You are running it on the server where you want echo LOGIN to reside. echo You are logged in as a user with echo workgroup administrator rights. echo You have SERVER configured for enough directories echo that you can add one. echo You have PNW installed on this machine's echo C:\NWCLIENT directory. echo This machine currently does not have a echo C:\LOGIN directory. echo This workgroup currently does not have a echo LOGIN directory resource. echo echo To quit this batch file, press Ctrl+Break or echo Ctrl+C now. Otherwise, pause cls echo MDLOGIN.BAT echo ----------- echo Creating C:\LOGIN directory. md c:\login echo echo Copying NET.EXE. copy c:\nwclient\ne?.exe c:\login echo echo Copying overlay files. copy c:\nwclient\ibm_run?.ovl c:\login copy c:\nwclient\net*.ovl c:\login echo echo Copying help files. copy c:\nwclient\net*.hlp c:\login echo echo Copying English version of NETC.MSG. copy c:\nwclient\nls\english\netc?.msg c:\login echo echo Creating LOGIN network directory. net share c:\login login echo MAKEDISK.BAT @echo off echo MAKEDISK.BAT echo ------------ echo This batch file creates a client diskette for echo booting floppy-only machines to the network. echo Before this diskette can be used, the LOGIN echo directory must have been created (MDLOGIN). echo echo This batch file makes the following assumptions. echo The following files exist in the current directory: echo CONFIG.EG, AUTOEXEC.EG, STARTNET.EG, and NET.EG echo These are example files that correspond to the echo following boot files: echo CONFIG.SYS, AUTOEXEC.BAT, STARTNET.BAT, and NET.CFG echo The A: drive will be used to generate the floppy. echo There is a diskette in A: that can be reformatted. echo The C:\NWCLIENT directory contains the installed echo PERSONAL NetWare drivers. echo echo To exit this batch file, press Ctrl+Break or echo Ctrl+C now. Otherwise, pause cls echo MAKEDISK.BAT echo ------------ echo Formatting floppy disk. format a: /s echo echo Copying CONFIG.SYS. copy CONFIG.EG? a:\config.sys echo echo Copying AUTOEXEC.BAT. copy AUTOEXEC.EG? a:\autoexec.bat echo echo Copying STARTNET.BAT. copy STARTNET.EG? a:\startnet.bat echo echo Copying NET.CFG. copy NET.EG? a:\net.cfg echo echo Copying ODI drivers. copy c:\nwclient\ls?.com a: copy c:\nwclient\ipxod?.com a: echo echo Copying VLM drivers. copy c:\nwclient\vl?.exe a: copy c:\nwclient\auto.?lm a: copy c:\nwclient\conn.?lm a: copy c:\nwclient\fio.?lm a: copy c:\nwclient\general.?lm a: copy c:\nwclient\ipxncp.?lm a: copy c:\nwclient\nmr.?lm a: copy c:\nwclient\nwp.?lm a: copy c:\nwclient\pnw.?lm a: copy c:\nwclient\print.?lm a: copy c:\nwclient\redir.?lm a: copy c:\nwclient\tran.?lm a: echo echo ****IMPORTANT*** echo The boot floppy is now created. Don't forget, echo you MUST... echo 1. Copy the correct MLID driver onto the echo floppy diskette echo echo 2. Edit the NET.CFG file with the correct echo MLID name, hardware settings, and workgroup. echo echo 3. Edit the STARTNET.BAT to load the MLID after LSL. CONFIG.EG FILES=50 BUFFERS=20 LASTDRIVE=Z AUTOEXEC.EG @echo off CALL STARTNET.BAT PATH A:\;F: NET STARTNET.EG @echo off LSL rem The MLID driver (eg. NE2000.COM) should go here. IPXODI VLM NET.EG # Edit the Link Driver heading with the proper MLID title. # For example, if you are loading the NE2000 driver, # the heading should read: # LINK DRIVER NE2000 # # Also, edit the hardware settings appropriately. # # Enter the name of your workgroup on the preferred # workgroup line. # # Remember, headings start in the left most column, and # parameters under headings are spaced over with # space(s) or tab(s). Link Driver int port NetWare DOS Requester first network drive = a message level = 2 netware protocol = pnw preferred workgroup = signature level = 0 vlm = auto.vlm vlm = nmr.vlm ---------------------------------------------------------------- Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information. ----------------------------------------------------------------