Cover V03, I02
Article
Figure 1
Sidebar 1
Sidebar 2
Table 1

mar94.tar


Sidebar: Installable Device Programs

On my Esix SVR4 system, I have 13 installable device programs, four of them with no man page documentation. I have no idea what three of those four do, although I have some guesses. Those 13 files are:

idbuild(1M)
This is the standard program to build a new UNIX kernel. After configuring any device driver changes, installing new device drivers, or changing any of the kernel's tunable parameters, you can run idbuild to build a new kernel. Many kernel-changing scripts automatically run this program for you. This program calls other "id" programs to get its work done.

idcheck(1M)
You can use this program to discover specific information about installed device drivers. It finds out whether a device is installed, or whether a vector, a DMA channel, or an address is already used.

idconfig(1M)
This program takes configuration files for the devices, tunable parameters, and file systems and produces kernel definition files.

idinstall(1M)
You can use this program to add, remove, or update any of the device driver files, or to get the currently installed version of those files. Device driver programmers use this program during development and installation of new device drivers.

idmaster
Esix doesn't document this program and the standard UNIX man pages have nothing to say either. I suspect it has something to do with a device driver's master file. A device driver's master file information is placed in the /etc/conf/cf.d/mdevice file. This program's command line usage is:

idmaster (-a)|(-u)|(-d dev) [-i dir] [-o dir]

If any reader knows what this or the other undocumented programs listed in this sidebar do, please let me know.

idmkenv
This is another program that Esix doesn't document. The program doesn't show a command line usage. I suspect it has something to do with the device driver nodes.

idmkinit(1M)
As part of the kernel rebuilding procedure the /etc/inittab file is rebuilt. This program takes init modules from /etc/conf/init.d and combines them with /etc/conf/cf.d/init.base to reconstruct inittab.

idmknod(1M)
When init level 2 (multiuser) operation starts after a kernel remake, this program executes. It removes all devices not listed as required in the /etc/conf/cf.d/mdevice file's third field. Then it creates new device nodes according to the specifications in the /etc/conf/node.d directory.

idmkunix(1M)
This program creates the UNIX kernel that boots. It builds the kernel from the files in the /etc/conf/pack.d directory.

idreboot
This is another program that Esix doesn't document. It prompts to reboot the system, offering ENTER to reboot and ESC to quit. If you request a reboot, it runs shutdown(1M) bringing the system to init level 0. Installation scripts could run this program after configuring and rebuilding a new kernel.

idspace(1M)
This program tests whether enough space exists in the /, /usr, and /tmp directories, each of which could be separate file systems. If the / directory has enough space to store a larger kernel and enough inodes remaining for the new devices, idspace continues. It applies similar tests to /usr and /tmp only if they're filesystems.

idtune(1M)
Use this program to tune kernel parameters. You must know the name of a kernel parameter and a meaningful value for it. All of the kernel parameters are in the file /etc/conf/cf.d/mtune, while local system tunings are in /etc/conf/cf.d/stune. Each line in the mtune file, other than comment lines, is a record containing the parameter name, the default, minimum, and maximum values for that parameter. The stune file contains only the parameter name and desired value to give that parameter.

idval
This is another program that Esix doesn't document. The program shows a command line usage statement:

compare: must specify two values to compare compare -l | -g value1 value2

Because the usage statement refers to the name "compare," I thought it might be a hard link to something else named compare. But, it isn't hard linked and there's no man page for compare. I suspect it may be used for comparing kernel parameters, but I'm not sure.