Bug#652672: busybox: modprobe does not handle builtins
On Sat, 2012-08-11 at 14:02 +0400, Michael Tokarev wrote: > [Note: the right bug# for this is #652672] > > On 22.07.2012 20:02, Ben Hutchings wrote: > > OK, attaching a new patch that does that as well. > > > @@ -595,6 +598,11 @@ int modprobe_main(int argc UNUSED_PARAM, > > while (config_read(parser, &s, 1, 1, "# \t", PARSE_NORMAL & > > ~PARSE_GREEDY)) > > get_or_add_modentry(s)->flags |= MODULE_FLAG_LOADED; > > config_close(parser); > > + > > + parser = config_open2("modules.builtin", fopen_for_read); > > + while (config_read(parser, &s, 1, 1, "# \t", PARSE_NORMAL)) > > + get_or_add_modentry(s)->flags |= MODULE_FLAG_BUILTIN; > > + config_close(parser); > > } > > > > if (opt & (OPT_INSERT_ALL | OPT_REMOVE)) { > > This piece should check if modules.builtin has been opened successfully, > or else `parser' variable will be NULL. The preceding loop that reads /proc/modules doesn't check this, so neither did I. Looking at the source of config_read() and config_close(), it's clear that this is harmless. > parser = config_open2("modules.builtin", fopen_for_read); > if (parser) { > while (config_read(parser, &s, 1, 1, "# \t", > PARSE_NORMAL)) > get_or_add_modentry(s)->flags |= > MODULE_FLAG_BUILTIN; > config_close(parser); > } > > This is quite a trivial change, is that okay to do this modification > yet retain your S-o-b line (and change the bug# as well)? > > I want to include this patch with the next revision of busybox, > and sent it upstream. Feel free to fix the bug number, of course. Ben. -- Ben Hutchings Unix is many things to many people, but it's never been everything to anybody. signature.asc Description: This is a digitally signed message part
Bug#652672: busybox: modprobe does not handle builtins
[Note: the right bug# for this is #652672] On 22.07.2012 20:02, Ben Hutchings wrote: > OK, attaching a new patch that does that as well. > @@ -595,6 +598,11 @@ int modprobe_main(int argc UNUSED_PARAM, > while (config_read(parser, &s, 1, 1, "# \t", PARSE_NORMAL & > ~PARSE_GREEDY)) > get_or_add_modentry(s)->flags |= MODULE_FLAG_LOADED; > config_close(parser); > + > + parser = config_open2("modules.builtin", fopen_for_read); > + while (config_read(parser, &s, 1, 1, "# \t", PARSE_NORMAL)) > + get_or_add_modentry(s)->flags |= MODULE_FLAG_BUILTIN; > + config_close(parser); > } > > if (opt & (OPT_INSERT_ALL | OPT_REMOVE)) { This piece should check if modules.builtin has been opened successfully, or else `parser' variable will be NULL. parser = config_open2("modules.builtin", fopen_for_read); if (parser) { while (config_read(parser, &s, 1, 1, "# \t", PARSE_NORMAL)) get_or_add_modentry(s)->flags |= MODULE_FLAG_BUILTIN; config_close(parser); } This is quite a trivial change, is that okay to do this modification yet retain your S-o-b line (and change the bug# as well)? I want to include this patch with the next revision of busybox, and sent it upstream. Thanks! /mjt -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652672: busybox: modprobe does not handle builtins
> However, there is another error message that even > appears with official kernels: > > modprobe: module unix not found in modules.dep > > I found "unix" in the initramfs in conf/modules, don't know where it > comes from. This comes from udev, see [1]. Cheers, Michael [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=654282 -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth? signature.asc Description: OpenPGP digital signature
Bug#652672: busybox: modprobe does not handle builtins
Put code in a kernel but don't want kernel params, sysctl, /proc, or /sysfs to wake it? Instead wishing modprobe will wake it ?? Sorry I interrupted :) - John Unlike the modprobe utility from module-init-tools, busybox' version fails for built-in modules: -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652672: busybox: modprobe does not handle builtins
On 20.12.2011 01:44, John D. Hendrickson and Sara Darnell wrote: > I hate to say anything no knowing the full story. I was just installing. > > The initrd.gz off netinst CD does has depmod. If you use it then your ext4 > module loads right? Without depmod you could edit the modules.dep et al files > with nano and that should work too, if I remember correctly. > > I had to copy ext2.ko using dd and a floppy, no fs modules in initrd to mount > even minix. deb-inst told it found no kernel in netinst which it wanted. > wtf? > > busy box saves the day again right? i got it working. I don't understand anything you wrote above. Can you elaborate please? The place you quoted from the previous email: >> Unlike the modprobe utility from module-init-tools, busybox' version fails >> for built-in modules: is at least improperly worded, proper wording would be something like "modprobe from busybox complains about built-in modules" - since there's no way to _load_ a module which is already built-in to the kernel. If you have some problem with ext2.ko, please describe it in more details. Thanks, /mjt -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652672: busybox: modprobe does not handle builtins
On 2011-12-19 22:15 +0100, Michael Tokarev wrote: > On 20.12.2011 01:08, Sven Joachim wrote: > [] >>> I'd close this bug right away but I want to hear your opinion >>> first, hence downgrading it to wishlist - since the behavour >>> is correct. >> >> I disagree (see above), but I can understand the need to keep busybox >> small. Alas, initramfs-tools do not use the -q option. > > initramfs-tools does not need to use -q option since the only modules > it loads are real modules, not built-ins. This is not what I'm seeing here. > This should happen only on somehow improperly configured system. > What tries to load module which is not module? I would assume that fstype (from klibc-utils) detects my root filesytstem is ext4, and some script tries to modprobe the ext4 module as a consequence. However, there is another error message that even appears with official kernels: modprobe: module unix not found in modules.dep I found "unix" in the initramfs in conf/modules, don't know where it comes from. BTW, are you sure that you updated your initramfs before you tried to reproduce the problem? Cheers, Sven -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652672: busybox: modprobe does not handle builtins
I hate to say anything no knowing the full story. I was just installing. The initrd.gz off netinst CD does has depmod. If you use it then your ext4 module loads right? Without depmod you could edit the modules.dep et al files with nano and that should work too, if I remember correctly. I had to copy ext2.ko using dd and a floppy, no fs modules in initrd to mount even minix. deb-inst told it found no kernel in netinst which it wanted. wtf? busy box saves the day again right? i got it working. Sven Joachim wrote: Package: busybox Version: 1:1.19.3-5 Severity: normal Unlike the modprobe utility from module-init-tools, busybox' version fails for built-in modules: -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652672: busybox: modprobe does not handle builtins
On 20.12.2011 01:08, Sven Joachim wrote: [] >> I'd close this bug right away but I want to hear your opinion >> first, hence downgrading it to wishlist - since the behavour >> is correct. > > I disagree (see above), but I can understand the need to keep busybox > small. Alas, initramfs-tools do not use the -q option. initramfs-tools does not need to use -q option since the only modules it loads are real modules, not built-ins. This should happen only on somehow improperly configured system. What tries to load module which is not module? Thanks, /mjt -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652672: busybox: modprobe does not handle builtins
On 2011-12-19 21:46 +0100, Michael Tokarev wrote: > severity 652672 wishlist > thanks > > On 19.12.2011 22:52, Sven Joachim wrote: >> Package: busybox >> Version: 1:1.19.3-5 >> Severity: normal >> >> Unlike the modprobe utility from module-init-tools, busybox' version >> fails for built-in modules: >> >> , >> | % grep ext4 /lib/modules/$(uname -r)/modules.builtin >> | kernel/fs/ext4/ext4.ko >> | % sudo modprobe ext4 >> | % sudo busybox modprobe ext4 >> | modprobe: module ext4 not found in modules.dep >> ` >> >> This leads to annoying error messages on boot. > > This is what -q option is for, and it always worked this way > initially. Later modprobe in m-i-t changed behavour, but it > is not really necessary to follow this - IMHO anyway. After > all, you requested to load a module and modprobe can't do that, > hence I think m-i-t is wrong here. I don't think so, because modprobe also succeeds when you try to load a module that is already loaded, and with builtins you have really the same situation -- asking for functionality that is already available. > Besides, it works just fine here, no annoying error messages > like that. It likely only happens with self-built kernels, since official Debian kernels have pretty much everything built as a module. > I'd close this bug right away but I want to hear your opinion > first, hence downgrading it to wishlist - since the behavour > is correct. I disagree (see above), but I can understand the need to keep busybox small. Alas, initramfs-tools do not use the -q option. Cheers, Sven -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652672: busybox: modprobe does not handle builtins
severity 652672 wishlist thanks On 19.12.2011 22:52, Sven Joachim wrote: > Package: busybox > Version: 1:1.19.3-5 > Severity: normal > > Unlike the modprobe utility from module-init-tools, busybox' version > fails for built-in modules: > > , > | % grep ext4 /lib/modules/$(uname -r)/modules.builtin > | kernel/fs/ext4/ext4.ko > | % sudo modprobe ext4 > | % sudo busybox modprobe ext4 > | modprobe: module ext4 not found in modules.dep > ` > > This leads to annoying error messages on boot. This is what -q option is for, and it always worked this way initially. Later modprobe in m-i-t changed behavour, but it is not really necessary to follow this - IMHO anyway. After all, you requested to load a module and modprobe can't do that, hence I think m-i-t is wrong here. Besides, it works just fine here, no annoying error messages like that. I'd close this bug right away but I want to hear your opinion first, hence downgrading it to wishlist - since the behavour is correct. Thanks, /mjt -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#652672: busybox: modprobe does not handle builtins
Package: busybox Version: 1:1.19.3-5 Severity: normal Unlike the modprobe utility from module-init-tools, busybox' version fails for built-in modules: , | % grep ext4 /lib/modules/$(uname -r)/modules.builtin | kernel/fs/ext4/ext4.ko | % sudo modprobe ext4 | % sudo busybox modprobe ext4 | modprobe: module ext4 not found in modules.dep ` This leads to annoying error messages on boot. -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (101, 'experimental') Architecture: i386 (x86_64) Kernel: Linux 3.2.0-rc6-nouveau (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages busybox depends on: ii libc6 2.13-23 busybox recommends no packages. busybox suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org