2002-11-29 11:11:26

by Rusty Russell

[permalink] [raw]
Subject: [ALPHA RELEASE] module-init-tools 0.9-alpha

0.9-alpha Version
o Fixed patch in NEWS to leave #include linux/elf.h, needed for
CONFIG_KALLSYMS.
o Fixed extra newline in "in use by" message.
o Fixed parsing for new-style /proc/modules.
o Fixed version parsing code (thanks to Adam Richter's report)
o Fixed "running out of filedescriptors" (Adam Richter)
o Implemented options in modprobe
o Implemented install in modprobe
o Implemented options in modules.conf2modprobe.conf
o Implemented install in modules.conf2modprobe.conf
o Implemented probeall in modules.conf2modprobe.conf
o Implemented probe in modules.conf2modprobe.conf
o Changed modprobe version to be constant string, for "strings" to work easily.

Lightly tested, but seems to work here. No source RPM, since it's
still alpha.

Thanks!
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.


2002-11-29 12:33:59

by Ed Tomlinson

[permalink] [raw]
Subject: Re: [ALPHA RELEASE] module-init-tools 0.9-alpha

Rusty Russell wrote:

> 0.9-alpha Version
> o Fixed patch in NEWS to leave #include linux/elf.h, needed for
> CONFIG_KALLSYMS.
> o Fixed extra newline in "in use by" message.
> o Fixed parsing for new-style /proc/modules.
> o Fixed version parsing code (thanks to Adam Richter's report)
> o Fixed "running out of filedescriptors" (Adam Richter)
> o Implemented options in modprobe
> o Implemented install in modprobe
> o Implemented options in modules.conf2modprobe.conf
> o Implemented install in modules.conf2modprobe.conf
> o Implemented probeall in modules.conf2modprobe.conf
> o Implemented probe in modules.conf2modprobe.conf
> o Changed modprobe version to be constant string, for "strings" to work
> easily.
>
> Lightly tested, but seems to work here. No source RPM, since it's
> still alpha.

Rusty,

What are the full set of patches that should be applied to take
advantage of the latest module-init-tools? There has been a lot of
traffic on lkml on modules with lots of little patches. Its not at
all obvious just what needs be applied to 49/50.

Suspect that almost everything will once the correct patches are applied,
if we get the correct patches...

TIA
Ed Tomlinson

2002-11-29 14:51:41

by Thomas Molina

[permalink] [raw]
Subject: Re: [ALPHA RELEASE] module-init-tools 0.9-alpha

On Fri, 29 Nov 2002, Rusty Russell wrote:

> 0.9-alpha Version
> o Fixed patch in NEWS to leave #include linux/elf.h, needed for
> CONFIG_KALLSYMS.
> o Fixed extra newline in "in use by" message.
> o Fixed parsing for new-style /proc/modules.
> o Fixed version parsing code (thanks to Adam Richter's report)
> o Fixed "running out of filedescriptors" (Adam Richter)
> o Implemented options in modprobe
> o Implemented install in modprobe
> o Implemented options in modules.conf2modprobe.conf
> o Implemented install in modules.conf2modprobe.conf
> o Implemented probeall in modules.conf2modprobe.conf
> o Implemented probe in modules.conf2modprobe.conf
> o Changed modprobe version to be constant string, for "strings" to work easily.
>
> Lightly tested, but seems to work here. No source RPM, since it's
> still alpha.

Your make moveold script didn't take into account that the modutils from
RedHat and Keith Owens have lsmod, modprobe, and rmmod as symlinks to
insmod. I worked around that by doing a "cp insmod lsmod", etc.

I took a stock 2.5.50-bk and added the namei.c patch and the patch to
module.h out of the NEWS file. The RedHat 8.0 bootup scripts did not
autoload the pcmcia_core, yenta_socket, ds, orinoco_cs, orinoco, and
hermes modules, but I could load them by hand. Unfortuantely, it still
does not allow the ethernet interface to be brought up an configured.

I then tried using the 2.4.18 kernel provided by RedHat. I didn't get the
error messages I got using your 0.8 module init tools, but it also
wouldn't load the ethernet drivers for my SMC2632W PCMCIA card.

When I run stock RedHat I get <beep> <beep> when the card is inserted. Is
it true that the first beep is when the card insertion event is handled by
the system, and the second beep is when the ethernet interface is brought
up an configured?

In any case, on boot up I get <beep> <boop>. I believe this means that
the card insertion event was handled correctly, but that the ethernet
interface was not brought up and configured. lsmod does show that
pcmcia_core, yenta_socket, and ds modules were loaded, but hermes,
orinoco, and orinoco_cs were not. The modules could be loaded by hand,
but that still didn't allow the ethernet interface to be brought up and
configured. Following is a console extract from that session (The dhcp
command at the end is a bash script which runs dhclient with the
parameters required for me to connect):

[root@lap root]# lsmod
Module Size Used by Not tainted
ds 7944 1
yenta_socket 11584 1
pcmcia_core 48608 0 [ds yenta_socket]
ext3 61440 1
jbd 46932 1 [ext3]
[root@lap root]# modprobe orinoco_cs
WARNING: Error inserting hermes (/lib/modules/2.4.18-18.8.0/kernel/drivers/net/wireless/hermes.o): Unknown symbol in module
WARNING: Error inserting orinoco (/lib/modules/2.4.18-18.8.0/kernel/drivers/net/wireless/orinoco.o): Unknown symbol in module
FATAL: Error inserting orinoco_cs (/lib/modules/2.4.18-18.8.0/kernel/drivers/net/wireless/orinoco_cs.o): Unknown symbol in module
[root@lap root]# lsmod
Module Size Used by Not tainted
ds 7944 1
yenta_socket 11584 1
pcmcia_core 48608 0 [ds yenta_socket]
ext3 61440 1
jbd 46932 1 [ext3]
[root@lap root]# ls /sbin/*.old
/sbin/depmod.old /sbin/insmod.old /sbin/lsmod.old /sbin/modprobe.old /sbin/rmmod.old
[root@lap root]# /sbin/modprobe.old hermes
[root@lap root]# /sbin/modprobe.old orinoco
[root@lap root]# /sbin/modprobe.old orinoco_cs
[root@lap root]# lsmod
Module Size Used by Not tainted
orinoco_cs 5320 0 (unused)
orinoco 32824 0 [orinoco_cs]
hermes 7204 0 [orinoco_cs orinoco]
ds 7944 1 [orinoco_cs]
yenta_socket 11584 1
pcmcia_core 48608 0 [orinoco_cs ds yenta_socket]
ext3 61440 1
jbd 46932 1 [ext3]
[root@lap root]# dhcp
SIOCSIFADDR: No such device
eth0: unknown interface: No such device
eth0: unknown interface: No such device
[root@lap root]# uname -a
Linux lap 2.4.18-18.8.0 #1 Wed Nov 13 23:08:45 EST 2002 i686 i686 i386 GNU/Linux
[root@lap root]#


2002-12-02 02:07:01

by Rusty Russell

[permalink] [raw]
Subject: Re: [ALPHA RELEASE] module-init-tools 0.9-alpha

In message <[email protected]> you write:
> On Fri, 29 Nov 2002, Rusty Russell wrote:
>
> > 0.9-alpha Version
>
> Your make moveold script didn't take into account that the modutils from
> RedHat and Keith Owens have lsmod, modprobe, and rmmod as symlinks to
> insmod. I worked around that by doing a "cp insmod lsmod", etc.

It should (Debian does the same thing, and it works here):

# Don't just move symlinks, reset them to point to xxx.old.
moveold:
if [ "`echo $(DESTDIR)$(sbindir) | tr -s / /`" = /sbin ]; then :; \
else \
echo $@ usually only makes sense when installing into /sbin; \
exit 1; \
fi
for f in insmod lsmod modprobe rmmod depmod; do \
if [ -L /sbin/$$f ]; then \
ln -sf `readlink /sbin/$$f`.old /sbin/$$f; \
fi; \
mv /sbin/$$f /sbin/$$f.old; \
done

What part of this doesn't work for you?

> I took a stock 2.5.50-bk and added the namei.c patch and the patch to
> module.h out of the NEWS file. The RedHat 8.0 bootup scripts did not
> autoload the pcmcia_core, yenta_socket, ds, orinoco_cs, orinoco, and
> hermes modules, but I could load them by hand. Unfortuantely, it still
> does not allow the ethernet interface to be brought up an configured.

Argh, 0.9-alpha has a bug: I changed /etc/modprobe.conf to
/tmp/modprobe.conf for testing and didn't revert it before release
(you can see it trying to open "/tmp/modprobe.conf" in the strace in
your next mail).

> [root@lap root]# modprobe orinoco_cs
> WARNING: Error inserting hermes (/lib/modules/2.4.18-18.8.0/kernel/drivers/net/wireless/hermes.o): Unknown symbol in module

Once again, a testing bug: I removed backwards compatibility so I
could test on my stable machine.

I've fixed both these in 0.9-beta. If you would test one more time
for me, I'd appreciate it. (Or, simply apply the patch below, which
turns 0.9-alpha into 0.9-beta).

Thankyou *very* much for your persistent testing!
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

diff -urN module-init-tools-0.9-alpha/ChangeLog module-init-tools-0.9-beta/ChangeLog
--- module-init-tools-0.9-alpha/ChangeLog 2002-11-29 21:45:25.000000000 +1100
+++ module-init-tools-0.9-beta/ChangeLog 2002-11-29 21:49:23.000000000 +1100
@@ -3,6 +3,8 @@
CONFIG_KALLSYMS.
o Fixed extra newline in "in use by" message.
o Fixed parsing for new-style /proc/modules.
+o Fixed version parsing code (thanks to Adam Richter's report)
+o Fixed "running out of filedescriptors" (Adam Richter)
o Implemented options in modprobe
o Implemented install in modprobe
o Implemented options in modules.conf2modprobe.conf
diff -urN module-init-tools-0.9-alpha/configure module-init-tools-0.9-beta/configure
--- module-init-tools-0.9-alpha/configure 2002-11-29 21:45:49.000000000 +1100
+++ module-init-tools-0.9-beta/configure 2002-12-02 13:10:43.000000000 +1100
@@ -783,7 +783,7 @@

PACKAGE=module-init-tools

-VERSION="0.9-alpha"
+VERSION="0.9-beta"

if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
diff -urN module-init-tools-0.9-alpha/configure.in module-init-tools-0.9-beta/configure.in
--- module-init-tools-0.9-alpha/configure.in 2002-11-29 21:44:19.000000000 +1100
+++ module-init-tools-0.9-beta/configure.in 2002-12-02 13:10:29.000000000 +1100
@@ -2,7 +2,7 @@

AC_CANONICAL_SYSTEM

-AM_INIT_AUTOMAKE(module-init-tools,"0.9-alpha")
+AM_INIT_AUTOMAKE(module-init-tools,"0.9-beta")

AC_PROG_CC

diff -urN module-init-tools-0.9-alpha/modprobe.c module-init-tools-0.9-beta/modprobe.c
--- module-init-tools-0.9-alpha/modprobe.c 2002-11-29 21:46:47.000000000 +1100
+++ module-init-tools-0.9-beta/modprobe.c 2002-12-02 13:10:19.000000000 +1100
@@ -638,11 +638,7 @@
{ "syslog", 0, NULL, 's' },
{ NULL, 0, NULL, 0 } };

-#if 0
#define DEFAULT_CONFIG "/etc/modprobe.conf"
-#else
-#define DEFAULT_CONFIG "/tmp/modprobe.conf"
-#endif

int main(int argc, char *argv[])
{
@@ -658,9 +654,7 @@
struct module_options *modoptions = NULL;
struct module *start;

-#if 0
try_old_version("modprobe", argv);
-#endif

while ((opt = getopt_long(argc, argv, "vVC:o:knqsc", options, NULL)) != -1){
switch (opt) {

2002-12-02 03:13:38

by Ed Tomlinson

[permalink] [raw]
Subject: Re: [ALPHA RELEASE] module-init-tools 0.9-alpha

I just built and installed 0.9-beta. First it tried to install into
/usr/local/sbin which is pretty useless here. Fix this with --prefix=
and tried again. This time it put things in /sbin as expected, but did
not rename the old files with a .old suffix. Should this still happen?
If not, what happened with backwards compat?

TIA
Ed Tomlinson

Rusty Russell wrote:

> In message <[email protected]> you write:
>> On Fri, 29 Nov 2002, Rusty Russell wrote:
>>
>> > 0.9-alpha Version
>>
>> Your make moveold script didn't take into account that the modutils from
>> RedHat and Keith Owens have lsmod, modprobe, and rmmod as symlinks to
>> insmod. I worked around that by doing a "cp insmod lsmod", etc.
>
> It should (Debian does the same thing, and it works here):
>
> # Don't just move symlinks, reset them to point to xxx.old.
> moveold:
> if [ "`echo $(DESTDIR)$(sbindir) | tr -s / /`" = /sbin ]; then :; \
> else \
> echo $@ usually only makes sense when installing into /sbin; \
> exit 1; \
> fi
> for f in insmod lsmod modprobe rmmod depmod; do \
> if [ -L /sbin/$$f ]; then \
> ln -sf `readlink /sbin/$$f`.old /sbin/$$f; \
> fi; \
> mv /sbin/$$f /sbin/$$f.old; \
> done
>
> What part of this doesn't work for you?
>
>> I took a stock 2.5.50-bk and added the namei.c patch and the patch to
>> module.h out of the NEWS file. The RedHat 8.0 bootup scripts did not
>> autoload the pcmcia_core, yenta_socket, ds, orinoco_cs, orinoco, and
>> hermes modules, but I could load them by hand. Unfortuantely, it still
>> does not allow the ethernet interface to be brought up an configured.
>
> Argh, 0.9-alpha has a bug: I changed /etc/modprobe.conf to
> /tmp/modprobe.conf for testing and didn't revert it before release
> (you can see it trying to open "/tmp/modprobe.conf" in the strace in
> your next mail).
>
>> [root@lap root]# modprobe orinoco_cs
>> WARNING: Error inserting hermes
>> (/lib/modules/2.4.18-18.8.0/kernel/drivers/net/wireless/hermes.o):
>> Unknown symbol in module
>
> Once again, a testing bug: I removed backwards compatibility so I
> could test on my stable machine.
>
> I've fixed both these in 0.9-beta. If you would test one more time
> for me, I'd appreciate it. (Or, simply apply the patch below, which
> turns 0.9-alpha into 0.9-beta).
>
> Thankyou *very* much for your persistent testing!
> Rusty.
> --
> Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
>
> diff -urN module-init-tools-0.9-alpha/ChangeLog
> module-init-tools-0.9-beta/ChangeLog
> --- module-init-tools-0.9-alpha/ChangeLog 2002-11-29 21:45:25.000000000
> +1100
> +++ module-init-tools-0.9-beta/ChangeLog 2002-11-29 21:49:23.000000000
> +1100 @@ -3,6 +3,8 @@
> CONFIG_KALLSYMS.
> o Fixed extra newline in "in use by" message.
> o Fixed parsing for new-style /proc/modules.
> +o Fixed version parsing code (thanks to Adam Richter's report)
> +o Fixed "running out of filedescriptors" (Adam Richter)
> o Implemented options in modprobe
> o Implemented install in modprobe
> o Implemented options in modules.conf2modprobe.conf
> diff -urN module-init-tools-0.9-alpha/configure
> module-init-tools-0.9-beta/configure
> --- module-init-tools-0.9-alpha/configure 2002-11-29 21:45:49.000000000
> +1100
> +++ module-init-tools-0.9-beta/configure 2002-12-02 13:10:43.000000000
> +1100 @@ -783,7 +783,7 @@
>
> PACKAGE=module-init-tools
>
> -VERSION="0.9-alpha"
> +VERSION="0.9-beta"
>
> if test "`cd $srcdir && pwd`" != "`pwd`" && test -f
> $srcdir/config.status; then
> { echo "configure: error: source directory already configured; run
> { "make distclean" there first" 1>&2; exit 1; }
> diff -urN module-init-tools-0.9-alpha/configure.in
> module-init-tools-0.9-beta/configure.in
> --- module-init-tools-0.9-alpha/configure.in 2002-11-29 21:44:19.000000000
> +1100
> +++ module-init-tools-0.9-beta/configure.in 2002-12-02 13:10:29.000000000
> +1100 @@ -2,7 +2,7 @@
>
> AC_CANONICAL_SYSTEM
>
> -AM_INIT_AUTOMAKE(module-init-tools,"0.9-alpha")
> +AM_INIT_AUTOMAKE(module-init-tools,"0.9-beta")
>
> AC_PROG_CC
>
> diff -urN module-init-tools-0.9-alpha/modprobe.c
> module-init-tools-0.9-beta/modprobe.c
> --- module-init-tools-0.9-alpha/modprobe.c 2002-11-29 21:46:47.000000000
> +1100
> +++ module-init-tools-0.9-beta/modprobe.c 2002-12-02 13:10:19.000000000
> +1100 @@ -638,11 +638,7 @@
> { "syslog", 0, NULL, 's' },
> { NULL, 0, NULL, 0 } };
>
> -#if 0
> #define DEFAULT_CONFIG "/etc/modprobe.conf"
> -#else
> -#define DEFAULT_CONFIG "/tmp/modprobe.conf"
> -#endif
>
> int main(int argc, char *argv[])
> {
> @@ -658,9 +654,7 @@
> struct module_options *modoptions = NULL;
> struct module *start;
>
> -#if 0
> try_old_version("modprobe", argv);
> -#endif
>
> while ((opt = getopt_long(argc, argv, "vVC:o:knqsc", options, NULL)) !=
> -1){ switch (opt) {
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2002-12-02 05:38:35

by Rusty Russell

[permalink] [raw]
Subject: Re: [ALPHA RELEASE] module-init-tools 0.9-alpha

In message <[email protected]> you write:
> I just built and installed 0.9-beta. First it tried to install into
> /usr/local/sbin which is pretty useless here. Fix this with --prefix=
> and tried again. This time it put things in /sbin as expected, but did
> not rename the old files with a .old suffix. Should this still happen?
> If not, what happened with backwards compat?

First line of the README:

READ INSTRUCTIONS CAREFULLY, OTHERWISE YOU MAY DESTROY YOUR OLD UTILS!

Reinstall your old modutils, then read the README.

There's a "check-destroy-old" target in Makefile.am, I'm just trying
to figure out how to get autoconf to run it before the install target.

You're probably thinking I should fix this ASAP, and I think you're
right 8)

Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.