Bugzilla – Bug 150569
Yast bootloader update adds resume=/dev/md0 when raid autorun is done after resume
Last modified: 2007-10-01 08:50:18 UTC
When setting up a mirrored root/swap system for reliability, Yast adds the resume option to the GRUB menu.lst line even though the raid autorun process is done later and the device is not available at that time. To reproduce: Set up RAID devices for the root and swap area and then try to get Yast to install the GRUB boot loader on one of the raid disks. Suspend/Resume cannot be used from the swap metadisk. It might be able to be used from one of the underlying mirror devices though.
This is not supported (yet). Need to insert this into the feature process.
Status: need to support resume from soft-RAID. It does not make sense to use the underlying disk devices instead: Let's assume the disks are set up as RAID1. Each underlying hard disk would need a different resume option. E.g., if the RAID swap device consists of /dev/sda1 and /dev/sdb1, the menu.lst on /dev/sda would need to have /dev/sda1 in the resume option, and the menu.lst on /dev/sdb would need to have /dev/sdb1 in the resume option. But the menu.lst on both disks are mirrored by the RAID1, and thus they cannot be configured differently. This problem can only be solved if RAID can be started before a resume starts. Assigning to kernel-maintainers. Also putting mkinitrd maintainers to Cc. Also moving to 10.3.
I've had the same problem with my HW-RAID (OpenSuse 10.2). After s2disk and restarting I got the following message: "resume device /dev/mapper/isw_bcjcfejhjc_Volume0_part6 not found (ignoring)". I made the following changes to /sbin/mkinitrd an created an new initrd: I moved the following text block: if [ -n "$need_dmraid" ] ; then cat_linuxrc <<-EOF |/sbin/dmraid -a y -p |/sbin/udevsettle --timeout=\$udev_timeout EOF fi Old position: line 2658, behind: if [ -n "$need_mdadm" ]; then ... fi cat_linuxrc <<-'EOF' |# Wait for udev to settle |/sbin/udevsettle --timeout=$udev_timeout |# Check for a resume device |udev_discover_resume EOF if [ -n "$need_mdadm" ]; then ... fi New position: line 2596, before above block. Now RAID-partitions get searched before the accessing the resume device. I don't know if it's the best solution, but it works for me.
The whole initrd system was changed in 10.3, so device initialization is guaranteed to come before resume. Could you please try this with a current beta again and see if it works?
ok, assuming it's fixed in 10.3. Please open a new bug (for the new system) if it happens with 10.3