Bug 156800 - perl-Bootloader errors out on getting device
Summary: perl-Bootloader errors out on getting device
Status: RESOLVED FIXED
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: Final
Hardware: Other Other
: P2 - High : Normal (vote)
Target Milestone: ---
Assignee: Jozef Uhliarik
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-09 22:38 UTC by Marcus Rückert
Modified: 2008-10-08 08:49 UTC (History)
4 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcus Rückert 2006-03-09 22:38:03 UTC
[[[
# rpm -Uhv kernel-default-2.6.16_rc5_git9-20060309130028.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:kernel-default         ########################################### [100%]
Setting up /lib/modules/2.6.16-rc5-git9-20060309130028-default
Root device:    /dev/md0 (mounted on / as ext3)
Module list:    sis5513 sata_sis processor thermal fan jbd ext3 raid1

Kernel image:   /boot/vmlinuz-2.6.16-rc5-git9-20060309130028-default
Initrd image:   /boot/initrd-2.6.16-rc5-git9-20060309130028-default
Shared libs:    lib64/ld-2.3.90.so lib64/libacl.so.1.1.0 lib64/libattr.so.1.1.0 lib64/libblkid.so.1.0 lib64/libc-2.3.90.so lib64/libcom_err.so.2.1 lib64/libdl-2.3.90.so lib64/libext2fs.so.2.4 lib64
/libhistory.so.5.1 lib64/libncurses.so.5.5 lib64/libpthread-2.3.90.so lib64/libreadline.so.5.1 lib64/librt-2.3.90.so lib64/libuuid.so.1.2                                                            

Driver modules: ide-core ide-disk scsi_mod sd_mod sis5513 libata sata_sis processor thermal fan raid1 
Filesystem modules:     jbd ext3 
Including:      initramfs fsck.ext3 mdadm
13266 blocks
ERROR: Core::SplitDevPath: Cannot get device for (hd0,1)/boot/grub/stage2
ERROR: Core::SplitDevPath: Cannot get device for (hd0,1)/boot/grub/stage1
ERROR: Core::SplitDevPath: Cannot get device for (hd0,1)/boot/grub/stage2
ERROR: Core::SplitDevPath: Cannot get device for (hd0,1)/boot/grub/stage2
ERROR: Core::SplitDevPath: Cannot get device for (hd0,1)/boot/grub/stage1
ERROR: Core::SplitDevPath: Cannot get device for (hd0,1)/boot/grub/stage2
]]]

[[[
# cat /etc/grub.conf 
root (hd0,1)
install --stage2=/boot/grub/stage2 /boot/grub/stage1 d (hd0,0) /boot/grub/stage2 0x8000 (hd0,1)/boot/grub/menu.lst
install --stage2=/boot/grub/stage2 /boot/grub/stage1 d (hd1,1) /boot/grub/stage2 0x8000 (hd0,1)/boot/grub/menu.lst
install --stage2=/boot/grub/stage2 /boot/grub/stage1 d (hd0,1) /boot/grub/stage2 0x8000 (hd0,1)/boot/grub/menu.lst
quit
]]]

first 2 entries from the /boot/grub/menu.lst
[[[
###Don't change this comment - YaST2 identifier: Original name: linux###

title SUSE LINUX 10.0.42 (/dev/sda1)
    root (hd0,0)
    kernel /boot/vmlinuz root=/dev/sda1 vga=normal selinux=0  panic=5 selinux=0 acpi=on noapic load_ramdisk=1 resume=/dev/sdb1  splash=silent showopts
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: linux###

title SUSE LINUX 10.0.42 (/dev/md0)
    root (hd0,1)
    kernel /boot/vmlinuz root=/dev/md0 vga=normal selinux=0  panic=5 selinux=0 acpi=on noapic load_ramdisk=1 resume=/dev/sdb1  splash=silent showopts
# crashkernel=64M@16M

    initrd /boot/initrd
]]]

[[[
# for c in a b ; do fdisk -l /dev/sd$c ; done 

Disk /dev/sda: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         131     1052226   83  Linux
/dev/sda2             132       14946   119001487+  fd  Linux raid autodetect

Disk /dev/sdb: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         131     1052226   82  Linux swap / Solaris
/dev/sdb2             132       14946   119001487+  fd  Linux raid autodetect
]]]

[[[
mount
/dev/md0 on / type ext3 (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda1 on /mnt/rescue type ext3 (rw)
securityfs on /sys/kernel/security type securityfs (rw)
]]]
Comment 1 Joachim Plack 2006-03-23 11:06:29 UTC
Mmh, could you give me more details about what´s going _wrong_?
What would you expect?

The error looks fine to me, perl-Bootloader reports that there is no regular filesystem on sda2
but that it´s part of an md device.

Comment 2 Marcus Rückert 2006-03-24 16:07:21 UTC
i expect not to see:
"ERROR: Core::SplitDevPath: Cannot get device for (hd0,1)/boot/grub/stage2"

it doesnt give you the feeling the code handles this case properly.

sda2 can be mounted as normal ext2/3 aswell iirc. thats the way how grub accesses the kernel for booting. if the kernel is loaded the initrd reassembles the raid1. 

afaik grub1 doesnt support assembling raids on its own.
Comment 3 Ralf Flaxa 2006-05-03 12:51:03 UTC
In comment #1 it is claimed that sda2 is no regular filesystem because
it is part of an md device.
In comment #2 you claim that you *think* it can be mounted as normal ext2/ext3. Can you please verify? If not then I agree with comment #1
and would close this as INVALID.
We could argue about a message that is a bit more self-explaining though...

 
Comment 4 Joachim Plack 2006-05-04 14:42:48 UTC
as this part of the code is somehow under review (looks like it only works
for raid1 but silently fails for raid0/5) this will be polished _later_
Comment 5 Marcus Rückert 2006-05-04 14:44:21 UTC
ok that means i dont need to verify that anymore?
Comment 6 Joachim Plack 2006-08-07 11:46:15 UTC
.
Comment 7 Forgotten User bKE5XLoalW 2006-10-23 22:08:03 UTC
Using raid0 I can see this bug when updating the kernel package:

Output from kernel-default-2.6.16.21-0.13@i586:
Setting up /lib/modules/2.6.16.21-0.13-default
Root device:    /dev/md0 (mounted on / as reiserfs)
Module list:    piix siimage processor thermal fan reiserfs raid1 (xennet 
xenblk)

Kernel image:   /boot/vmlinuz-2.6.16.21-0.13-default
Initrd image:   /boot/initrd-2.6.16.21-0.13-default
Shared libs:    lib/ld-2.4.so lib/libacl.so.1.1.0 lib/libattr.so.1.1.0 
lib/libc-2.4.so lib/libdl-2.4.so lib/libhistory.so.5.1 lib/libncurses.so.5.5 
lib/libpthread-2.4.so lib/libreadline.so.5.1 lib/librt-2.4.so 
lib/libuuid.so.1.2

Driver modules: ide-core ide-disk piix siimage processor thermal fan raid1
Filesystem modules:     reiserfs
Including:      initramfs fsck.reiserfs mdadm
Bootsplash:     SuSE (800x600)
10792 blocks
ERROR: Core::SplitDevPath: Cannot get device for (hd0,0)/boot/grub/stage2

This bug is blocking any kernel update of the machines that have a raid0 system.
Comment 8 Joachim Plack 2006-11-20 17:20:53 UTC
sorry to say that but root on soft-raid0 _never_ worked out of the box.
You have to have now a separate /boot partition.

Will have to check how root on raid0 now work on 10.2beta2plusplus
Comment 9 Joachim Plack 2006-11-20 17:21:25 UTC
Aahm ... raid1 I meant
Comment 10 Marcus Rückert 2006-11-20 18:34:29 UTC
hmm.

if you would like to enforce a boot partition in my case, yast should definitely warn about it. the whole config was created with yast.

Comment 11 Joachim Plack 2008-07-15 11:26:02 UTC
assign to perl-bootloader maintainer
Comment 13 Jozef Uhliarik 2008-10-08 08:49:12 UTC
fixed in yast2-bootloader 2.17.26