openSUSE 12.3 fresh install, can't (multi) boot

hello openSUSErs!

i’m stuck with a new installation of openSUSE 12.3 failing on boot and am hoping for some guidance. (sorry for the long post, trying to provide the relevant info)

to make a long story less tedious let’s try this:

  • i am more-or-less a linux n00b though i’ve learned a bit after a year with Ubuntu and Mint and am now distro-hopping.

  • i have several distros installed on my old WinXP box including Ubuntu, Mint, #!, Manjaro, etc. they all boot fine from a fairly heavily hacked grub.cfg file sitting on the Mint partition.

  • i am hacking grub.cfg directly (a) because i’m trying to learn my way around GRUB2 and (b) because os-prober makes a hellacious mess out of my boot menu and i’m going to have to do most of it via the 40_custom route anyway so doing it via grub.cfg seemed the quick and dirty way to learn the ropes. thus far that’s worked out fine and, as i said, i have the other distros booting fine. of course i’ll eventually have to redo everything properly via 40_custom, etc.

  • i have recently installed openSUSE 12.3 from downloaded install DVD – verified iso and burn – did everything by the defaults except choosing a specific partition and the bootloader part where i selected “do nothing”. fwiw the openSUSE install is on partition sda23 of /dev/sda.

  • my hacked grub.cfg menuentry for openSUSE is:

menuentry 'openSUSE 12.3 with XFCE (on /dev/sda23)' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-e297bac7-d9fd-4352-85f5-3bca24c620cd' {
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos23'
    if  x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos23 --hint-efi=hd0,msdos23 --hint-baremetal=ahci0,msdos23  e297bac7-d9fd-4352-85f5-3bca24c620cd
    else
      search --no-floppy --fs-uuid --set=root e297bac7-d9fd-4352-85f5-3bca24c620cd
    fi
    echo    'Loading openSUSE 12.3 vmlinuz-3.7.10-1.1-default ...'
    linux    /boot/vmlinuz root=/dev/sda23 showopts
    echo    'Loading ramdisk initrd-3.7.10-1.1-default ...'
    initrd    /boot/initrd
}
  • **when i attempt to boot into openSUSE i get the echo stuff from above, then a bunch of boot procedure output flashes by which all comes to a halt with:

resume device not found (ignoring) …
waiting for device /dev/sda23 to appear …
**

  • after a minute or two it gives up, burps up something about “USB disconnect” then asks if it should “fall back to /dev/disk/by-id/ata-WDC_WD5000AAKB…-part23” and then goes into an endless cycle looking at USB ports or somesuch.

  • in the course of my googlings i read that a munged up fstab file can cause the “waiting for device …” error message. fwiw this is /etc/fstab from my openSUSE partition:

/dev/sda23 /                    ext4       acl,user_xattr        0 1
/dev/sda11 none                 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
  • ftr these is the blkid output, trimmed to the bits i imagined might be relevant:
/dev/sda1: LABEL="sys" UUID="E4D41A5BD41A2FF2" TYPE="ntfs" 
...
/dev/sda11: UUID="7ebec3b9-6f34-4c20-9c58-e7a619223949" TYPE="swap" 
/dev/sda12: LABEL="lubuntu" UUID="174d33d2-530d-41fb-8cc9-24a36d74671a" TYPE="ext4" 
/dev/sda13: LABEL="mint" UUID="5eefeb19-f171-4372-9227-a9f9028e8881" TYPE="ext4" 
...
/dev/sda17: LABEL="mint4her" UUID="c944bd02-d4cd-4b9d-b630-14991584a8fb" TYPE="ext4"
...
/dev/sda23: LABEL="opensuse" UUID="e297bac7-d9fd-4352-85f5-3bca24c620cd" TYPE="ext4" 
...

so there it is. at this point i’m stumped and would much appreciate some pointers and/or suggestions as how to get openSUSE booting successfully.

Did you try to install from USB instead of a DVD ?
Have a look at https://forums.opensuse.org/english/get-technical-help-here/install-boot-login/484392-problems-installing-12-3-a.html#post2535809

I may understand your reasons, but this doesn’t make it easier to help you.

making it rather sure that you tried to install from a USB stick,
which for openSUSE 12.3 appears to cause problems,
https://forums.opensuse.org/english/get-technical-help-here/install-boot-login/484392-problems-installing-12-3-a.html#post2535809

Do you have a DVD drive ?

Good Luck
Mike

You problem has nothing to do with miltiboot or grub, as kernel is obviously loaded. It looks like either initrd is missing drivers for your root disk or partition counting is different between different systems. For a start, you could append shell=1 to kernel command line; it will stop at the end of linuxrc, spawn a shell and you get chance to poke around what is available at this point. May be device is there but for some reasons is called differently.
Rebuilding initrd may help as well. Boot into rescue mode (I’m not sure whether 12.3 offers it now on installation DVD or you need extra ISO for it), bind-mount /dev, /sys, /proc, /run into installed system, chroot into it and just do mknitrd.

thank you for the replies guys, much appreciated.

no, I installed from DVD, as mentioned;

… installed openSUSE 12.3 from downloaded install DVD – verified iso and burn …

fwiw i’m running off a 10-year old P4 system, a P4P800 m/b, from which i have never successfully booted via USB. latter versions of the BIOS allow you to add USB as a boot oprion, which i have, but it’s never worked. my wife has a eeePC which will boot fine off of USBs that my P4 just chokes and dies on.

well that’s a bit of good news. :slight_smile: nice to know that, at least, is functional. i’ll tweak it as you’ve suggested.

Rebuilding initrd may help as well. Boot into rescue mode (I’m not sure whether 12.3 offers it now on installation DVD or you need extra ISO for it), bind-mount /dev, /sys, /proc, /run into installed system, chroot into it and just do mknitrd.

ok, that sounds challenging, looks like a learning experience for sure. is there detailed procedure for this somewhere, to aid my n00bness, or should i just jump in?

Not sure, but

  • boot installation DVD, it has rescue mode both in BIOS and EFI cases. It boots to command prompt, user root with empty password
  • then execute

mkdir /sysroot
mount /dev/sda23 /sysroot
mount --bind /dev /sysroot/dev
mount --bind /sys /sysroot/sys
mount --bind /proc /sysroot/proc
mount --bind /run /sysroot/run
chroot /sysroot
/sbin/mkinitrd
exit
reboot

Check if partition is indeed /dev/sda23, may be it is different, or may be it is /dev/sdb and not /dev/sda.

This likely won’t help you, but I saw something similar error behaviour on a test PC I tried to change openSUSE with its 3.7.x kernel to an older 3.6.x kernel. Changing to an older kernel was not easily possible.

However this should not be the case for you in a fresh install, so it is puzzling what this could be.

I recommend you to change location of grub to other distro of your choice, command grub2-install your patition and grub-mkconfig -o /boot/grub/grub.cfg Grub of openSUSE has many problems for me.

Could you share list of bug reports?

thank you! i’ll give it a go and report back with the results.

ok, short answer is “no change”.

when i attempted to boot into opensuse after the mkinitrd, i saw exactly the same result as before:

resume device not found (ignoring)
waiting for device /dev/sda23 to appear …

when i had booted from the install disk into Rescue the opensuse partition was listed as /dev/sdd23 instead of the usual /dev/sda23. this is not unusual afaik, i often see that drive appear as something other than sda when i boot off of live disks. when i boot from bios into GRUB though it is always sda.

given this i tweaked the second step of the mkinitrd procedure slightly: instead of “mount /dev/sda23 /sysroot” i used “mount LABEL=opensuse /sysroot”. obviously i had previously labeled my partition as “opensuse”. everything else proceeded as shown and /sbin/mkinitrd seemed to complete, no errors. there was indeed a new initrd in /boot: initrd-3.7.10-1.1-default with the appropriate timestamp.

sorry to be a pest but if i may: any further thoughts?

Please, use “code” tags when quoting computer output. They are a) better formatted b) not removed from replies to your posts.

waiting for device /dev/sda23 to appear ....

when i had booted from the install disk into Rescue the opensuse partition was listed as /dev/sdd23

Well, that’s likely the problem. Your disk is not /dev/sda when you boot. I already suggested you to stop in initrd and look around.

i had previously labeled my partition as “opensuse”

Then try to boot with root=LABEL=opensuse instead of root=/dev/sdaXXX. And after having booted, fix your /etc/fstab to use either device id or device label and rebuild initrd again.

ok, will do re the

 thing.

guess there was some confusion re "shell-1".  i thought you meant add that to kernel line in the grub menuentry for opensuse which i did and it had no effect.  having poked around i now understand that you may have meant setting "startshell=1" as a boot parameter during either the install and/or rescue.  i didn't get that at the time, my bad.

that said, changing "root=/dev/sda23" to "root=LABEL=opensuse" as you suggested DID allow me to boot into the opensuse partition.  in fact i am posting from there now.  the boot cycle took a heck of a long time -- seemed to stall on something related to the sound card, etc -- but i'm sure i can google around for info on those issues.

fwiw i ran blkid from within opensuse and the "opensuse" partition does in fact appear as sdd23 and not sda23.  i find this a bit of a surprise because a number of my other grub menuentry items use "/dev/sda.." and they work fine.  and as i've said, that drive usually **does** appear as "sda".  obviously there is something less than 100% predictable there and in my n00bness i have no clue what that might be.

in any case i am up and running in opensuse so many thanks for your patience and assistance.

it’s shell=1. I just tested it and it stops in initrd.

i find this a bit of a surprise because a number of my other grub menuentry items use “/dev/sda…” and they work fine. and as i’ve said, that drive usually does appear as “sda”.

Do not use /dev/sdX anywhere directly. Even booting with plugged in USB stick may cause drive renumbering.

yes, sorry, that was a typo, i realise it was “…=1” not “…-1”.

clearly i’m still not getting it though. where did you put that? (a) kernel line of the menuentry or (b) as an extra parameter during Rescue boot? i tried (a) and it seemed to have no effect. i’d like to know for next time.

fwiw it is apparently not just a matter of changing “root=/dev/sd…” to the corresponding “root=LABEL=…” in the “linux” statements of the grub menu.

i did that and half of my distros would not boot, namely Zenwalk, Slacko Puppy and aLinux. same result when i used the UUIDs for those partitions: no go. on the other hand half or more of them were fine with the change (Mint, Manjaro, Xubuntu, antiX).

only when i changed those statements back to using “root=/dev/sd…” would those non-booting partitions boot again. doubtless it’s because i am in over my n00bie head here but i think it’s worth knowing because it would seem to point to bigger issues being involved.

Yes. But with grub2 it is “linux …”, not “kernel …”.

Well … it is also distribution dependent, of course. E.g. you need initrd (or similar) to interpret those names. Those distributions I have worked with all did not have problems with LABEL/UUID.

out of respect and the desire to not get lost in the naming of things i have been following your lead (post #3 of this thread):

For a start, you could append shell=1 to kernel command line …

anyway, as i’ve said twice now, i did that – or what i think you intended, hard to tell because it seems a rather difficult usage to find any documentation on – and the results were ziltch: no shell as far as i can see or tell. all keyboard input was completely ignored throughout.

thank you for confirming that the usage of “root=…” is distro independent. that may be obvious to you but when you said “do not use /dev/sdX anywhere directly” perhaps you forgot to mention that it was only applicable to “those distributions I have worked with”.

again though, thank you for your help. you’ve been very generous with your time, your assistance has been invaluable, and we got there in the end. :slight_smile: