FATAL: mbcache and ahci module not found

Hello,

I am using openSuSE 11.2 on a VGN-AR41L. I have also erased the preinstalled Home Vista (what a pleasure). Now to my problem. My system boots correctly but if I press the <ESC> key while booting I can see the following messages:

"Doing fast boot
FATAL: mbcache module not found
FATAL: ahci module not found
"
and the boot process continues normally.

Why this happens? Does this mean that I have a problem that I haven’t discovered yet? Is it something that I can ignore?

PS: I am using SUSE Linux from version SUSE Linux 8 personal and although I am not a power user I have done my two desertions on this system and I am very happy with SUSE. I have bought SUSE Linux 8 Personal and SUSE Linux 10 all the other versions until today have been downloaded.

Welcome to the Forums !!!

Just found out I have the mbcache error as well. It does absolutely not feel as if this is hurting my system.
Don’t know about the other module.

From a quick research I have found that mbcache has to do with disk cache. And ahci has to do with the SATA controller but as long as my hard drive works correctly I cannot see if there is a problem for that reason I have posted because there may be a subtle problem. Thanks for the answer.

Cannot find much more. 11.1 systems don’t have this. It might be ‘fast boot’ trying to load modules too early.

‘lsmod | grep mb’ and
‘lsmod | grep ahci’
don’t return any loaded modules. Yet my systems run like a charm.

Don’t get much result on searches either.

No worries AHCI is needed for satadrives and is buildin the kernel

fs_mbcache is used by ext2 wich also is in the kernel

during boot initrd loads modules wich are needed

lookup for it in the /boot/config-(kernel-version)-default or desktop

mbcache (meta block cache) is an FS module which is used for extended file system attributes

ahci is a low-level SATA driver which gets inserted for controllers which don’t have a native SATA driver yet

if you want these messages to disappear, just place mbcache and ahci in /etc/sysconfig/kernel and then run mkinitrd

I know this is way late but I also had a “FATAL” error for modprobe of mbcache and felt like the thread needed more info.

For reference one can find info on modules by looking at the code(the '.c’ file) which is always available in the source. If the kernel-source- is not installed, try the <filename>.c on Google.
E.g.:
#> less /usr/src/linux-2.6.31.12-0.2/drivers/ata/ahci.c

…blah.

and
#> less /usr/src/linux-2.6.31.12-0.2/fs/mbcache.c

  • Filesystem Meta Information Block Cache (mbcache)
  • The mbcache caches blocks of block devices that need to be located
  • by their device/block number, as well as by other criteria (such
  • as the block’s contents).

…blah.

The “FATAL” is correct but a false warning as the mbcache is a built-in module and the only fatality is that modprobe cannot insert a module into the kernel that already exists in the kernel as a builtin. Ditto for the ahci …

lsmod does not show the mbcache or ahci (& many others) because it is no more than an abbreviated & organized list of
/proc/modules
which contains the non built-in kernel modules. I.e., a list of a list of all modules loaded into the running kernel, not a list of all running functions(available via prebuilt modules that were included in the kernel build).

#> cat /proc/modules
will display the unorganized & unabbreviated list. The lsmod is much nicer IMO.

One can verify the built-in status by inspecting the kernel config file(e.g., config-2.6.31.12-0.2-desktop) and searching for the module name. In mine,
CONFIG_FS_MBCACHE=y
CONFIG_SATA_AHCI=y

(the “y” means it is built and included in the kernel when the kernel is built; a “m” would mean it is built as a module and would have to be loaded into the running kernel to be usable.)

SO, what that all means is that the mbcache and ahci are not needed for the mkinitrd.
Therefore the mbcache and/or ahci can be safely removed from the
INITRD_MODULES=
line in the
/etc/sysconfig/kernel
file (if done carefully by root).

Once the mbcache and|or ahci is removed from the INITRD_MODULES one can
a) run mkinitrd,
b) ignore the boot error and wait for next update of the kernel or
c) reinstall the kernel.
I rec’ (b) since the warning is harmless for the system and an update of the kernel will create a new initrd.

The mkinitrd creates filesystem images which are suitable for use as Linux initial ramdisk (initrd) images and there are significant advantages to having some of those modules available for the initial ramdisk. In truth, for some systems some are mandatory for the system to boot. However if the module is already in the kernel, it surely does not need mkinitrd to require it to be loaded via an initrd image requirement.

Lastly, modprobe is pretty smart. If one does
$> sudo /sbin/modprobe -v mbcache
It will return with
builtin mbcache
thereby telling one that it is a built-in function.
Similarly,
$> sudo /sbin/modprobe -v ahci
builtin ahci
or
$> sudo /sbin/modprobe -v ext3
builtin ext3

…and so forth for any built-in module. If one wants to know all the built-in modules for the running kernel, the list is located and listed via
#> sudo less /lib/modules/uname -r/modules.builtin

Have Fun!