On 9/10/09, Michal Marek <mmarek@xxxxxxx> wrote: > The kernel installs a modules.builtin file listing all builtin > modules. Let depmod generate a modules.builtin.bin file and use > this in modprobe: If a module is not found in modules.dep or > modules.alias, check if the module is builtin and print > "builtin <module>" instead of trying to load anything. > It is done in this order to not slow down the common case. > > Signed-off-by: Michal Marek <mmarek@xxxxxxx> Cool. I've seen the problem this fixes a couple of times. Hmm, the last time I saw this was in a debian initramfs. I guess you know that modules.order and now modules.builtin need to be copied into the initramfs, so SuSE will do that. Do update-initramfs (debian) and dracut (the new fedora initramfs project) know that? Might we need more such files in future? I guess the future-proof way is to copy modules.* into the initramfs staging directory before running depmod. > @@ -1331,6 +1349,11 @@ int do_modprobe(char *modname, > modname, 0, flags & mit_remove, > &modoptions, &commands, > &aliases, &blacklist); > + /* builtin module? */ > + if (!aliases && module_builtin(dirname, modname) == 1) { > + info("builtin %s\n", modname); > + return 0; > + } > } > } It looks like "modprobe -r $builtin_module" will return success. I think it should fail and print an error instead. That would be analogous to the situation where a module cannot be unloaded because it is still in use. Similarly "modprobe --first-time $builtin-module" should cause an error. If the above issues are fixed, builtin modules should end up being treated as close as possible to loadable modules, and I will be very happy :-). I thought the "builtin" message was inconsistent at first, because "modprobe -v $module" is currently silent if $module is already loaded. But I see it is useful because "lsmod" won't work for builtin modules. Thanks! Alan -- To unsubscribe from this list: send the line "unsubscribe linux-modules" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html