Hi, I'm debugging some problems that have arised when I upgraded the busybox and kernel versions of my system. Yesterday I struggled with a PATH problem in udev, and today I stumbled upon another PATH problem, this time with modprobe, which completely clobbers the module autoloading feature of the kernel.
When the kernel wants to load a module, it executes /proc/sys/kernel/modprobe, which by default points to /sbin/modprobe. The "real" modprobe does everything by itself (resolve dependencies and load modules), but busybox's modprobe makes external calls to insmod, relying on the PATH to find the insmod executable. The problem is obvious: the kernel does not set up a PATH variable when calling /sbin/modprobe, and thus modprobe fails miserably. I've done a quick fix by setting the absolute path of insmod and rmmod inside modprobe.c, but I'm not sure if this is the best solution. On one hand, setting the absolute path breaks the freedom of the use to choose where to put his binaries. On the other hand, we are trying to replicate the functionality of the "real" modprobe, and it does its work without using external binaries, thus with the "real" modprobe the user has no freedom to choose which insmod executable to use anyway. Any suggestions? Regards. Nacho. _______________________________________________ busybox mailing list [email protected] http://busybox.net/cgi-bin/mailman/listinfo/busybox
