[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#579702: mkinitramfs fails on mylex raid devices (DAC960)



Package: initramfs-tools
Version: 0.94.4
Severity: normal
Tags: patch

mkinitramfs fails to generate a initrd file for root filesystems on an
old mylex raid controller (kernel module DAC960).

In my case this breaks installation for lenny (5.0.3) on a FJS Primergy
server - as this bug is not only in the mentioned version but also in
0.92 which ships on the lenny install cd: The installer can boot, as the
old kernel module is still present. But the base install step fails when
it tries to generate the initrd.

The error in detail, when invoking mkinitramfs manually with -x
-----------
(...)
+ manual_add_modules ext2
+ local mam_x firmwares firmware
++ modprobe --set-version=2.6.29.6-vs2.3.0.36.14-beng --ignore-install
--quiet --show-depends ext2
++ awk '/^insmod/ { print $2 }'
+ for mam_x in '$(modprobe --set-version="${version}" --ignore-install
--quiet
--show-depends "${1}" | awk '\''/^insmod/ { print $2 }'\'')'
+ '[' -e
/tmp/mkinitramfs_lNjzuV//lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/mbcache.ko
']'
++ dirname /lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/mbcache.ko
+ mkdir -p
/tmp/mkinitramfs_lNjzuV//lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs
++ dirname /lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/mbcache.ko
+ ln -s /lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/mbcache.ko
/tmp/mkinitramfs_lNjzuV//lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs
+ '[' n = y ']'
++ modinfo -F firmware
/lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/mbcache.ko
+ firmwares=
+ '[' -z '' ']'
+ continue
+ for mam_x in '$(modprobe --set-version="${version}" --ignore-install
--quiet
--show-depends "${1}" | awk '\''/^insmod/ { print $2 }'\'')'
+ '[' -e
/tmp/mkinitramfs_lNjzuV//lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/ext2/ext2.ko
']'
++ dirname /lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/ext2/ext2.ko
+ mkdir -p
/tmp/mkinitramfs_lNjzuV//lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/ext2
++ dirname /lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/ext2/ext2.ko
+ ln -s /lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/ext2/ext2.ko
/tmp/mkinitramfs_lNjzuV//lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/ext2
+ '[' n = y ']'
++ modinfo -F firmware
/lib/modules/2.6.29.6-vs2.3.0.36.14-beng/kernel/fs/ext2/ext2.ko
+ firmwares=
+ '[' -z '' ']'
+ continue
+ '[' /dev/rd/c0d0p1 '!=' /dev/rd/c0d0p1 ']'
+ '[' /dev/rd/c0d0p1 '!=' /dev/rd/c0d0p1 ']'
+ '[' /dev/rd/c0d0p1 '!=' /dev/rd/c0d0p1 ']'
+ '[' /dev/rd/c0d0p1 '!=' /dev/rd/c0d0p1 ']'
+ '[' /dev/rd/c0d0p1 '!=' /dev/rd/c0d0p1 ']'
+ '[' /dev/rd/c0d0p1 '!=' /dev/rd/c0d0p1 ']'
+ '[' /dev/rd/c0d0p1 '!=' /dev/rd/c0d0p1 ']'
+ '[' /dev/rd/c0d0p1 '!=' /dev/rd/c0d0p1 ']'
+ '[' /dev/rd/c0d0p1 '!=' /dev/rd/c0d0p1 ']'
+ block=rd/c0d0p1
+ block=rd/c
+ '[' -z rd/c ']'
+ '[' '!' -e /sys/block/rd/c ']'
+ echo 'mkinitramfs: for root /dev/rd/c0d0p1 missing rd/c /sys/block/ entry'
mkinitramfs: for root /dev/rd/c0d0p1 missing rd/c /sys/block/ entry
+ echo 'mkinitramfs: workaround is MODULES=most'
mkinitramfs: workaround is MODULES=most
+ echo 'mkinitramfs: Error please report the bug'
mkinitramfs: Error please report the bug
+ exit 1
-------------

So the reason is that mkinitramfs fails to derive the correct block
device notation from the root device as the DAC960 driver uses a strange
format for it.

Once figured out, this is easily corrected. Please find a short patch
for /usr/share/initramfs-tools/hook-functions attached.

Thank you,
  Claus Herwig


-- 
CHECON   EDV-Consulting und Redaktion
         Claus Herwig * Barer Straße 70 * 80799 München
         +49 89 27826981 * Fax 27826982 * c.herwig@checon.de

Attachment: hook-functions.diff
Description: Binary data

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: