Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 11
i just upgraded to RedHat 8.0, i had a kernel that was working before, but now it is giving me issues. I recompiled it, and it pretty much have it ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Dec 2002
    Posts
    6

    monolithic kernel issues, damn modprobe


    i just upgraded to RedHat 8.0, i had a kernel that was working before, but now it is giving me issues. I recompiled it, and it pretty much have it where i want it but i am still having issues with it trying to modprobe when it load usb and sound drivers.

    It is a true monolithic kernel, as in nothing is modular, and i have module support disabled

    when i start the box, it goes through the boot process, when it comes to the usb, which is disabled in the kernel and on the motherboard, it does a modprobe. well of course it failes because i never compiled and modules because its a monolithic kernel. it also gives me a error when it loads the sound, which is enabled and with the correct drivers.

    the actuall error message is

    modprobe: can't open dependencies file /lib/modules/2.4.18-sf_RH8.0/modules.dep (no such file or directory)

    which is where it would be lockated if it were a mondular kernel...


    ANY IDEAS????

  2. #2
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    Well, first: why would you ever wnat to have a static kernel?!
    But still, do as you wish if it pleases you. Just remove the related entries from /etc/modules.conf or just truncate it. Then rc.sysinit won't try to load the modules.

  3. #3
    Just Joined!
    Join Date
    Dec 2002
    Posts
    6
    there are many reasons for a monolithic kernel, security, and speed are the main ones. if i get rid of the modprobe line in rc.sysinit, all that will do is get rid of the error message but wont fix my problem, i still wont be able to make a bootdisk with the mkbootdisk command.

  4. $spacer_open
    $spacer_close
  5. #4
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    You are most definitely about the speed issues. When a module is loaded, it behaves exactly as though it were compiled into the kernel (since it is dynamically linked into the boot mem, so not even ctxt's are needed), except that it can once again be unloaded. The security issues I don't know about, although I can hardly imagine that there could be any such on a correctly configured system. Since only the superuser has access to the module functions, it doesn't matter. If someone gets in on your system as the superuser, he can do pretty much anything anyway. If you know something that I don't, please tell me.
    Anyway, you never said in the first post that you wanted to make a boot disk, so please explain a little more about just what goes wrong when you do. Also, you shouldn't remove the modprobe line from rc.sysinit. You should not do anything with rc.sysinit. What you should do, is truncate /etc/modules.conf, so that rc.sysinit won't try to modprobe anything.

  6. #5
    Just Joined!
    Join Date
    Dec 2002
    Posts
    6
    when i try to make a bootdisk with the mkbootdisk command, its gives me the same error as modprobe would. cant find /lib/modules/[kernel name]. i could make a bootdisk with the make bzDisk command, but i would stilll have the error when it boots up. The real questions is why does it even look for modules. i know its in the rc.sysinit, but why does it call the function...???

  7. #6
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    I think mkbootdisk wants to include scsi modules and similar things on the created disk. However, mkbootdisk is just a shell, so you should be able to fix that yourself. Actually, it specifically checks at one place so that the modules directory exists.
    Most related components in a RH system are designed for a modular kernel, so they don't even consider that it could be a non-modular one. This includes the rc.sysinit, so if it finds a module definition in /etc/modules.conf that it thinks should be loaded, it does so. For example, if it an alias in /etc/modules.conf that specifies "usb-controller" it tries to load it. It is pretty logical, after all. Therefore, if you truncate /etc/modules.conf, it won't try to load modules, since none are defined.

  8. #7
    Just Joined!
    Join Date
    Dec 2002
    Posts
    6
    i have messed with the /etc/modules/conf before, and i just tried it again, there is nothing in it, and i even tried deleting it, both of which did not change anything. there is a if statement in rc.sysinit which states

    # Initialize USB controller and HID devices
    usb=0
    if ! grep -iq "nousb" /proc/cmdline 2>/dev/null && ! grep -q "usb" /proc/devices 2>/dev/null ; then
    aliases=`/sbin/modprobe -c | awk '/^alias usb-controller/ { print $3 }'`
    if [ -n "$aliases" -a "$aliases" != "off" ]; then
    modprobe usbcore
    for alias in $aliases ; do
    [ "$alias" != "off" ] && action $"Initializing USB controller ($alias): " modprobe $alias
    done
    [ $? -eq 0 -a -n "$aliases" ] && usb=1
    fi
    fi

    which is reponsible for running the modprobe, but i cant quite figuer out what i would have to do so that it wont run it.

  9. #8
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    Well, I would simply replace "/sbin/modprobe -c" (in the line that finds the aliases) with "/sbin/modprobe -c 2>/dev/null". This will, of course, just hide the error, while still functioning as expected.

  10. #9
    Just Joined!
    Join Date
    Dec 2002
    Posts
    6
    so basicly you are saying its an error in the code, and the only thing i can do is either fix it by some kernel reprogramming or tell the guys at RH to fix it...

  11. #10
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    More or less, yes. Most people do, after all run modular kernels (I still don't understand why you don't, but I won't stop you, though), so somehow they've only designed allmost everyhing for working with modules. That they haven't nulled stderr of modprobe there does in deed seem to be a bug, but on the other hand, it's really just a cosmetic bug since it still works as it should.

Page 1 of 2 1 2 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •