mods from Al
authorPaul Mackerras <paulus@samba.org>
Sun, 26 May 1996 23:56:40 +0000 (23:56 +0000)
committerPaul Mackerras <paulus@samba.org>
Sun, 26 May 1996 23:56:40 +0000 (23:56 +0000)
README.linux
chat/Makefile.linux
pppstats/Makefile.linux

index 4b5a05aeaa9ce9ca2659a9445e516e62ed676178..94d165aa0444fef2e8cfe3d3b124faaf74bac528 100644 (file)
@@ -12,6 +12,9 @@ Al Longyear         longyear@netcom.com
     CHANGES FROM THE PREVIOUS VERSION
     FUTURE PLANS
     INSTALLATION
+    PROBLEMS WHICH MAY OCCUR WHILE BUILDING THE KERNEL
+       A REFERENCE TO UNDEFINED _mod_use_count_
+       BLOCK ON FREELIST AT nnnnnn ISN'T FREE
     GENERAL NETWORK CONFIGURATION
     CONNECTING TO A PPP SERVER
     IF IT WORKS
@@ -44,7 +47,7 @@ about it.)
 
 The PPP protocol consists of two parts.  One is a scheme for framing
 and encoding packets, the other is a series of protocols called LCP,
-IPCP, UPAP and CHAP, for negotiating link options and for
+IPCP, PAP and CHAP, for negotiating link options and for
 authentication.  This package similarly consists of two parts: a
 kernel module which handles PPP's low-level framing protocol, and a
 user-level program called pppd which implements PPP's negotiation
@@ -152,10 +155,8 @@ CHANGES FROM THE PREVIOUS VERSION
 
 FUTURE PLANS
 
-The IPX support is still minimal. There is code which will only work with
-the 1.3 version of the networking software. The pppd process will still
-require changes to support the IPXCP and a change to the driver to properly
-enable/disable the IPX frames.
+The next version of pppd, 2.3, is designed to contain a demand dial
+function directly.
 
 
 
@@ -226,33 +227,6 @@ automated installation procedure be performed.
 Use the following procedure for all kernel versions. There are six steps
 numbered one through six. Please do them in order and not skip one.
 
-An important note about the use of modules for PPP:
-
-The module support for the Linux system supports a concept of configuring
-the external names so that they pertain to only a specific version of the
-kernel. This is enabled by answering "y)es" to the configuration question
-of "Set version information on all symbols for modules?".
-
-There is a problem with enabling this and the PPP code under some
-circumstances. It will not work if BOTH of the following is true:
-
-a) You elect to load the PPP driver into the kernel; and
-b) You want version information for all other modules.
-
-The problem is one of the module code itself. It is not able to recognize
-that the symbols loaded into the kernel symbol table may not have been
-defined with the new names for the symbols. The symbols defined by the
-PPP code will not have version information attached to them.
-
-The solution to the problem is simple. Don't do both things at the same
-time. The means that it is valid if you either (a) don't use version
-information; or (b) don't put the PPP code into the kernel (use it as a
-module instead) if you want to use version information.
-
-I will see what I can do to get around this limitation. However, for the
-time being, this is a limitation.
-
-
 
 1. Issue the command:
 
@@ -263,6 +237,7 @@ contains this README.linux file. The result of this will be to build a
 set of symbolic links to the makefiles. They should link 'Makefile' to
 'Makefile.linux' in each of the directories.
 
+
 2. Issue the command:
 
 make kernel
@@ -312,79 +287,8 @@ You are free to run the installation script as many times as you
 wish. The additional executions will only change the files which have
 not been changed.
 
-3. Verify the Makefile in the kernel.
-
-The drivers/net/Makefile in the kernel must have the proper definition
-for the BSD compression module. As of 2.2.0a, the code will only build
-as a module. This means that if you have had an earlier version of the
-PPP logic and this is an update to the kernel then it is possible that
-the patch to the Makefile did not work and you will be left with a
-kernel which will not build correctly.
-
-Please, read carefully the following.
-
-Look that the kernel version which you are building. If the version is
-1.2.x (1.2.0 though 1.2.99999, whatever) then use the set of entries
-for the 1.2 kernel. If the kernel is for 1.3.x and resembles the lines
-in the 1.3 kernel entry then use those. There is a point in the early
-1.3 kernels where the Makefile actually was that of the 1.2 series.
-Please don't just use the 1.3 kernel change unless your makefile
-RESEMBLES the patch indicated.
-
-I don't know how to stress this enough. If you choose the wrong one
-then the makefile will not work. Your kernel build will fail. In that
-case, use the other one. There are only two variations. Please choose
-the proper one. Only one will work.
-
-Check the makefile. If your kernel is 1.2 then it should be similar to
-the following:
-
-ifdef CONFIG_PPP
-NETDRV_OBJS := $(NETDRV_OBJS) ppp.o
-CONFIG_SLHC = CONFIG_SLHC
-else
-MODULES := $(MODULES) ppp.o
-endif
-MODULES := $(MODULES) bsd_comp.o
-
-ifdef CONFIG_SLIP
-NETDRV_OBJS := $(NETDRV_OBJS) slip.o
-CONFIG_SLHC = CONFIG_SLHC
-else
-MODULES := $(MODULES) slip.o
-endif
-
-The critical entry is the line which says "MODULES := $(MODULES) bsd_comp.o"
-and that you don't have "NETDRV_OBJS := $(NETDRV_OBJS) ppp.o bsd_comp.o".
-
-IF YOU HAVE THE 1.3 KERNEL, the following is the expected pattern in the
-Makefile.
-
-ifeq ($(CONFIG_PPP),y)
-L_OBJS += ppp.o
-CONFIG_SLHC_BUILTIN = y
-else
-  CONFIG_SLHC_MODULE = y
-  M_OBJS += ppp.o
-  endif
-endif
-ifneq ($(CONFIG_PPP),n)
-  M_OBJS += bsd_comp.o
-endif
-
-ifeq ($(CONFIG_SLIP),y)
-L_OBJS += slip.o
-CONFIG_SLHC_BUILTIN = y
-else
-  ifeq ($(CONFIG_SLIP),m)
 
-Again, ensure that the statement reads "L_OBJS += ppp.o" and not
-"L_OBJS += ppp.o bsd_comp.o".
-
-
-4. Build the kernel.
+3. Build the kernel.
 
 You must rebuild the kernel with this package. The driver is totally
 new and will not work with the older daemon and the newer daemon will
@@ -404,6 +308,17 @@ upgrading the module package however.
 Instructions on building the kernel with modules are given in the
 README.modules in the kernel source directory.
 
+
+4. Install the kernel
+
+If you are using the Yggdrasil distribution then you need to 'install'
+the kernel at this point. Refer to their documentation on the procedures
+to install the kernel.
+
+Distributions other than the Yggdrasil will normally install the
+kernel when you build it.
+
+
 5. Build the programs.
 
 The programs are built next. The command to build the programs is fairly
@@ -413,6 +328,7 @@ make
 
 from the top level directory where this README.linux file is located.
 
+
 6. Install the programs.
 
 You may use the command
@@ -424,12 +340,14 @@ to install the various programs. They will be installed into the
 executables. The directory name is called BINDIR and is set in the
 file 'linux/Makefile.linux'.
 
+
 7. Reboot to the new kernel.
 
 After building the new kernel, you will need to actually use it. Reboot
 the Linux system and you may then use the new pppd program.
 
-7. Load optional modules.
+
+8. Load optional modules.
 
 If you are using loadable modules for the ppp then you must load them
 after the kernel has been started. The following relative order must
@@ -456,6 +374,33 @@ Without the BSD compression module, the PPP driver will not accept PPP's
 compression control protocol for BSD compression.
 
 
+PROBLEMS WHICH MAY OCCUR WHILE BUILDING THE KERNEL
+
+A REFERENCE TO UNDEFINED _mod_use_count_
+
+If you experience an error message that the variable "mod_use_count_" is
+undefined then apply the patches in the linux/Other.Patches directory. There
+is a version for the 1.2.13 kernel and a differnt one for the early 1.3
+kernels.
+
+The current 1.3 series kernels should not experience this problem as the
+patch has already been incorporated.
+
+
+BLOCK ON FREELIST AT nnnnnn ISN'T FREE
+(where nnnnnn are a sequence of hexadecimal digits.)
+
+While this is not really an error when the kernel is built, it is an error
+which may occur when you actually run the system. The solution is a patch
+in the linux/Other.Patches directory. (That is why I mention it here.)
+
+The problem is in the VJ header compression module. It allocated a block
+of memory and then used the wrong variable to determine the amount of memory
+which should be reset. The patch is present in the 1.3.46 kernel and later
+ones. However, versions prior to that may POSSIBLY have the problem depending
+upon the number of slots which are allocated for the header compression logic.
+
+
 
 GENERAL NETWORK CONFIGURATION
 
index 7f9cbb3d415ca06fe72ad255acc7d77bcaba1cae..f46f884b8b0e0483707418739d95f27d4e5c0049 100644 (file)
@@ -1,25 +1,24 @@
-#      $Id: Makefile.linux,v 1.5 1995/12/18 03:32:43 paulus Exp $
+#      $Id: Makefile.linux,v 1.6 1996/05/26 23:56:36 paulus Exp $
 
 CDEF1= -DTERMIOS                       # Use the termios structure
-CDEF2= -DPIDSTRING                     # I like ascii pid values
-CDEF3= -DSIGTYPE=void                  # Standard definition
-CDEF4= -UNO_SLEEP                      # Use the usleep function
-CDEF5= -DFNDELAY=O_NDELAY              # Old name value
-CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4) $(CDEF5)
+CDEF2= -DSIGTYPE=void                  # Standard definition
+CDEF3= -UNO_SLEEP                      # Use the usleep function
+CDEF4= -DFNDELAY=O_NDELAY              # Old name value
+CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
 
 CFLAGS=        -O2 $(CDEFS)
 
 all:   chat
 
 chat:  chat.o
-       $(CC) -O2 -o chat chat.o
+       $(CC) -s -O2 -o chat chat.o
 
 chat.o:        chat.c
        $(CC) -c $(CFLAGS) -o chat.o chat.c
 
 install: chat
        mkdir -p $(BINDIR)
-       install -c chat $(BINDIR)
+       install -s -c chat $(BINDIR)
        install -c chat.8 $(MANDIR)/man8
 
 clean:
index 37add730041b396b313638b3837b4e7dcc3f18b1..36af5f82ab3e8eaa639b7bb9d80631a32efee627 100644 (file)
@@ -1,6 +1,6 @@
 #
 # pppstats makefile
-# $Id: Makefile.linux,v 1.1 1995/06/30 01:58:28 paulus Exp $
+# $Id: Makefile.linux,v 1.2 1996/05/26 23:56:40 paulus Exp $
 #
 
 PPPSTATSRCS = pppstats.c
@@ -18,7 +18,7 @@ CFLAGS = $(COPTS) $(COMPILE_FLAGS)
 all: pppstats
 
 install: pppstats
-       $(INSTALL) -c pppstats $(BINDIR)/pppstats
+       $(INSTALL) -s -c pppstats $(BINDIR)/pppstats
        $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)/man8/pppstats.8
 
 pppstats: $(PPPSTATSRCS)