Grub detects the other distro incorrectly

Greetings,

The problem is that openSUSE detects Manjaro via os-prober, but I get:

kernel panic-not syncing: VFS: unable to mount root fs on  unknown block(0,0)

at boot. The Manjaro GRUB boots itself okay, but it does not detect openSUSE (both are btrfs and Manjaro seems
to have poor support at handling btrfs detection).

I have read the Manjaro forums and have found similar issues and solutions by adding correct custom entries to GRUB.
But it will work untill the grub is updated. Is there anything I can do that the openSUSE GRUB will
detect and handle Manjaro correctly?

As I read, it is about intel-ucode.

Here it is the Manjaro entry in openSUSE GRUB:

   ### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Manjaro Linux  (on /dev/sda3)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-c590198c-0185-401a-a61d-c324b49a832c' {
    insmod part_msdos
    insmod btrfs
    set root='hd0,msdos3'
    if  x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  c590198c-0185-401a-a61d-c324b49a832c
    else
      search --no-floppy --fs-uuid --set=root c590198c-0185-401a-a61d-c324b49a832c
    fi
    linux /boot/vmlinuz-4.4-x86_64 root=UUID=c590198c-0185-401a-a61d-c324b49a832c rw quiet splash resume=UUID=45c04a5a-1880-4914-bb39-dfcf56819972
    initrd /boot/intel-ucode.img
}
submenu 'Advanced options for Manjaro Linux  (on /dev/sda3)' $menuentry_id_option 'osprober-gnulinux-advanced-c590198c-0185-401a-a61d-c324b49a832c' {
    menuentry 'Manjaro Linux (on /dev/sda3)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.4-x86_64--c590198c-0185-401a-a61d-c324b49a832c' {
        insmod part_msdos
        insmod btrfs
        set root='hd0,msdos3'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  c590198c-0185-401a-a61d-c324b49a832c
        else
          search --no-floppy --fs-uuid --set=root c590198c-0185-401a-a61d-c324b49a832c
        fi
        linux /boot/vmlinuz-4.4-x86_64 root=UUID=c590198c-0185-401a-a61d-c324b49a832c rw quiet splash resume=UUID=45c04a5a-1880-4914-bb39-dfcf56819972
        initrd /boot/intel-ucode.img
    }
    menuentry 'Manjaro Linux (Kernel 4.4.24-1-MANJARO x64) (on /dev/sda3)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.4-x86_64--c590198c-0185-401a-a61d-c324b49a832c' {
        insmod part_msdos
        insmod btrfs
        set root='hd0,msdos3'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  c590198c-0185-401a-a61d-c324b49a832c
        else
          search --no-floppy --fs-uuid --set=root c590198c-0185-401a-a61d-c324b49a832c
        fi
        linux /boot/vmlinuz-4.4-x86_64 root=UUID=c590198c-0185-401a-a61d-c324b49a832c rw quiet splash resume=UUID=45c04a5a-1880-4914-bb39-dfcf56819972
        initrd /boot/intel-ucode.img
    }
    menuentry 'Manjaro Linux (Kernel 4.4.24-1-MANJARO x64 - fallback initramfs) (on /dev/sda3)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.4-x86_64--c590198c-0185-401a-a61d-c324b49a832c' {
        insmod part_msdos
        insmod btrfs
        set root='hd0,msdos3'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  c590198c-0185-401a-a61d-c324b49a832c
        else
          search --no-floppy --fs-uuid --set=root c590198c-0185-401a-a61d-c324b49a832c
        fi
        linux /boot/vmlinuz-4.4-x86_64 root=UUID=c590198c-0185-401a-a61d-c324b49a832c rw quiet splash resume=UUID=45c04a5a-1880-4914-bb39-dfcf56819972
        initrd /boot/intel-ucode.img
    }
    menuentry 'Memory Tester (memtest86+) (on /dev/sda3)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/memtest86+/memtest.bin--c590198c-0185-401a-a61d-c324b49a832c' {
        insmod part_msdos
        insmod btrfs
        set root='hd0,msdos3'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  c590198c-0185-401a-a61d-c324b49a832c
        else
          search --no-floppy --fs-uuid --set=root c590198c-0185-401a-a61d-c324b49a832c
        fi
        linux /boot/memtest86+/memtest.bin 
    }
}

### END /etc/grub.d/30_os-prober ###

And Manjaro entry in Manjaro GRUB:

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c590198c-0185-401a-a61d-c324b49a832c' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod btrfs
    set root='hd0,msdos3'
    if  x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  c590198c-0185-401a-a61d-c324b49a832c
    else
      search --no-floppy --fs-uuid --set=root c590198c-0185-401a-a61d-c324b49a832c
    fi
    echo    'Loading Linux 4.4.24-1-MANJARO x64 ...'
    linux    /boot/vmlinuz-4.4-x86_64 root=UUID=c590198c-0185-401a-a61d-c324b49a832c rw  quiet splash resume=UUID=45c04a5a-1880-4914-bb39-dfcf56819972
    echo    'Loading initial ramdisk ...'
    initrd    /boot/intel-ucode.img /boot/initramfs-4.4-x86_64.img
}
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-advanced-c590198c-0185-401a-a61d-c324b49a832c' {
    menuentry 'Manjaro Linux (Kernel: 4.4.24-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.24-1-MANJARO x64-advanced-c590198c-0185-401a-a61d-c324b49a832c' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod btrfs
        set root='hd0,msdos3'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  c590198c-0185-401a-a61d-c324b49a832c
        else
          search --no-floppy --fs-uuid --set=root c590198c-0185-401a-a61d-c324b49a832c
        fi
        echo    'Loading Linux 4.4.24-1-MANJARO x64 ...'
        linux    /boot/vmlinuz-4.4-x86_64 root=UUID=c590198c-0185-401a-a61d-c324b49a832c rw  quiet splash resume=UUID=45c04a5a-1880-4914-bb39-dfcf56819972
        echo    'Loading initial ramdisk ...'
        initrd    /boot/intel-ucode.img /boot/initramfs-4.4-x86_64.img
    }
    menuentry 'Manjaro Linux (Kernel: 4.4.24-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.24-1-MANJARO x64-fallback-c590198c-0185-401a-a61d-c324b49a832c' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod btrfs
        set root='hd0,msdos3'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  c590198c-0185-401a-a61d-c324b49a832c
        else
          search --no-floppy --fs-uuid --set=root c590198c-0185-401a-a61d-c324b49a832c
        fi
        echo    'Loading Linux 4.4.24-1-MANJARO x64 ...'
        linux    /boot/vmlinuz-4.4-x86_64 root=UUID=c590198c-0185-401a-a61d-c324b49a832c rw  quiet splash resume=UUID=45c04a5a-1880-4914-bb39-dfcf56819972
        echo    'Loading initial ramdisk ...'
        initrd    /boot/intel-ucode.img /boot/initramfs-4.4-x86_64-fallback.img
    }
}

### END /etc/grub.d/10_linux ###

So I get two distros which are booted only by their GRUB. openSUSE detects Manjaro but does not boot it. Manjaro even does not create any entry of os-prober.

I would appreciate any help in getting a correctly detected Manjaro entry in openSUSE GRUB.

Please run os-prober in terminal and upload its output and logs to http://susepaste.org. Something like


script
START=$(date +"%F %T")
os-prober
journalctl --since="$START" --no-pager
exit

and upload file typescript that is created in current directory.

I have just created a paste: http://susepaste.org/68855631

Thank you.

Thanks. Could you please now do the same for

linux-boot-prober btrfs UUID=c590198c-0185-401a-a61d-c324b49a832c subvol=

Here it is: http://susepaste.org/97310290

Thank you for your time.

Why os-prober does not simply copy the Manjaro entry? I have just added the Manjaro entry from Manjaro GRUB in openSUSE (40_custom) and it boots okay. Even the openSUSE os-prober entry works if I add the initramfs line to intel-ucode:

/boot/intel-ucode.img /boot/initramfs-4.4-x86_64.img

However, openSUSE generates only:

insmod part_msdos
insmod btrfs

While Manjaro has:


load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod btrfs

And that’s why, I guess, I get two different boots, the second one boots exactly as the Manjaro GRUB does.

Please open bug report on https://bugzilla.opensus.org/ (use the same user name/password as here), attach both logs and post number here.

Because Manjaro is the first distribution to actually use initrd concatenation support in grub2. So nobody thought about implementing it before. Unfortunately doing it right in shell is near to impossible …

I’ve messed that bug so bad… The files weren’t uploaded as I was expecting, so I’ve just posted the links to the logs. I would delete it, but I can’t find an option (my first bug).

https://bugzilla.opensuse.org/show_bug.cgi?id=1006441