keithe@tekgvs.TEK.COM (Keith Ericson) (02/23/88)
Here are more details on my continuing (and so far losing) battle between Sun's PC-NFS and Mortice Kern Systems' KORN Shell. PC-NFS is a package that, in conjunction with a daemon running on a server machine (in my case a VAX running BSD4.3), allows filesystems residing on the host ("serve") to be "mounted" (to use the UNIX-ism) and appear to the PC (the "client") as a pseudo-disk drive. The Mortice Kern Systems (MKS) Toolkit consists of many UNIX-like programs and a Korn Shell which replaces command.com as a command interpreter. Based on the UNIX Korn Shell it provides a very accurate clone of "the real thing." The MS-DOS machine looks as if it is a single-user, single-tasking UNIX box. Now on to the problem(s): This is with an Eltech Research 286 Clone; motherboard by Everex, I think. PC-NFS is version 2.0; MKS Toolkit is version 2.2a. With the MKS toolkit, config.sys contains the line shell=c:\etc\init c:\bin\login As a result, init is run, which in turn runs /etc/rc.ksh to run the "once per power-up" programs; then login is run, which issues the greeting banner by printing the contents of /etc/issue to the screen, prompts for a login name, verifies it against the /etc/passwd file, creates the login environment (sets up HOME, PATH, SHELL, MAIL, TZ, LOGNAME and ROOTDIR environment variables), and starts /bin/sh -L. The sh -L command reads the /etc/profile.ksh and $HOME/profile.ksh files to complete the login process, issues the initial $PS1 string and awaits user input. Autoexec.bat is _not_ run unless explicitly included in one of the start-up scripts (/etc/rc.ksh, /etc/profile.ksh, or $HOME/profile.ksh). So what is it I want to do? Well, to get PC-NFS running I have to include some device= entries in config.sys: device=c:\nfs\pcnfs.sys device=c:\nfs\sockdrv.sys device=c:\nfs\ni5010.sys Using command.com as a command interpreter the autoexec.bat file contains the following lines: net start rdr <client-name> * net pcnfsd <authentication-server-name> net route <routing-server-name> net name <user-name> * | <user-password> which starts the networking, establishes the name of the authentication and routing server machines (the 4.3 BSD machine in my case) and gets me "logged in" to the system. Subsequently the "net use" command(s) is (are) issued which create the network links between pseudo-drives on ny PC and filesystems on the fleserver. I have entries like this in my autoexec.bat: net use f: \\tekgvs\usr2\keithe net use g: \\tekgvs\usr4\keithe\ibm.dir net use h: \\tekgvs\usr\src and this all works fine with the command.com command interpreter. So now I want it to work with the MKS init, login and sh programs: The way it seems to me that it should be set up is to have the "device=" entries in the config.sys should stay there (where else could they go?). The "net..." commands in the autoexec.bat file need to be distributed to two separate places: the network start-up entries go into /etc/rc.ksh, and the "net use..." entries go into my $HOME/profile.ksh. Well, there is no joy in network-ville, mighty keithe has struck out. Many times. What happens is that the systems runs out, or thinks it runs out, of memory (did I mention that I have a full 640 k? Plus more in extended if needed/useable). Before the message from /etc/issue appears I get an error message like mksh [5]: ry operator: no HOME directory or mksh [5]: "%s" no HOME directory The issue message then appears, followed by a login prompt. So I log in, apparently successfully. But entering a single command (ls, for example) runs the command, followed by a message insufficient memory for arguments followed by an apparent logout and re-display of the /etc/issue message and a login prompt. Logging in again yields the same result: run one command and get logged out. I have tried other attacks: putting the network start-up in /etc/profile; keeping the stuff in autoexec.bat and running it explicitly from /etc/rc.ksh or /etc/profile; invoking the many "net" commands manually after logging in. Nothing has worked yet to get the Shell and PC-NFS to work together. They all have their own peculiar failure modes. Sometimes I get messages like : pattern "" not found in "" or simply Insufficient msmory for arguments even when no arguments were (explicitly) given. Has anyone else tried this? Any better results? Please let me know! Until something happens I'm stuck using commmand.com instead of a "real" Shell. (The MKS tools all work OK - it's just sh.exe that seems uncooperative.) keith Keith Ericson at TekLabs (resident fractious factotum) Tektronix, PO 500, MS 58-383 Beaverton OR 97077 (503)627-6042 UUCP: [uunet|ucbvax|decvax|ihnp4|hplabs]!tektronix!tekgvs!keithe ARPA: keithe%tekgvs.TEK.COM@RELAY.CS.NET CSNet: keithe@tekgvs.TEK.COM
wnp@dcs.UUCP (Wolf N. Paul) (02/24/88)
In article <3144@tekgvs.TEK.COM> keithe@tekgvs.UUCP (Keith Ericson) writes: >The way it seems to me that it should be set up is to have the >"device=" entries in the config.sys should stay there (where else >could they go?). The "net..." commands in the autoexec.bat file need >to be distributed to two separate places: the network start-up entries >go into /etc/rc.ksh, and the "net use..." entries go into my >$HOME/profile.ksh. Well, there is no joy in network-ville, mighty >keithe has struck out. Many times. > >What happens is that the systems runs out, or thinks it runs out, of >memory (did I mention that I have a full 640 k? Plus more in extended >if needed/useable). Before the message from /etc/issue appears I get I encountered the same problem when using the Toolkit with memory resident stuff, and although I never could get it to work the way the manual says, here is how I fixed it: Put the line shell=command.com /Exxxx /C c:\etc\boot.bat into config.sys. This will set the environment to a larger size, and then run command.com invoking the boot.bat script. All of your TSR's (like your nfs programs) should be started from that file, with c:\etc\init c:/bin/login as the last line. Since INIT never exits, you never exit into command.com either, and except for the extra memory required by that copy of command.com, the look and feel is exactly the same as if you had run init from config.sys. BTW, I don't think MKS Toolkit has any way of using AT extended or EMS expanded memory - the Toolkit progs are just ordinary DOS progs and no nothing about memory above 640K. The only use would be as a RAM disk. -- Wolf N. Paul Phone: (214) 306-9101 (h) (214) 404-8077 (w) 3387 Sam Rayburn Run UUCP: ihnp4!killer!{dcs, doulos}!wnp Carrollton, TX 75007 INTERNET: wnp@dcs.UUCP ESL: 62832882 Pat Robertson does NOT speak for all evangelical Christians--not for me, anyway!