Re: modutils maintainer: alias binfmt-0000 binfmt_aout

Krzysztof G. Baranowski (kgb@manjak.knm.org.pl)
Mon, 25 May 1998 22:24:17 +0200 (CEST)


On Mon, 25 May 1998, Horst von Brand wrote:
>As long as 2.0.xx kernels are in widespread use, i.e., until 2.2.x is
>deemed stable enough for all major distributions (RedHat, SuSE, Debian,
>....) it will still be needed. Perhaps autodetecting if the kernel has kmod
>support and just going away in that case?
Nope. The kerneld is still needed and it should be always compiled
during modutils build, even if you build the packages with 2.1.x
kernel sources. Please think what would happen if you used 2.0.x
and 2.1.x and you compiled the modutils with 2.1.x sources.
You boot to 2.0.x and the modules won't be loaded, you haven't got
kernel to do that. The backwards compactibility is IMHO important.

Btw, I've written a patch which solves problem with the latest
modutils and kerneld for me. If it's worth adding to the modutils
release is another issue... The patch is below if somebody wants
to take a look at it.

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