summaryrefslogtreecommitdiff
path: root/README.linux
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>1996-05-26 23:56:40 +0000
committerPaul Mackerras <paulus@samba.org>1996-05-26 23:56:40 +0000
commit766ad7d0b8abfcccfde8001e0c6c45e8e61e7ed1 (patch)
tree947228620f7a32f4cf64fac73ca55806b248c993 /README.linux
parent31e80dd05aec83cbee14a9ede031023188e31270 (diff)
downloadppp-766ad7d0b8abfcccfde8001e0c6c45e8e61e7ed1.tar.gz
mods from Al
Diffstat (limited to 'README.linux')
-rw-r--r--README.linux155
1 files changed, 50 insertions, 105 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