|
Home | Switchboard | Unix Administration | Red Hat | TCP/IP Networks | Neoliberalism | Toxic Managers |
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and bastardization of classic Unix |
Recommended Books | Recommended Links | supportconfig | Baseliners | Installation Checklist | ||
modprobe FATAL could not load modules.dep | Humor | Etc |
I first encountered this problem on Jan 29, 2010. After patching SLES 10 SP3 I got the following message:
Jan 29 15:54:08 usrklxbck01 modprobe: FATAL: Could not load /lib/modules/2.6.16.60-0.58.1-smp/modules.dep: No such file or directory
In this case this error in reality was not fatal and system was still bootable. It just spammed the syslog.
On May 13, 2010 I run into serious troubles with the same modprobe: FATAL: message after patching Suse 10 SP3 server using YAST (I appllyed online updates, which included a kernel update).
Rebooting the server to load a new kernel led to a frozen server which does not accept input from either GUI or command line (safe mode). So you can't login to the server. It you boot recovery image from DVD, partitions under LVM (all in this server setup) are not visible and cannot be mounted. In this particular server only /boot was a 'normal" ext3 partitions, All others were LVM controlled partitions. So using regular mount command you can only mount /boot from the rescue disk. That suggests that putting root partition under LVM is not such a great idea, unless you know LVM really well.
Here is how the problem looks on the boot screen:
Look for "modprobe: FATAL" message. It's really fatal. The modules.dep file is generated by depmod. It contain dependencies for kernel modules and without it modules are not loaded leaving you server without drivers. And that typically means without network connectivity but sometimes like in my case without access to console as well. If you have root partition under LVM this is more difficult situation to resolve as you need to know how to mount LVM partitions from the rescue disk.
For example in my case that the server reported:
uname -a
Linux someserver 2.6.16.60-0.54.5-smp #1 SMP Fri Sep 4 01:28:03 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux
but the /boot directory has had the following content
root@someserver:/boot # ls System.map-2.6.16.60-0.62.1-smp symsets-2.6.16.60-0.62.1-smp.tar.gz boot symtypes-2.6.16.60-0.62.1-smp.gz config-2.6.16.60-0.62.1-smp symvers-2.6.16.60-0.62.1-smp.gz grub vmlinux-2.6.16.60-0.62.1-smp.gz initrd vmlinuz initrd-2.6.16.60-0.62.1-smp vmlinuz-2.6.16.60-0.62.1-smpThe trick to recover from this bug is to boot the server from a different kernel using installation DVD. Select installation from main menu. And then when it will ask installation/upgrade/other select other. Select boot from submenu.
The first I though that the problem is with /etc/lvm/lvm.conf which does not filter disks properly. or just changed its behavior on existing /etc/lvm/lvm.conf. In reality this was the problem with multipath dirver. After the upgrade most server have the problem in interaction of multipath driver and LVM. It can demonstrate itself in two ways:
/etc/lvm # grep sda3 .cache "/dev/sda3"
In any case on some severs after appling SP3 and online patches /boot partition, for example /dev/sda2 in not mounted. As a result, YaST updater populates regular directory on the boot partition. So the server is booted from /boot partition (which still contains older kernel) and then finds that no modules.dep for this version exists.
It might be limited to cases where some partitions on the drive with /boot partitions are under LVM and some are not. Here is how correct server list of partitions looks like:
# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg00-lv01 4128448 428236 3490500 11% / udev 1030176 8304 1021872 1% /dev /dev/sda2 202225 35222 156561 19% /boot /dev/mapper/vg00-lv06 10321208 1008880 8788040 11% /home /dev/mapper/vg00-lv04 4128448 1771996 2146740 46% /opt
Here is how "split kernel" server /etc/fstab looks like
# cat /etc/fstab /dev/vg01/root / ext3 acl,user_xattr 1 1 /dev/disk/by-id/scsi-36001c230c765b9000ea9010b1aac9f3f-part2 /boot ext3 acl,user_xattr 1 2 /dev/vg01/home /home ext3 acl,user_xattr 1 2 /dev/vg01/opt /opt ext3 acl,user_xattr 1 2 /dev/vg01/tmp /tmp ext3 acl,user_xattr 1 2 /dev/vg01/usr /usr ext3 acl,user_xattr 1 2 /dev/vg01/var /var ext3 acl,user_xattr 1 2 /dev/disk/by-id/scsi-36001c230c765b9000ea9010b1aac9f3f-part3 swap swap defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 /dev/vg02/prefilter /pre-filter ext3 acl,user_xattr 1 2 /dev/vg02/backup /backup ext3 acl,user_xattr 1 2
Despite this by-id reference introduced since SP1 and enforced in SP3 it still points to the correct partition:
# ll /dev/disk/by-id/scsi-36001c230c765b9000ea9010b1aac9
f3f-part2
lrwxrwxrwx 1 root root 10 May 13 16:55 /dev/disk/by-id/scsi-36001c230c765b9000ea9010b1aac9f3f-part2 -> ../../sda2
The problem is the LVM blocking mounting it: in df -k listing its nowhere to be found:
# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg01-root 4128448 495076 3423660 13% / udev 8220628 244 8220384 1% /dev /dev/mapper/vg01-home 1032088 179804 799856 19% /home /dev/mapper/vg01-opt 2064208 739512 1219840 38% /opt /dev/mapper/vg01-tmp 4128448 144240 3774496 4% /tmp /dev/mapper/vg01-usr 4128448 1691360 2227376 44% /usr /dev/mapper/vg01-var 10321208 1018200 8778720 11% /varAs you see there is no /boot partition mounted from the listing on mount command:
# mount /dev/mapper/vg01-root on / type ext3 (rw,acl,user_xattr) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) debugfs on /sys/kernel/debug type debugfs (rw) udev on /dev type tmpfs (rw) devpts on /dev/pts type devpts (rw,mode=0620,gid=5) /dev/mapper/vg01-home on /home type ext3 (rw,acl,user_xattr) /dev/mapper/vg01-opt on /opt type ext3 (rw,acl,user_xattr) /dev/mapper/vg01-tmp on /tmp type ext3 (rw,acl,user_xattr) /dev/mapper/vg01-usr on /usr type ext3 (rw,acl,user_xattr) /dev/mapper/vg01-var on /var type ext3 (rw,acl,user_xattr) securityfs on /sys/kernel/security type securityfs (rw)
There are two solutions to this particular "split kernel" problem:
For example, if the error mentions 2.6.16.60-0.54.5-smp kernel and the existing directory points to 2.6.16.60-0.62.1-smp
ln -s /lib/modules/2.6.16.60-0.62.1-smp /lib/modules/2.6.16.60-0.54.5-smp
If the server does not use multipath driver the easiest way to fix this problem is to disable it. You can boot into rescue mode, mount /boot partition and disable multipath on /boot/grub/menu.lst by adding multipath=off to the kernel directive. The other way to solve this problem is to rebuild initrd. Both fixes are not permanent and will probably be overwritten by the next set of patches.
Its unclear what to do if multipath is really used on the server. In this case it might make sense not apply online patches after upgrading to SP3 or say on SP2 just wait until SP4 will be available.
After that you you can reboot normally, verify that boot partition is mounted OK, delete symlink and reinstall the kernel.
Move content of /boot directory to some other directory, for example /boot_save
reboot the machine and check if /boot is now mounted correctly
delete the symlink in the /lib/modules directory, if you put it as a quick hack
Copy content /boot_save to /boot or reinstall the kernel rpm
Reboot the machine
|
Switchboard | ||||
Latest | |||||
Past week | |||||
Past month |
2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 | 2008 | 2007 |
- From: Anders Johansson <ajh@xxxxxxxx>
- Date: Sun, 03 Jan 2010 13:58:21 +0100
On Sun, 2010-01-03 at 02:21 -0600, David C. Rankin wrote:
Listmates,
I recovered my 10.3 system with the 11.2 install dvd. I booted the installed system from the 11.2 disk and then re-installed grub. Now I get the following modprobe error whenever I try to copy files from sdb -> sda:
Jan 3 02:06:53 nirvana modprobe: FATAL: Could not load /lib/modules/2.6.31.5-0.1-default/modules.dep: No such file or directory
Sounds like the 11.2 recovery gave you an 11.2 kernel in /boot, with an
11.2 initrd, but didn't give you the 11.2 kernel rpm with the modules.
I suspect your 10.3 kernel is still under /boot though, and it may even
be available as a boot option already in /boot/grub/menu.lst, but if it
isn't, edit that file and make it point to the correct kernel file.
If the kernel isn't available under /boot, you may have to reinstall the
rpm, which should take care of menu.lst automatically
Anders On Sun, 2010-01-03 at 12:46 +0100, Carlos E. R. wrote:
Ah! There is an "/etc/depmod.conf" file, look in there.
No, there you can only override the search order of the directories inside the kernel directory.
The path of the kernel directory is basedir/versiondir/. You can change the basedir with the -d parameter to modprobe (it is /lib/modules by default), and you can change the versiondir with the -S parameter (or by replacing uname, the default is the output of 'uname -r')
Or you can recompile module-init-tools. But you can't change the defaults with a config file.
Incidentally, the post-build-checks package does install its own uname script, which can be configured to return a different output than the currently running kernel, with a config file /.kernelversion, but even
that wouldn't confuse modprobe, since it uses the uname syscall, not the executableAnders
On Sunday, 2010-01-03 at 02:21 -0600, David C. Rankin wrote:
Listmates,It seems like depmod got confused. But I don't know where the information to search for modules.dep is stored. Have a look to see if the kernel files in /boot are consistent. Try running depmod.I recovered my 10.3 system with the 11.2 install dvd. I booted the installed system from the 11.2 disk and then re-installed grub. Now I get the following modprobe error whenever I try to copy files from sdb -> sda:
Jan 3 02:06:53 nirvana modprobe: FATAL: Could not load /lib/modules/2.6.31.5-0.1-default/modules.dep: No such file or directory
Jan 3 02:06:53 nirvana modprobe: FATAL: Could not load /lib/modules/2.6.31.5-0.1-default/modules.dep: No such file or directory
Ah! There is an "/etc/depmod.conf" file, look in there.
Re: [OpenSUSE 11.1] modprobe: FATAL: Could not load /lib/mod
Maybe you didn't start an upgrade explicitly, but the YaST autoupdater may have done it. You can see the last 20 packages installed and when, by:
Code:rpm -qa --last | head -20My bet is the kernel was updated behind the scenes, and you haven't rebooted yet. Re: [OpenSUSE 11.1] modprobe: FATAL: Could not load /lib/mod
Quote:
I have created a symlink. So /lib/modules/2.6.27.21-0.1-pae is now symlinked to /lib/modules/2.6.27.7-9-pae/ and the error has stopped.
Is there any way to know if I reboot the system, it will come back up good?
I guess when I rebooted the system, auto-yast2-installation kicked off. How do I turn off Yast Auto Updater/ auto-yast2-installation?
Thanks. modprobe: FATAL: Could not load /lib/mod
No, don't do that symlink. You're not supposed to mix modules from different kernel releases. But it doesn't matter anyway. The old kernel has been deleted and you have no choice but to use the new kernel when you reboot. That's why the module directory for the old kernel didn't exist any more.
YaST autoupdate is configured from Software > Online Update Configuration. It's normally weekly.
I've always thought SUSE's handling of automatic kernel updates a little bit reckless. Currently only one version is retained, the most recent. Of course you can install the update manually and retain the previous version, but expecting normal users to use CLI tools is not realistic. Debian and Ubuntu keep all previous versions which leads to a pile of old kernels and initrds. The most sensible handling I've seen so far is RHEL where the last n (normally 3) kernels are retained. If a new kernel is installed, the oldest is removed. That way the last version is still on disk and doesn't cause bafflement when module loading is attempted after an update.
Didn’t fix the problem unfortunately, but the I stumbled across a forum post over at Remote-Exploit and the following rather simple command fixed the whole shebang:
update-grub
And now it works like a treat! Original Post at the RE Forums here.
Filed under Linux
2 comments to...
holy loller
“modprobe FATAL could not load /lib/modules/2.6.29.4/modules.dep – Fix!!”
hi try this:
update-initramfs -c -k 2.6.29.4
it works!
Hmm. Why don't you try and create a symbolic link /lib/modules/2.6.27.7-9-pae/modules.dep -> /lib/modules/2.6.27.21-0.1-pae/modules.dep? If all your woes are gone you might simply leave it at that.I'm getting "modprobe: FATAL: Could not load /lib/modules/2.6.27.7-9-pae/modules.dep: No such file or directory" in /var/log/messages
This is a OpenSUSE 11.1 box and I haven't modified/ updated/ upgraded anything related to kernel. I use this box only for apache, bind and dhcp servers.
I looked around the system and there is no /lib/modules/2.6.27.7-9-pae/modules.dep
but there is /lib/modules/2.6.27.21-0.1-pae/modules.dep
uname -a shows 2.6.27.7-9-pae #1 SMP
/etc/sysconfig/bootloader shows
default name as DEFAULT_NAME="openSUSE 11.1 - 2.6.27.7-9"
In /boot/grub directory it shows two files have been changed/ created recently: menu.lst.old and menu.lst - both the files have been modified at the exact same time!
menu.lst.old
Code:# Modified by YaST2. Last modification on Wed Apr 29 11:03:02 2009 default 0 timeout 8 ##YaST - generic_mbr gfxmenu (hd0,1)/message ##YaST - activate ###Don't change this comment - YaST2 identifier: Original name: linux### title openSUSE 11.1 - 2.6.27.21-0.1 root (hd0,1) kernel /vmlinuz-2.6.27.21-0.1-pae root=/dev/disk/by-id/ata-ST3160828AS_5MT3MBZH-part1 resume=/dev/disk/by-id/ata-ST3160828AS_5MT3MBZH-part3 splash=silent showopts vga=0x31a initrd /initrd-2.6.27.21-0.1-pae ###Don't change this comment - YaST2 identifier: Original name: failsafe### title Failsafe -- openSUSE 11.1 - 2.6.27.21-0.1 root (hd0,1) kernel /vmlinuz-2.6.27.21-0.1-pae root=/dev/disk/by-id/ata-ST3160828AS_5MT3MBZH-part1 showopts ide=nodma apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x31a initrd /initrd-2.6.27.21-0.1-pae ###Don't change this comment - YaST2 identifier: Original name: linux### title openSUSE 11.1 - 2.6.27.7-9 root (hd0,1) kernel /vmlinuz-2.6.27.7-9-pae root=/dev/disk/by-id/ata-ST3160828AS_5MT3MBZH-part1 resume=/dev/disk/by-id/ata-ST3160828AS_5MT3MBZH-part3 splash=silent showopts vga=0x31a initrd /initrd-2.6.27.7-9-pae ###Don't change this comment - YaST2 identifier: Original name: failsafe### title Failsafe -- openSUSE 11.1 - 2.6.27.7-9 root (hd0,1) kernel /vmlinuz-2.6.27.7-9-pae root=/dev/disk/by-id/ata-ST3160828AS_5MT3MBZH-part1 showopts ide=nodma apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x31a initrd /initrd-2.6.27.7-9-paemenu.lst
Code:
# Modified by YaST2. Last modification on Wed Apr 29 11:03:02 2009 default 0 timeout 8 ##YaST - generic_mbr gfxmenu (hd0,1)/message ##YaST - activate ###Don't change this comment - YaST2 identifier: Original name: linux### title openSUSE 11.1 - 2.6.27.21-0.1 root (hd0,1) kernel /vmlinuz-2.6.27.21-0.1-pae root=/dev/disk/by-id/ata-ST3160828AS_5MT3MBZH-part1 resume=/dev/disk/by-id/ata-ST3160828AS_5MT3MBZH-part3 splash=silent showopts vga=0x31a initrd /initrd-2.6.27.21-0.1-pae ###Don't change this comment - YaST2 identifier: Original name: failsafe### title Failsafe -- openSUSE 11.1 - 2.6.27.21-0.1 root (hd0,1) kernel /vmlinuz-2.6.27.21-0.1-pae root=/dev/disk/by-id/ata-ST3160828AS_5MT3MBZH-part1 showopts ide=nodma apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x31a initrd /initrd-2.6.27.21-0.1-paeLooks like menu.lst has been modified and the old version is in menu.lst.old - but who would change it? Yast? How? And how can I fix this mess?
The reason for all this might be that you have automatic updates via YAST enabled(forgot the name SuSE / Novell uses for that). That might have gotten you a new kernel (as it should) with no update of the modules.dep (buggy?). You might try to download / update those possibly by installing the kernel sources.
How to Setup and Configure Apache Web Server in SLES 10
Dave Simons explains how to setup and configure the Apache Web server in SLES 10.
Arch Linux Forums - [Solved] Kernel 2.6.31 cannot find modules.dep
Society
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
Quotes
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Bulletin:
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
History:
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
Classic books:
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|
You can use PayPal to to buy a cup of coffee for authors of this site |
Disclaimer:
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.
Last modified: March 12, 2019