(Answer) (Category) Linux on PowerPC FAQ-O-Matic : (Category) System Configuration : (Category) PPP :
How do I upgrade the Linux kernel in MkLinux DR3 to use with ppp-2.3.5?
This FAQ assumes that the reader knows how to build the Linux kernel for 
MkLinux DR3 and already has the kernel sources unpacked into /usr/src/.  If 
you don't, see:

  (Xref) How do I build a new kernel and a new vmlinux server from sources?

The author used DR3alpha5 sources (WIP 980421) to perform this upgrade.  If 
you are using a different source base, your mileage may vary (YMMV).


1. Download the SRPM for ppp-2.3.5.  For example:

  ftp://ftp.mklinux.apple.com/pub/DR3/SRPMS/ppp-2.3.5-1a.src.rpm

2. Unpack the source into /usr/src/redhat/.

  rpm -i  ppp-2.3.5-1a.src.rpm

3. Run "kinstall.sh" to install new pieces of ppp-2.3.5 for the Linux kernel.
   The directory "/usr/src/ML/mklinux/src" is where the Linux kernel source for
   MkLinux should reside.  ("ML" is a symbolic link to "DR3alpha5".)

  cd /usr/src/redhat/BUILD/ppp-2.3.5/linux
  ./kinstall.sh /usr/src/ML/mklinux/src

4. Save the following patch as "ppp-2.3.5-DR3a5.patch".  Change directories
   into /usr/src/ML, then run the following command:

  patch -p0 < ppp-2.3.5-DR3a5.patch


diff -u mklinux/src/drivers/net/ppp.c.cln mklinux/src/drivers/net/ppp.c
--- drivers/net/ppp.c.cln       Sat Jun 27 15:46:28 1998
+++ drivers/net/ppp.c   Sat Jun 27 19:53:11 1998
@@ -3076,7 +3076,7 @@
 /*
  * Send a frame to the remote.
  */
-#if LINUX_VERSION_CODE < VERSION(2,1,86)
+#if LINUX_VERSION_CODE < VERSION(2,1,86) && ! defined(CONFIG_OSFMACH3)
 #define FREE_SKB(skb)  dev_kfree_skb(skb)
 #else
 #define FREE_SKB(skb)  dev_kfree_skb(skb, FREE_WRITE)
diff -u mklinux/src/drivers/net/zlib.c.cln mklinux/src/drivers/net/zlib.c
--- drivers/net/zlib.c.cln      Sat Jun 27 15:46:01 1998
+++ drivers/net/zlib.c  Sun Jun 28 18:56:09 1998
@@ -47,7 +47,7 @@
 
 #include "zlib.h"
 
-#if defined(KERNEL) || defined(_KERNEL)
+#if (defined(KERNEL) || defined(_KERNEL)) && ! defined (__linux__)
 /* Assume this is a *BSD or SVR4 kernel */
 #include <sys/types.h>
 #include <sys/time.h>
diff -u mklinux/src/include/linux/if_ppp.h.cln mklinux/src/include/linux/if_ppp.h
--- include/linux/if_ppp.h.cln  Sat Jun 27 15:46:03 1998
+++ include/linux/if_ppp.h      Sat Jun 27 20:47:42 1998
@@ -35,6 +35,10 @@
 #ifndef _IF_PPP_H_
 #define _IF_PPP_H_
 
+#if defined(__linux__)
+#include <linux/ppp_defs.h>
+#endif
+
 /*
  * Packet sizes
  */


5. Remake the Linux kernel for MkLinux and install it.  Reboot.

6. Clean up /usr/src/redhat/:

  cd /usr/src/redhat
  rm -rf BUILD/ppp-2.3.5
  rm SOURCES/ppp*
  rm SPECS/ppp*


Note that ppp-2.3.5 includes demand-dialing capabilities, so you won't need
to use diald any longer.  Search for the following ppp commands in "man pppd" 
to find out more:

  demand
  holdoff
  idle
  persist
ddkilzer@earthlink.net
[Append to This Answer]
Previous: (Answer) PPP Serial Line Looped Back Error
Next: (Answer) Other PPP utilities that work
This document is: http://www.jonh.net/cgi-bin/lppcfom/fom?file=400
[Search] [Appearance]
This is a Faq-O-Matic 2.717d.
Hosted by anduin.org and SourceForge Logo