From: petervc@sci.kun.nl (Peter van Campen)
Subject: Minimizing size of PC-NFS4.0a boot floppy. More ideas than these?
Keywords: minimum size PC-NFS4.0a boot floppy
Organization: University of Nijmegen, The Netherlands
Date: Wed, 11 Nov 1992 15:48:57 GMT


We are busy making an MS-DOS5 bootable floppy that starts PC-NFS4.0a
with a >minimal size< of the bootflop.  Maybe someone is interested in
the same thing, then we could share ideas.  If I get enough response that
is not posted to the net, I'll post a summary.

The reason why we want a minimally-sized bootflop, is that we have a
classroom of PC/XT's with only 640kb memory, that boot from a (Dirk
K\"oppen) boot-ROM.  A minimally-sized bootflop is needed, since the
image of the flop is downloaded as a RAM-disk, and one needs to have
some memory left to start PC-NFS.

These PC's now use the boot-ROM to get MS-DOS5 and PC-NFS3.0.1, and the main
methods to make it work were:
	- delete all non-necessary files
	- compress (with PKLITE) most of the .COM and .EXE files
	- use a 306kb full, 34-track (instead of 40-track) formatted floppy.

We have an MS-DOS5 PC-NFS4.0a bootflop that works for starting PC-NFS, but
it is still too large, and some of the methods used are not great.
Below I will describe the contents of the flop in detail,
but first my questions:

1) Is there some way to get rid of RNMFILE.EXE? All hostname <-> address
   info comes from NIS in our case, so I could do without RNMFILE.EXE.
   Simply deleting it, or my guess at adjusting NETCONF results in a
   flop that can't start PC-NFS anymore.

2) Does anybody have any ideas to make PCNFS.MSG less than 37680 bytes?
   We deleted PCNFS.MSG from the floppy, and start PC-NFS using
   'net -q init'. After we mount an NFS-drive, we point NFSPATH to
   a full directory (e.g. containing PCNFS.MSG). Of course, if we do not
   use the '-q' the first messages look bad ("PC-NFS message #???").
   The best solution for us probably would be a small PCNFS.MSG (only
   messages related to the first actions).

3) We are going to try to cut the last track(s) off the RAM-disk after
   CONFIG.SYS has been read (PCNFS.SYS could be on the last tracks, e.g.).
   Thereby some memory occupied by the RAM-disk would be released.
   If this works there will be ample memory for starting PC-NFS, the only
   goal then is to get a nice, working, 360kb PC-NFS4 bootflop.
   
4) Anybody have any more/better ideas?

			Greetings,
			Peter van Campen
-----------------------------------------------------------------------------
Peter van Campen, petervc@sci.kun.nl,  Computer and Communications Department
Faculty of Science, University of Nijmegen, 6525 ED NIJMEGEN, The Netherlands
-----------------------------------------------------------------------------
Read below for a detailed description of our current PC-NFS4.0a MS-DOS5 flop


The current size of the bootflop is approximately:
    362496 bytes total disk space
     71680 bytes in 2 hidden files
      2048 bytes in 2 directories
    269312 bytes in 18 user files
     19456 bytes available on disk
      1024 bytes in each allocation unit
       354 total allocation units on disk
        19 available allocation units on disk

File/dir contens of the flop: (with sizes in bytes)
	          293 autoexec.bat
	          222 config.sys
	          512 dos/
	          512 nfs-40a/
	dos:
	        30976 command.com
	         9029 ansi.sys
	nfs-40a:
	        62273 net.exe
	        60448 pcnfs.sys
	        34658 rnmnis.exe
	        32325 rtm.exe
	        18662 rnmfile.exe
	         3168 wd8003e.sys
	         2975 prt.com
	         1336 sockdrv.sys
	          534 services
	          308 netconf
	          138 aft_init.bat
	          113 network.bat
	           85 drives.bat
	           27 hosts

The following files were compressed with PKLITE: net.exe prt.com command.com
This helps a lot:
	net.exe:     110364 --> 62273 bytes
	command.com:  47845 --> 30976 bytes
	prt.com:       5436 -->  2975 bytes


Contents of config.sys:
	FILES=60
	SHELL=a:\DOS\COMMAND.COM a:\DOS\ /e:1024 /p
	BUFFERS=16
	device=a:\dos\ansi.sys
	DEVICE=a:\NFS-40a\PCNFS.SYS /f32 /m
	DEVICE=a:\NFS-40a\SOCKDRV.SYS
	DEVICE=a:\NFS-40a\WD8003E.SYS /i7 
	LASTDRIVE=V
	STACKS=9,256
Contents of autoexec.bat:
	@echo off
	set TZ=WET-0CDT
	set NFSPATH=a:\NFS-40A
	PROMPT $p$g
	PATH a:\nfs-40a;a:\dos
	set COMSPEC=a:\dos\command.com
	a:\nfs-40a\prt *
	a:\nfs-40a\net -q init
	set NFSPATH=Q:\NFS-40a
	call a:\nfs-40a\aft_init.bat
	PATH q:\msdos50;q:\nfs-40a;q:\utils
	set comspec=q:\msdos50\command.com
	H:
Contents of network.bat:
	NET NISDOMAIN SoMeThiNg.AbC.nl.
	NET START RDR
	NET SUBNET 255.255.252.0
	NET NISSET *
	NET ROUTE cisco
	NET UMASK 022
Contents of drives.bat:
	NET USE Q: pc-srv:/vol/pc-share /ro
	NET USE LPT1: lp-srv:lp
Contents of aft_init.bat:
	@echo off
	net login *
	net name >NUL
	net use h: home-srv:$HOME
	rdate time-server
	cls
	net all