Saturday, November 19, 2011


Making modconf work with Linux 3



If you want a nice curses based GUI to add and remove modules from Linux on the fly, you probably used modconf. They say it's deprecated, but they still haven't made anything to replace it.

I noticed that it stopped working on Linux 3.

The problem is as follows, the configuration scripts that come with modconf generally look to see if you're using Linux 2.0 - 2.4 and do one thing, and do another for 2.5 and up. They generally check just the second digit, so now with Linux "3.0" it thinks you're using 2.0 and does something for <2.5 when it should be using the >=2.5 method.

Edit /usr/share/modconf/params
Look for:

case "$(uname -r | cut -f2 -d.)" in
0|1|2|3|4)
CFGFILE=$Target/etc/modules.conf
MODUTILSDIR=$Target/etc/modutils
;;
*)
CFGFILE=$Target/etc/modprobe.d
MODUTILSDIR=$Target/etc/modprobe.d
;;
esac

Replace it with:
CFGFILE=$Target/etc/modprobe.d
MODUTILSDIR=$Target/etc/modprobe.d

Edit /usr/share/modconf/util
Look for:

  case "$(uname -r | cut -f2 -d.)" in
0|1|2|3|4)
modsuffix=".o"
using_mit=1
;;
*) modsuffix=".ko" ;;
esac

Replace it with:
modsuffix=".ko"

And that's all there is to it!

No comments: