This is Edition 3, last updated 2005-09-14, of The Linux Fast-STREAMS Installation and Reference Manual, for Version 0.7a release 3 of the Linux Fast-STREAMS package.
As with most open source projects, this project would not have been possible without the valiant efforts and productive software fo the Free Software Foundation and the Linux Kernel Community.
Funding for completion of the Linux Fast-STREAMS package was provided in part by:
Additional funding for The OpenSS7 Project was provided by:
The primary contributor to the OpenSS7 Linux Fast-STREAMS package is Brian F. G. Bidulock. The following is a list of significant contributors to The OpenSS7 Project:
This manual documents the design, implementation, installation, operation and future development schedule of the Linux Fast-STREAMS package.
This package is released and distributed under the GNU General Public License (see GNU General Public License). Please note, however, that there are different licensing terms for the manual pages and some of the documentation (derived from X/Open publications and other sources). Consult the permission notices contained in the documentation for more information.
This document, is released under the GNU Free Documentation License (see Documentation License) with all sections invariant.
This manual documents the design, implementation, installation, operation and future development of the Linux Fast-STREAMS package.
This document is organized (loosely) into several sections as follows:
This manual uses texinfo typographic conventions.
Linux Fast-STREAMS is intended as a high-performance, production replacement for Linux STREAMS (LiS). Linux Fast-STREAMS has the following features in contrast to Linux STREAMS:
| Linux Fast-STREAMS | LiS
|
|
| |
| Provided and optimized for Linux. | Maintains portability across Linux, User Space, QNX, DOS and other ports.
|
|
| |
| Promotes mainstream kernel adoption. | Places portability concerns before mainstream kernel adoption.
|
|
| |
| Lindented and follows normal kernel formatting and coding practices. | Non-lindented, does not follow normal kernel formatting and coding practices.
|
|
| |
| Provides compatibility modes for AIX, HPUX, OSF, Solaris, UnixWare, SVR 4.2 and LiS. Supports all major SVR 4.2 variants. | Provides some compatibility interfaces but also many Linux-derived interfaces specific to LiS.
|
|
| |
| Licensed under GPL with commercial licensing available. | Dubiously licensed under LGPL (yet parts are GPL).
|
|
| |
| Supports full SVR 4.2 ES/MP synchronization models. | Supports only single, Linux derived sychronization models.
|
|
| |
| Runs at SoftIRQ. By running at SoftIRQ, Linux Fast-STREAMS ensures that its place within the scheduling network-based events is appropriate for the Linux kernel. | Separate kernel threads.
|
|
| |
| Provides common SVR 4.2 system tunable parameters and system controls as well as /proc filesystem for support and debugging. | Provides only log-based debugging.
|
|
| |
| Provides support for SVR 4.2 STREAMS and other utilities. | Provides limited set of LiS only Linux-derived utilities.
|
|
| |
| Provides full named-streams device and device filesystem support. | Provides only character-based node support. |
The configuration of STREAMS drivers and modules is performed when compiling the Linux Fast-STREAMS subsystem. The STREAMS subsystem, core drivers and modules are part of every Linux Fast-STREAMS system.
The following sections list the core drivers and modules, STREAMS kernel tunable parameters, and STREAMS configuration information.
The configuration of STREAMS drivers and modules is performed when compiling the Linux Fast-STREAMS subsystem. The STREAMS subsystem, core drivers and modules are part of every Linux Fast-STREAMS system.
The following sections list the core drivers and modules, STREAMS kernel tunable parameters, and STREAMS configuration information.
Additional modules are provided by add-on packages.
For development using the streams package, See About This Manual.
Linux Fast-STREAMS provides some degree of compatibility with other STREAMS implementation as follows:
For additional details, see About This Manual.
For additional details, see About This Manual.
This is the OpenSS7 Release of the Linux Fast-STREAMS core, tools, drivers and modules that implement the Linux Fast-STREAMS SVR 4.2 MP STREAMS utility for Linux. This package is intended as a replacement package for Linux STREAMS (LiS).
The following sections provide information on Linux Fast-STREAMS releases as well as compatibility information of OpenSS7 release to mainstream UNIX releases of the core, modules and drivers, as well as Linux kernel compatibility.
Prerequisites for the Linux Fast-STREAMS package are as follows:
This section discusses compatibility with major prerequisites.
Linux Fast-STREAMS is compatible with the following Linux distributions:
When installing from the tarball (see Installing the Tar Ball), this distribution is probably compatible with a much broader array of distributions than those listed above. These are the distributions against which the current maintainer creates and tests builds.
Linux Fast-STREAMS compiles as a Linux kernel module. It is not ncessary to patch the Linux kernel to use the package. At a later date, it is possible to move this package into the kernel.
Linux Fast-STREAMS is compatible with 2.4 kernel series after 2.4.10. It has been tested up to and including 2.6.10.
Linux Fast-STREAMS provides a suitable replacement for the (now deprecated) Linux STREAMS (LiS) 2.18.0 package formerly maintained by Dave Goethe of GCOM.
The sections that follow provide information on OpenSS7 releases of the
Linux Fast-STREAMS package.
Updated for Linux 2.6 kernels and associated mainline distributions.
Removed all XTI/TLI and Linux networking code, headers and documentation from streams distribution and set epoch at 0. Linux networking code has been migrated to the strxnet, strinet and strsctp packages. The purpose for doing this was to allow the Linux networking to build against Linux Fast-STREAMS as well as Linux STREAMS and is a preparation for phasing out LiS and phasing in LfS.
This was an internal alpha test release and was not released publicly.
This is the initial release of the Linux Fast-STREAMS package for Linux. This is intended as a high-performance, production replacement for Linux STREAMS (LiS). Linux Fast-STREAMS has the following features:
This was an internal alpha test release and was not released publicly.
Linux Fast-STREAMS has many known bugs. These are alpha releases. Use at your own risk. Remember that there is NO WARRANTY.3
This software is alpha software. As such, it will likely crash your kernel. Installation of the software may irreparably mangle your header files or Linux distribution in such a way as to make it unusable. Crashes will likely lock your system and rebooting the system might not repair the problem. You can loose all the data on your system. Because this software can crash your kernel, the resulting unstable system could destroy computer hardware or peripherals making them unusable. You will likely void the warranty on any system on which you run this software. YOU HAVE BEEN WARNED.
The Linux Fast-STREAMS package releases can be downloaded from the downloads page of The OpenSS7 Project. The package is available as a binary RPM (for popular architectures) a source RPM, Debian binary DEB and source DSC, or as a tar ball. If you are using a browsable viewer, you can obtain the OpenSS7 release of streams from the links in the sections that follow.
By far the easiest form for installing and using streams-0.7a.3 is to download and install binary RPM. If a binary RPM is not available for your distribution, but your distribution supports RPM, the next best method for installing and using streams-0.7a.3 is to download and rebuild the source RPM. If your architecture does not support RPM at all, or you have special needs (such as cross-compiling for embedded targets), the final resort method is to download, configure, build and install from the source tarball.
To install from binary RPM, you will need several of the RPM for a complete installation. Binary RPM fall into several categories. To download and install a complete package requires the appropriate RPM from each of the several categories below.
To install from Binary RPM, you will need all of the following kernel indepdendent packages for your architecture, and one of the kernel-depdendent packages from the next section.
Independent RPM are not dependent on the Linux kernel version. For example, the source package `streams-source-0.7a.3-1.7.x.noarch.rpm', is not dependent on kernel.
All of the following kernel independent RPM are required for your architecture. Binary RPMs listed here are for example only: additional binary RPMs are available from the downloads site. If your architecture is not available, you can build binary RPM from the source RPM (see see Building from the Source RPM).
Kernel-Dependent RPM are dependent on specific Linux Kernel Binary RPM releases. Packages are provided for popular released RedHat kernels. Packages dependent upon RedHat or other kernel RPM will have the `_kversion' kernel package version in the package name.
One of the following Kernel-Dependent packages is required for your architecture and kernel version. If your architecture or kernel version is not on the list, you can build binary RPM from the source RPM (see see Building from the Source RPM).5
To configure, build and install the binary RPM, See Configuring the Binary RPM.
To install from binary DEB, you will need several of the DEB for a complete installation. Binary DEB fall into several categories. To download and install a complete package requires the appropriate DEB from each of the several categories below.
To install from Binary DEB, you will need all of the following kernel indepdendent packages for your architecture, and one of the kernel-depdendent packages from the next section.
Independent DEB are not dependent on the Linux kernel version. For example, the source package `streams-source_0.7a.3-0_i386.deb', is not dependent on kernel.
All of the following kernel independent DEB are required for your architecture. Binary DEBs listed here are for example only: additional binary DEBs are available from the downloads site. If your architecture is not available, you can build binary DEB from the Debian DSC (see see Building from the Debian DSC).
Kernel-Dependent DEB are dependent on specific Linux Kernel Binary DEB releases. Packages are provided for popular released RedHat kernels. Packages dependent upon RedHat or other kernel DEB will have the `_kversion' kernel package version in the package name.
One of the following Kernel-Dependent packages is required for your architecture and kernel version. If your architecture or kernel version is not on the list, you can build binary DEB from the source DEB (see see Building from the Debian DSC).11
To configure, build and install the Debian DEB, See Configuring the Debian DEB.
If you cannot obtain a binary RPM for your architecture, or would like to roll you own binary RPM, download the following source RPM.
To configure the source RPM, See Configuring the Source RPM.
If you cannot obtain a binary DEB for your architecture, or would like to roll your own DEB, download the following Debian DSC.
To configure the source RPM, See Configuring the Debian DSC.
For non-RPM architectures, such as NexusWare embedded target, download the tarball as follows:
The tar ball may be downloaded easily with wget as follows:
| % wget http://www.openss7.org/streams-0.7a.3.tar.bz2 |
or
| % wget http://www.openss7.org/streams-0.7a.3.tar.gz |
After downloading one of the tar balls, unpack the archive using one of the following commands:
| % wget http://www.openss7.org/streams-0.7a.3.tar.gz % tar -xzvf streams-0.7a.3.tar.gz |
or
| % wget http://www.openss7.org/streams-0.7a.3.tar.bz2 % tar -xjvf streams-0.7a.3.tar.bz2 |
Either will create a subdirectory name streams-0.7a.3 containing all of the files and subdirectories for the streams package.
To configure and install the tar ball, See Configuring the Tar Ball.
If you are a subscriber or sponsor of The OpenSS7 Project with CVS archive access privileges then you can download release or mid-release versions of the streams package from the project CVS archive.
The Linux Fast-STREAMS package is located in the streams subdirectory of /var/cvs. For release tag information, see Releases.
To access the archive from the project CVS pserver, use the following commands to check out a version from the archive:
| % export CVSROOT='-d:pserver:username@cvs.openss7.com:2401/var/cvs' % cvs login Password: ********* % cvs co -r streams_0.7a.3 streams % cvs logout |
It is, of course, possible to check out by date or by other criteria. For more information, see cvs(1).
Although public releases of the streams package do not require reconfiguration, creating a configurable directory from the CVS archive requires tools not normally distributed with the other releases.
The build host requires the following GNU tools:
It should be stressed that, in particular, the autoconf and automake must be at version releases 2.59 and 1.9. The versions normally distributed in mainstream GNU/Linux distributions are, in fact, much older than these versions.15 GNU version of these packages configured and installed to default directories will install in /usr/local/ allowing them to coexist with distribution installed versions.
In addition, the build host requires a complete tool chain for compiling for the target host, including kernel tools such as genksyms and others.
To generate a configuration script and the necessary scriptlets required by the GNU autoconf system, execute the following commands on the working directory:
| % autoreconf -fiv streams |
where, streams is the name of the directory to where the working copy was checked out under the previous step. This command generates the configure script and other missing pieces that are normally distributed with the release Tar Balls, SRPMs and DSCs.
Make sure that `autoreconf --version' returns `2.59'. Otherwise, you may need to perform something like the following:
| % PATH="/usr/local/bin:$PATH" % autoreconf -fiv streams |
After reconfiguring the directory, the package can then be configured and built using the same instructions as are used for the Tar Ball, see Configuring the Tar Ball, and Building from the Tar Ball.
Do note, however, that make will rebuild the documentation that is normally released with the package. Additional tools may be necessary for building the documentation.
When configuring the package in a working directory and while working a change-compile-test cycle that involves configuration macros or documentation, I find it of great advantage to invoke the GNU configure options --enable-maintainer-mode and --enable-dependency-tracking. The first of these two options will add maintainer-specific targets to any generated Makefile, and the later will invoke automatic dependency tracking within the Makefile so rebuilds after changes to macro, source or documentation files will be automatically rebuilt.
In general the binary RPM do not require any configuration, however, during installation it is possible to relocate some of the installation directories. This allows some degree of customization. Relocations that are available on the binary RPM are as follows:
To install the binary RPM, See Installing the Binary RPM.
In general the binary DEB do not require any configuration.
To install the Debian DEB, See Installing the Debian DEB.
When building from the source RPM (see Building from the Source RPM), the rebuild process uses a number of macros from the user's .rpmmacros file as described in rpm(8).
Following is an example of the ~/.rpmmacros file that I use for rebuilding RPMS:
| # # RPM macros for building rpms # %_topdir /usr/src/openss7.rpms %vendor OpenSS7 Corporation %distribution OpenSS7 %disturl http://www.openss7.org/ %packager Brian Bidulock <bidulock@openss7.org> %url http://www.openss7.org/ %_signature gpg %_gpg_path /home/brian/.gnupg %_gpg_name openss7@openss7.org %_gpgbin /usr/bin/gpg %_source_payload w9.bzdio %_binary_payload w9.bzdio %_unpackaged_files_terminate_build 1 %_missing_doc_files_terminate_build 1 %_enable_debug_packages 1 # # Template for debug information sub-package. # with our little addition of release # %debug_package \ %ifnarch noarch\ %global __debug_package 1\ %package debug\ Summary: Debug information for package %{name}\ Group: Development/Debug\ AutoReqProv: 0\ %{?fullrelease:Release: %{fullrelease}}\ %description debug\ This package provides debug information for package %{name}.\ Debug information is useful when developing applications that use this\ package or when debugging this package.\ %files debug -f debugfiles.list\ %defattr(-,root,root)\ %endif\ %{nil} |
When building from the source RPM (see Building from the Source RPM), it is possible to pass a number of additional configuration options to the rpmbuild process.
The additional configuration options are described below.
Note that distributions that use older versions of rpm do not have the `--with' or `--without' options defined. To acheive the same effect as:
--with someparm=somearg
do:
--define "_with_someparm --with-someparm=somearg"
--define "_kversion $PACKAGE_KVERSION"--with checks--without checks--with k-optimize=HOW--without k-optimize-Os, speed
compiles kernel modules -O3, and quick compiles kernel modules
-O0. The default is normal. Use with care.
--with cooked-manpages--without cooked-manpages--with public--without public--with k-debug--without k-debugtest and safe below. This has
the effect of removing static and inline attributes from functions and invoking
all debugging macros in the code. The default is to not perform kernel
debugging.
--with k-test--without k-testdebug above and safe below. This has the effect of removing
static and inline attributes from functions and invoking most debugging macros
in the code. The default is to not perform kernel testing.
--with k-safe--without k-safedebug and test above. This has the effect of invoking some more
pedantic assertion macros in the code. The default is not to apply kernel
safety.
--with k-inline--without k-inlineinline functions are to be place inline. This
has the effect of adding the -finline-functions flag to CFLAGS
for compiling kernel modules. Linux 2.4 kernels are normally compiled
-O2 which does not respect the inline directive. This compiles
kernel modules with -finline-functions to get closer to -O3
optimization. For better optimization controls, See Configuring the Tar Ball.
--with k-modversions--without k-modversions--with devfs--without devfs--with tools--without tools--with modules--without modulesIn addition, the following rpm options, specific to the Linux Fast-STREAMS package are available:
In general, the default values of these options are sufficient for most purposes and no options need be provided when rebuilding the Source RPMs.
To build from the source RPM, See Building from the Source RPM.
The Debian DSC can be configured by passing options in the environment variable BUILD_DEBOPTIONS. The options placed in this variable take the same form as those passed to the configure script, See Configuring the Tar Ball. For an example, See Building from the Debian DSC.
To build from the Debian DSC, See Building from the Debian DSC.
All of the normal GNU autoconf configuration options and environment variables apply. Additional options and environment variables are provided to tailor or customize the build and are described below.
Following are the additional configure options, their meaning and use:
static and inline attributes from functions and invoking most
non-performance affecting debugging macros in the code. The default is not to
perform kernel testing.
static and inline attributes from functions and
invoking all debuggin macros in the code (including performance-affecting debug
macros). The default is to not perform kernel debugging.
-Os, speed
compiles kernel modules -O3, and quick compiles kernel modules
-O0. The default is normal. Use with care.
In addition, the following configure options, specific to the Linux Fast-STREAMS package are available:
Following are additional environment variables to configure, their meaning and use:
To build from the tar ball, See Building from the Tar Ball.
If you have downloaded the necessary source RPM (see Downloading the Source RPM), then the following instructions will rebuild the binary RPMs on your system. Once the binary RPMs are rebuilt, you may install them as described above (see Installing the Binary RPM).
The source RPM is rebuilt to binary RPMs as follows:
| % wget http://www.openss7.org/rpms/SRPMS/streams-0.7a.3-1.src.rpm % rpmbuild --rebuild -vv streams-0.7a.3-1.src.rpm |
The rebuild process can also recognize a number of options that can be used to tweak the resulting binaries, See Configuring the Source RPM. These options are provided on the rpm command line. For example:
| % rpmbuild --rebuild -vv --target athlon-redhat-linux \ --define "_kversion 2.4.20-28.7bigmem" \ -- streams-0.7a.3-1.src.rpm |
will rebuild binary RPM for the `2.4.20-28.7bigmem' kernel for the `athlon' architecture. 20
To install the resulting binary RPM, See Installing the Binary RPM.
If you have downloaded the necessary Debian DSC (see Downloading the Debian DSC), then the following instructions will rebuild the binary DEBs on your system. Once the binary DEBs are rebuilt, you may install them as described above (see Installing the Debian DEB).
The Debian DSC is rebuilt to binary DEBs as follows:
| % wget http://www.openss7.org/debian/streams_0.7a.3-0.dsc % wget http://www.openss7.org/debian/streams_0.7a.3-0.tar.gz % dpkg-buildpackage -v streams_0.7a.3-0.dsc |
The rebuild process can also recognize a number of options that can be used to tweak the resulting binaries, See Configuring the Debian DSC. These options are provided in the environment variable BUILD_DPKGOPTIONS and have the same form as the options to configure, See Configuring the Tar Ball. For example:
| % BUILD_DEBOPTIONS=' --with-k-release=2.4.20-28.7bigmem --host=athlon-debian-linux-gnu' dpkg-buildpackage -v \ streams_0.7a.3-0.dsc |
will rebuild binary DEB for the `2.4.20-28.7bigmem' kernel for the `athlon' architecture. 21
To install the resulting binary DEB, See Installing the Debian DEB.
If you have downloaded the tar ball (see Downloading the Tar Ball), then the following instructions will rebuild the package on your system. (Note that the build process does not required root privilege.)
Folowing is an example of a native build against the running kernel:
| % wget http://www.openss7.org/streams-0.7a.3.tar.bz2 % tar -xjvf streams-0.7a.3.tar.bz2 % pushd streams-0.7a.3 % ./configure % make % popd |
Following is an example for a cross-build. The kernel release version must always be specified for a cross-build.22 If you are cross-building, specify the root for the build with environment variable DESTDIR. The cross-compile host must also be specified if different from the build host. Either the compiler and other tools must be in the usual places where GNU autoconf can find them, or they must be specified with declarations such as `CC=/u5/NexusWare24/ppc-linux/gcc' on the configure command line. Look in the file configure.nexusware in the release package for an example.
| % wget http://www.openss7.org/streams-0.7a.3.tar.bz2 % tar -xjvf streams-0.7a.3.tar.bz2 % pushd streams-0.7a.3 % ./configure DESTDIR="/some/other/root" \ --with-k-release=2.4.18 --host sparc-linux % make % popd |
Additional support is provided for cross-building for the Performance Technologies Inc. NexusWare embedded target for the CPC-384, CPC-388 and CPC-396 cards. A configuration script wrapper (configure.nexusware) is provided to simplify the cross-build operation for these targets. The following steps describe the process:
| % pushd /u5/NexusWare24 % source SETUP.sh % make % popd |
Any of the normal configure script options (see Configuring the Tar Ball) can be used on the same line as `./configure.nexusware'. One of particular interest to embedded targets is `--with-k-optimize=size' to attempt to reduce the size of the kernel modules.
Following is what I use for configuration and installation: (My NexusWare tree is rooted at /u5/NexusWare.)
| % pushd /u5/NexusWare24 % source SETUP.sh % make % popd % wget http://www.openss7.org/streams-0.7a.3.tar.bz2 % tar -xjvf streams-0.7a.3.tar.bz2 % pushd streams-0.7a.3 % ./configure.nexusware --with-k-optimize=size % make % make install-strip % popd |
Once built and installed in the NexusWare directory, you will have to (currently) hand edit a .spec file to include the components you want in the NexusWare root file system. If you are cross-building for NexusWare you should already know what that means. Objects that you might be interested in copying to the root file system are kernel modules that were installed in $NEXUSWARE_PREFIX/lib/modules/2.4.18/streams, libraries installed in $NEXUSWARE_PREFIX/usr/lib and utility functions installed in $NEXUSWARE_PREFIX/usr/bin and $NEXUSWARE_PREFIX/usr/sbin and test programs in $NEXUSWARE_PREFIX/usr/libexec. If you would prefer that these programs be installed in $NEXUSWARE_PREFIX/lib, $NEXUSWARE_PREFIX/bin, $NEXUSWARE_PREFIX/sbin and $NEXUSWARE_PREFIX/libexec, (say because you want to remote mount the /usr directory after boot), then specify the `--exec-prefix=/' option to `./configure.nexusware'.
In addition, because NexusWare does not include an /etc/modules.conf file by default, it will be necessary to add one or edit your rc.4 file to insmod the necessary streams modules at boot time.
Once you have completed the necessary .spec and rc.4 file entries, you need to rebuild the `generic' kernel flash image once more for these objects to be included in the flash file system. It is important that this second build of the kernel image be the same as the first.
When modifying and rebuilding a NexusWare kernel, it will be necessary to rebuild and install streams. Simply perform the last `make install-strip' stage or start again with `./configure.nexusware'. You can place the unpacked tarball in $NEXUSWARE_PREFIX/usr/src/streams, and add the following to the top-level NexusWare Makefile to make the build process a single step process instead of dual pass:
| all: ... (cd kernels/generic; $(MAKE) depend) (cd usr/src/pcmcia-cs-3.2.1; $(MAKE) config) (cd kernels/generic; $(MAKE)) (cd usr/src/pcmcia-cs-3.2.1; $(MAKE) pti) (cd usr/src/pti; $(MAKE)) (cd drivers; $(MAKE)) (cd utility; $(MAKE)) # uncomment for streams build # (cd usr/src/streams; ./configure.nexusware; $(MAKE) install-strip) (cd build/generic; $(MAKE)) ... |
Another, perhaps simpler approach, is to make the necessary edits to the NexusWare top-level Makefile and .spec and rc.4 files, download and unpack the tar ball into the NexusWare directory, and build the NexusWare flash image as normal:
| % wget http://www.openss7.org/streams-0.7a.3.tar.bz2 % pushd /u5/NexusWare24 % source SETUP.sh % pushd usr/src % tar -xjvf ${DIRSTACK[2]}/streams-0.7a.3.tar.bz2 % ln -sf streams-0.7a.3 streams % popd % make % popd |
If you have downloaded the necessary binary RPMs (see Downloading the Binary RPM), or have rebuilt binary RPMs using the source RPM (see Building from the Source RPM), then the following instructions will install the RPMs on your system. For additional information on rpm, see rpm(8).
| % pushd RPMS/i686 % rpm -ihv streams-*-0.7a.3-1.7.x.i686.rpm |
You must have the correct binary RPMs downloaded or built for this to be successful.
Some of the packages are relocatable and can have final installation directories altered with the `--relocate' option to rpm, see rpm(8) The Manual Pages. For example, the following will relocate the documentation and info directories:
| % pushd RPMS/i686 % rpm -ihv \ --relocate '/usr/share/doc=/usr/local/share/doc' \ --relocate '/usr/share/info=/usr/local/share/info' \ -- streams-doc-0.7a.3-1.7.x.i686.rpm |
The previous example will install the streams-doc package by will relocate the documentation an info directory contents to the /usr/local version.
If you have downloaded the necessary Debian DEBs (see Downloading the Debian DEB), or have rebuild binary DEBs using the Debian DSC (see Building from the Debian DSC), then the following instructions will install the DEBs on your system. For additional information on dpkg, see dpkg(8).
| % pushd debian % dpkg -iv streams-*_0.7a.3-0_*.deb |
You must have the correct .deb files downloaded or build for this to be successful.
After the build process (see Building from the Tar Ball), installation only requires execution of one of two make targets:
To remove an installed version of the binary RPMs (whether obtained from the OpenSS7 binary RPM releases, or whether created by the source RPM), execute the following command:
| % rpm -evv `rpm -qa | grep '^streams-'` |
For more information on rpm, see rpm(8).
To remove and installed version of the debian DEB (whether obtained from the OpenSS7 binary DEB releases, or whether created by the Debian DSC), execute the following command:
| % dpkg -ev `dpkg -l | grep '^streams-'` |
For more information on dpkg, see dpkg(8).
To remove all the installed binary RPM build from the source RPM, see Removing the Binary RPM. Then simply remove the binary RPM package files and source RPM file. A command such as:
| % find / -name 'streams-*.rpm' -type f -print0 | xargs --null rm -f |
should remove all streams RPMs from your system.
To remove all the installed binary DEB build from the Debian DSC, see Removing the Debian DEB. Then simply remove the binary DEB package files and Debian DSC file. A command such as:
| % find / \( -name 'streams-*.deb' \ -o -name 'streams-*.dsc' \ -o -name 'streams-*.tar.* \ \) -type f -print0 | xargs --null rm -f |
should remove all streams DEBs, DSCs and TARs from your system.
To remove a version installed from tar ball, change to the build directory where the package was built and use the `uninstall' make target as follows:
| % cd /usr/src/streams % make uninstall % cd .. % rm -fr streams-0.7a.3 % rm -f streams-0.7a.3.tar.gz % rm -f streams-0.7a.3.tar.bz2 |
If you have inadvertently removed the build directory and, therefore, no longer have a configured directory from which to execute `make uninstall', then perform all of the steps for configuration and installation (see Installing the Tar Ball) except the final installation and then perform the steps above.
When streams installs, modules and drivers are normally configured for demand loading. The `install' and `install-strip' make targets will make the necessary changes to the /etc/modules.conf file and place the modules in an appropriate place in /lib/modules/2.4.20-28.7bigmem/streams. The `make install' process should have copied the kernel module files streams-*.o to the directory /lib/modules/2.4.20-28.7bigmem/streams. This means that to load any of these modules, you can simply execute, for example, `modprobe stream-somedriver'.24
The streams demand load system supports both the old kerneld and the new kmod mechanisms for demand loading kernel modules.
The convention for streams kernel loadable object files is:
If your kernel has been built using the kerneld daemon, then streams kernel modules will automatically load as soon as the STREAMS module is pushed or the driver is opened. The `make install' process makes the necessary changes to the /etc/modules.conf file. After the install, you will see lines like the following added to your /etc/modules.conf file:
| prune modules.streams if -f /lib/modules/`uname -r`/modules.streams include /lib/modules/`uname -r`/modules.streams endif |
which will provide for demand loading of the modules if they have been built and installed for the running kernel. The /lib/modules/`uname -r`/modules.streams file looks like this:
| alias char-major-245 streams-some_driver alias char-major-246 streams-other_driver |
Note that STREAMS modules are not listed in this file, but will be loaded by name using kerneld if available.
Linux Fast-STREAMS has a wider range of kernel module loading mechanisms than is provided by LiS. For mechanisms used for kernel module loading under Linux Fast-STREAMS, See About This Manual.
Under exceptional circumstances, such as a NexusWare build, it is necessary to hand-edit a .spec and rc.4 file to load the modules at boot time.25
Copyright © 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software—to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and “any later version”, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does.
Copyright (C) 19yy name of author
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'. This is free software, and you are welcome
to redistribute it under certain conditions; type `show c'
for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items—whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a “copyright disclaimer” for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written
by James Hacker.
signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
Copyright © 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”.
A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not “Transparent” is called “Opaque”.
Examples of suitable formats for Transparent copies include plain ascii without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.
If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
You may add a section entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections entitled “History” in the various original documents, forming one section entitled “History”; likewise combine any sections entitled “Acknowledgments”, and any sections entitled “Dedications”. You must delete all sections entitled “Endorsements.”
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an “aggregate”, and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright (C) year your name.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with the Invariant Sections being list their titles, with the
Front-Cover Texts being list, and with the Back-Cover Texts being list.
A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
If you have no Invariant Sections, write “with no Invariant Sections” instead of saying which ones are invariant. If you have no Front-Cover Texts, write “no Front-Cover Texts” instead of “Front-Cover Texts being list”; likewise for Back-Cover Texts.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
AUTOM4TE: Environment VariablesAUTOTEST: Environment VariablesBZIP2: Environment VariablesBZIP2_CMD: Environment VariablesCHKCONFIG: Environment VariablesDEB_BUILD_ARCH: Environment VariablesDEB_BUILD_GNU_CPU: Environment VariablesDEB_BUILD_GNU_SYSTEM: Environment VariablesDEB_BUILD_GNU_TYPE: Environment VariablesDEB_HOST_ARCH: Environment VariablesDEB_HOST_GNU_CPU: Environment VariablesDEB_HOST_GNU_SYSTEM: Environment VariablesDEB_HOST_GNU_TYPE: Environment VariablesDEPMOD: Environment VariablesDESTDIR: Environment VariablesDPKG: Environment VariablesDPKG_BUILDPACKAGE: Environment VariablesDPKG_SOURCE: Environment VariablesGENKSYMS: Environment VariablesGNUPGHOME: Environment VariablesGNUPGUSER: Environment VariablesGPG: Environment VariablesGPGPASSWD: Environment VariablesGZIP: Environment VariablesGZIP_CMD: Environment VariablesKGENKSYMS: Environment VariablesLDCONFIG: Environment VariablesLSMOD: Environment VariablesLSOF: Environment VariablesMAKEWHATIS: Environment VariablesMODPOST_CACHE: Environment VariablesMODPROBE: Environment VariablesNM: Environment VariablesOBJDUMP: Environment VariablesPACKAGE_KVERSION: Configuring the Source RPMPIC: Environment VariablesREFER: Environment VariablesRPM: Environment VariablesRPMBUILD: Environment VariablesSOELIM: Environment VariablesTBL: Environment Variables/lib/modules/2.4.20-28.7bigmem/streams/: Loadingspecfs.o: Filesstreams-aixcompat.o: Filesstreams-clone.o: Driversstreams-connld.o: Modulesstreams-echo.o: Driversstreams-fifo.o: Driversstreams-hpuxcompat.o: Filesstreams-liscompat.o: Filesstreams-log.o: Driversstreams-nsdev.o: Driversstreams-nuls.o: Driversstreams-osfcompat.o: Filesstreams-pipe.o: Driversstreams-pipemod.o: Modulesstreams-sad.o: Driversstreams-sc.o: Modulesstreams-sth.o: Modulesstreams-suncompat.o: Filesstreams-svr4compat.o: Filesstreams-uw7compat.o: Filesstreams.o: Files[1] See GNU/Linux Distributions, for more information.
[2] If you are using a Debian release, please make sure to install the groff extension package (`groff_ext'), as it contains the refer or grefer commands necessary for including references in the manual pages.
[3] See section NO WARRANY under GNU General Public License.
[4] Not all distributions support the `%dev' RPM macro: a case in point is the SuSE 8.0 distribution which uses an older version of rpm. Distributions that do not support the `%dev' macro will build devices as a `%post' operation. Note also that not all release packages contain devices. Only packages that provide STREAMS character device drivers need devices, and then only when the `specfs' or `devfsd' is not being used.
[5] Note that on Mandrakelinux, unlike other RPM kernel distributions, kernel packages for the ix86 architectures are always placed in i586 architecture packages regardless of the true processor architecture of the kernel package. configure detects this and builds the appropriate packages.
[6] Note that the `_kversion' of `2.4.20-28.7bigmem' is only an example. Note also that only release packages that contain kernel modules will contain a core subpackage.
[7] Note that only release packages that contain kernel modules and that export versioned symbols will contain a info subpackage. Also, this subpackage is only applicable to 2.4 series kernels and is not necessary and not built for 2.6 series kernels.
[8] Note that the `_kversion' of `2.4.20-28.7bigmem' is only an example.
[9] Note that not all release packages contain devices. Only packages that provide STREAMS character device drivers need devices, and then only when the `specfs' or `devfsd' is not being used.
[10] Note that not all releases have source DEB packages. Release packages that do not contain kernel modules do not generate a source DEB package.
[11] Note that on Mandrakelinux, unlike other DEB kernel distributions, kernel packages for the ix86 architectures are always placed in i586 architecture packages regardless of the true processor architecture of the kernel package. configure detects this and builds the appropriate packages.
[12] Note that the `_kversion' of `2.4.20-28.7bigmem' is only an example. Note also that only release packages that contain kernel modules will contain a core subpackage.
[13] Note that only release packages that contain kernel modules and that export versioned symbols will contain a info subpackage. Also, this subpackage is only applicable to 2.4 series kernels and is not necessary and not built for 2.6 series kernels.
[14] Note that the `_kversion' of `2.4.20-28.7bigmem' is only an example.
[15] A notable exception is Debian.
[16] Note that the `_kversion' of `2.4.20-28.7bigmem' is only an example.
[17] Note that the `_kversion' of `2.4.20-28.7bigmem' is only an example. Also, note that the `info' subpackage is only applicable to the 2.4 kernel series.
[18] In particular, some Debian systems do not load the groff extensions package and do not have grefer installed. Although this is an oversight on the configuration of the particular Debian system, we accomodate such misconfiguration with this feature.
[19] In particular, some Debian systems do not load the groff extensions package and do not have grefer installed. Although this is an oversight on the configuration of the particular Debian system, we accomodate such misconfiguration with this feature.
[20] Note that the `_kversion' of `2.4.20-28.7bigmem' is only an example.
[21] Note that the `_kversion' of `2.4.20-28.7bigmem' is only an example.
[22] Because it is a cross-build, the kernel version on the build machine is unlikely to be the kernel version of the target machine, except by coincidence.
[23] Although I have not tried it, because we use GNU autoconf for configuration, these instructions should work equally well for the Solaris NexusWare cross-building environment as it does for the Linux NexusWare cross-building environment.
[24] Note that the `_kversion' of `2.4.20-28.7bigmem' is only an example.
[25] At some time I expect to create an `install-nexusware' target that will make the necessary modifications to the .spec and rc.4 files automatically.