This section deals with preparing a non-BTLD driver for distribution on versions of the operating system before SCO OpenServer 5 Release 5. If you have the Software Mastering Toolkit (SMT), the procedures discussed here are largely automated for non-BTLD drivers. The format of BTLD-driver disks is discussed in ``Boot-time loadable drivers''.
The custom(ADM). utility extracts the contents of the driver installation floppy, using them to control the custom installation procedure. custom requires the presence of the following files on each floppy volume:
The product identification file has a name of the following form:
./tmp/_lbl/prd=sidd/typ=386AT/rel=1.0.0/vol=01where ``sidd'' is the driver's prefix (in this case, it stands for Sample Installable Device Driver), and ``386AT'' is a machine-type specifier. To find the type specifier for your machine, check the /etc/perms/inst file on your system. If you are developing for a different system, check /etc/perms/inst on that system for the type identifier for that machine.
In the above example, 1.0.0 is the software release number of the driver, and 01 is the volume number of the floppy containing the driver. Note that there is no volume 0; volume numbers must start at 01 and be consecutive.
A perms file must exist, even if it is empty, in ./tmp/perms
on each volume of your driver installation set.
Remember to increment the volume number for each volume.
A perms file contains a list (``permlist'') of the files on the floppy, their permissions, and their packages. It is used by custom(ADM) both as an argument to fixperm(ADM) and to determine which driver files belong to which package. This makes it easy for the user to install one driver in a driver suite containing many. The following is an example permlist:
: #prd=sidd #typ=386AT #rel=1.0.0 #set="Sample Installable Device Driver" # # User id's: # uid root 0 # # Group id's: # gid root 0 # # #!SIDD 11 Sample Installable Device Driver # # Fields are: package [d,f,x]mode, user/group, links, # path, volume SIDD F644 root/root 1 ./tmp/perms/sidd 01 SIDD F755 root/root 1 ./tmp/init.sidd 01 SIDD F644 root/root 1 ./etc/conf/pack.d/sidd/Driver.o 01Some of the fields are self-explanatory and can be copied as they appear. The ``prd'', ``typ'', ``rel'', and ``set'' fields are comments to fixperm but are meaningful to custom. They must agree with the prd, typ, and rel entries in the product identification file. The ``set'' field is used by custom when it prompts for the user's choice of packages to install.
Fields starting with ``#!'' are package specifiers. At least one
must be present so that custom has a package for which to prompt.
The ``11'' in the ``#!SIDD'' field above is the total size
of all the files in the package
(in 512-byte blocks as reported by
The comment following the size is also
used in custom prompting.
The final section contains the package specifier, file type and
permission, ownership, link count, filename, and volume for
each file on the distribution. The file type is d for
directory, x for executable file, and
f for normal file. If
the file type is capitalized, the file is optional, and
custom will not generate an error if it is missing.