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:
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 |