summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.linux155
-rw-r--r--chat/Makefile.linux15
-rw-r--r--pppstats/Makefile.linux4
3 files changed, 59 insertions, 115 deletions
diff --git a/README.linux b/README.linux
index 4b5a05a..94d165a 100644
--- a/README.linux
+++ b/README.linux
@@ -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
diff --git a/chat/Makefile.linux b/chat/Makefile.linux
index 7f9cbb3..f46f884 100644
--- a/chat/Makefile.linux
+++ b/chat/Makefile.linux
@@ -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:
diff --git a/pppstats/Makefile.linux b/pppstats/Makefile.linux
index 37add73..36af5f8 100644
--- a/pppstats/Makefile.linux
+++ b/pppstats/Makefile.linux
@@ -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)