Patches to README and Documentation/Changes

Dale R. Worley (worley@ariadne.com)
Fri, 17 Jan 1997 09:18:11 -0500


The following patches to README give a reference to
Documentation/Changes under a new section "SOFTWARE REQUIREMENTS".
They also describe "make oldconfig" and warn the user against trying
to build a new version without doing a configuration. (These are all
warnings against mistakes I made.)

The patches fix a sense-reverse error in the discussion of 'questions
for a "production" kernel', and flesh it out to quote the words that
are actually used in the configuration questions.

The patches to Documentation/Changes revise the list of ways to
determine the versions of your software components. It:

- puts the list in alphabetical order

- adds a technique for kbd

- prefixes "insmod" with the path "/sbin/" (since non-root users
rarely have /sbin on their path, although they can do insmod -V just
fine)

- adds a technique for Net-tools (is it actually correct, though?)

- changes the method for sysvinit to work even when klogd is not
running (I ran into this problem.) This technique is a little less
reliable than the previous one, since a user program that deliberately
sets an environment variable with name "INIT_VERSION" and value
starting with "sysvinit-" can deceive it, but this seems to me to be
better than depending on the existence of /var/run/klogd.pid.

Dale

--
Dale R. Worley					Ariadne Internet Services
Voice: +1 617-899-7949   Fax: +1 617-899-7946	E-mail: worley@ariadne.com
"Internet-based electronic commerce solutions to real business problems."
----------------------------------------------------------------------
--- README.orig	Thu Jan 16 09:43:23 1997
+++ README	Fri Jan 17 08:48:03 1997
@@ -108,15 +108,35 @@
 
    You should now have the sources correctly installed.
 
+SOFTWARE REQUIREMENTS
+
+   Compiling and running the 2.1.x kernels requires up-to-date
+   versions of various software packages.  Consult
+   ./Documentation/Changes for the minimum version numbers required
+   and how to get updates for these packages.  Beware that using
+   excessively old versions of these packages can cause indirect
+   errors that are very difficult to track down, so don't assume that
+   you can just update packages when obvious problems arise during
+   build or operation.
+
 CONFIGURING the kernel:
 
  - Do a "make config" to configure the basic kernel.  "make config"
    needs bash to work: it will search for bash in $BASH, /bin/bash and
    /bin/sh (in that order), so hopefully one of those is correct. 
 
+   (Do not skip this step even if you are only upgrading one minor
+   version.  New configuration options are added in each release, and
+   odd problems will turn up if the configuration files are not set up
+   as expected.  If you want to carry your existing configuration to a
+   new version with minimal work, use "make oldconfig", which will
+   only ask you for the answers to new questions.)
+
  - Alternate configuration commands are:
 	"make menuconfig"  Text based color menus, radiolists & dialogs.
 	"make xconfig"     X windows based configuration tool.
+	"make oldconfig"   Default all questions based on the contents of
+			   your existing ./.config file.
    
 	NOTES on "make config":
 	- having unnecessary drivers will make the kernel bigger, and can
@@ -134,8 +154,8 @@
 	  bigger or slower kernel (or both), and can even make the kernel
 	  less stable by configuring some routines to actively try to
 	  break bad code to find kernel problems (kmalloc()).  Thus you
-	  should probably answer 'n' to the questions for a "production"
-	  kernel. 
+	  should probably answer 'n' to the questions for
+          "development", "experimental", or "debugging" features.
 
  - Check the top Makefile for further site-dependent configuration
    (default SVGA mode etc). 
--- Documentation/Changes.orig	Thu Jan 16 11:56:21 1997
+++ Documentation/Changes	Fri Jan 17 08:53:23 1997
@@ -128,15 +128,19 @@
 installed programs and libraries.  The SysVinit version display
 requires that you be logged in as root.
 
+Binutils: ld -v
 Gnu C: gcc -v or gcc --version
+Kbd: loadkeys -h
+Ld.so:  ldd -v
 Libc: ls -l /lib/libc.so.*
 Libc++: ls -l /usr/lib/libg++.so.*
-Ld.so:  ldd-v
-Binutils: ld -v
-modules: insmod -V
+modules: /sbin/insmod -V
+mount: mount --version
+Net-tools: netstat -v (???)
 procps: ps --version
-SysVinit: cat /proc/`cat /var/run/klogd.pid`/environ|strings|awk '$1 ~
-/INIT_VERSION/ {print}'
+SysVinit: (must be logged in as root)
+    strings `egrep -li INIT_VERSION=sysvinit- /proc/*/environ | head -1` | \
+    egrep -i INIT_VERSION=sysvinit-
 RPM:  rpm --version
 
 Where to get the files