Status of modules-x.y.z

Bjorn Ekwall (bj0rn@blox.se)
Mon, 18 Mar 1996 01:15:47 +0100 (MET)


Hi all!

I might not be "talking" a lot these days, but rest assured that I'm
still thinking and coding...

Just to keep you informed on what has been bouncing around in my head
lately, here is a summary of what I've been doing, and/or plan to do.

- Restructured the depmod tree, so that I easier can see what's happening
as well as preparing for a (possible) merger of insmod and modprobe.
A merge would be handy for bzImage+initrd (and /linuxrc)
(Some small bugs were fixed at the same time...)

- Added some more pre-configured aliases for modprobe.

- Added a "install-binaries" target to the Makefile(s)

- Replaced the depmod call to nm by a built-in mini-version, so that
people with /usr on a separate filesystem can still run depmod -a
at boot-time. The "normal" behaviour can be restored by enabling
USE_NM in depmod/Makefile.

- Told modprobe how to remove modules without calling "rmmod"

- Started to handle "depmod -a VERSION", so that the dependency file
"modules.dep" for a new kernel can be built in the context of a
previous kernel version.

- Added new options for the configuration file /etc/conf.modules
(which b.t.w. can also be called /etc/modules.conf):
- keep Don't drop the default set of paths when a path
description is found in the configuration file.
- insmod_opt= which makes it possible to add an option to all
modprobe calls to insmod ( insmod_opt=-m will always
create a loadmap for your module debugging chores)
Note: these options may change in the next official release!

- Made insmod write its loadmap via syslog() if called with the -s option
(This option is always selected when insmod is called via kerneld/modprobe)

- Fixed some ELF bugs, with a _lot_ of help from Andreas Schwab!

- Restructured the "Stacking" tree (under insmod), showing that one can
do even more things with modules (at least easier than before):
A module in a stack can export one of its own (internal) symbols
with a different name, while still having the originally exported
symbol available (with "Xalias(real_symbol, exported_name)" in the
symbol table).
With this functionality, a call to a function defined in a "base"
module can be "intercepted" by another module, and perhaps modified by
the "aliasing" module before it is (perhaps) sent on to the "base" module.
This "intercept" goes for exported variables as well.
I think that the net subsystem might benefit from this when it
becomes modularized...
(I have a recollection that David Hinds was looking for something
like this too, for the PCMCIA support...)

- Reserved kerneld message number 256 for Jonathan Layes' new arpd daemon
(See: <http://www.loran.com/~layes/arpd/>)

- Designing and coding a solid "persist" module, that will enable a module
to leave some information within the kernel inbetween insmods
I plan to have a read/write /proc interface for this as well.

- Planning how to support Hans' and Werner's bzImage+initrd. Great stuff!!!

- Thinking about how to support more object formats, perhaps by
adding parts of the libbfd support (although I would like to
be able to create a module _without_ having to call "ld"...)

- Added hints about how I recommend that /etc/rc.* should look like...
(Thanks for the input Markus Gutschke!)

- Created a web-page for modules: <http://www.pi.se/blox/modules/>

- Cringing about having to finalize my "modules-HOWTO"........

- Reading mail (but not answering all in time... sorry folks...)

There are some more things going on, but I haven't put them into words yet...

Cheers,

Bjorn <bj0rn@blox.se> <http://www.pi.se/blox/>