Re: 2.1.94 modules catch-22

Krzysztof G. Baranowski (kgb@manjak.knm.org.pl)
Fri, 10 Apr 1998 12:53:15 +0200 (CEST)


While testing the million monkey theory, H. Peter Anvin wrote:
>It is if it keeps the other thing from building (and no, I don't
>consider "use make -k and ignore the errors" acceptable.) I solved
>the problem at my end by using the modutils-2.1.85 RPM, which
>unfortunately has a bogus dependency on /bin/sh in it :(
Well, the modutils should come with its own "kerneld.h", and
checkconfig should verify if <linux/kerneld.h> exists, if not
it should use the local one. Anyway, the simple patch solves the
problem for me(tm) :)

Regards,
Kris

-- 
Krzysztof G. Baranowski - President of the Harmless Manyacs' Club
"Smith & Wesson - The original point and click interface..."
http://www.knm.org.pl/                 <prezes@manjak.knm.org.pl>

diff -urN modutils-orig/include/kerneld.h modutils-2.1.85/include/kerneld.h --- modutils-orig/include/kerneld.h Thu Jan 1 01:00:00 1970 +++ modutils-2.1.85/include/kerneld.h Sat Mar 28 20:31:42 1998 @@ -0,0 +1,50 @@ +#ifndef _LINUX_KERNELD_H +#define _LINUX_KERNELD_H + +#define KERNELD_SYSTEM 1 +#define KERNELD_REQUEST_MODULE 2 /* "insmod" */ +#define KERNELD_RELEASE_MODULE 3 /* "rmmod" */ +#define KERNELD_DELAYED_RELEASE_MODULE 4 /* "rmmod" */ +#define KERNELD_CANCEL_RELEASE_MODULE 5 /* "rmmod" */ +#define KERNELD_REQUEST_ROUTE 6 /* from net/ipv4/route.c */ +#define KERNELD_BLANKER 7 /* from drivers/char/console.c */ +#define KERNELD_PNP 8 /* from drivers/pnp/kerneld.c */ +#define KERNELD_ARP 256 /* from net/ipv4/arp.c */ + +/* + * Uncomment the following line for the new kerneld protocol + * This includes the pid of the kernel level requester into the kerneld header + */ +/* +#define NEW_KERNELD_PROTOCOL + */ +#ifdef NEW_KERNELD_PROTOCOL +#define OLDIPC_KERNELD 00040000 /* use the kerneld message channel */ +#define IPC_KERNELD 00140000 /* use the kerneld message channel, new protocol */ +#define KDHDR (sizeof(long) + sizeof(short) + sizeof(short)) +#define NULL_KDHDR 0, 2, 0 +#else +#define IPC_KERNELD 00040000 /* use the kerneld message channel */ +#define KDHDR (sizeof(long)) +#define NULL_KDHDR 0 +#endif +#define KERNELD_MAXCMD 0x7ffeffff +#define KERNELD_MINSEQ 0x7fff0000 /* "commands" legal up to 0x7ffeffff */ +#define KERNELD_WAIT 0x80000000 +#define KERNELD_NOWAIT 0 + +struct kerneld_msg { + long mtype; + long id; +#ifdef NEW_KERNELD_PROTOCOL + short version; + short pid; +#endif +#ifdef __KERNEL__ + char *text; +#else + char text[1]; +#endif /* __KERNEL__ */ +}; + +#endif diff -urN modutils-orig/kerneld/kdsend.c modutils-2.1.85/kerneld/kdsend.c --- modutils-orig/kerneld/kdsend.c Fri Feb 6 10:26:53 1998 +++ modutils-2.1.85/kerneld/kdsend.c Sat Mar 28 20:23:23 1998 @@ -5,7 +5,7 @@ #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> -#include <linux/kerneld.h> +#include "kerneld.h" #define MSIZE 1024 diff -urN modutils-orig/kerneld/kdstat.c modutils-2.1.85/kerneld/kdstat.c --- modutils-orig/kerneld/kdstat.c Fri Feb 6 10:26:54 1998 +++ modutils-2.1.85/kerneld/kdstat.c Sat Mar 28 20:23:35 1998 @@ -5,7 +5,7 @@ #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> -#include <linux/kerneld.h> +#include "kerneld.h" #define MSIZE 1024 #define MAXCMD 255 /* as in kerneld.c */ diff -urN modutils-orig/kerneld/kerneld.c modutils-2.1.85/kerneld/kerneld.c --- modutils-orig/kerneld/kerneld.c Fri Feb 6 10:27:02 1998 +++ modutils-2.1.85/kerneld/kerneld.c Sat Mar 28 20:23:53 1998 @@ -29,7 +29,6 @@ #ident "$Id: kerneld.c,v 1.2 1997/10/06 04:50:18 rth Exp $" #define CONFIG_KERNELD -#include <linux/kerneld.h> #include <stdio.h> #include <stdarg.h> #include <stdlib.h> @@ -51,6 +50,7 @@ #include <errno.h> #include <sys/utsname.h> +#include "kerneld.h" #include "version.h" #include "module.h"

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu