No boot entry created for openSUSE in OM Lx boot loader

Tags: #<Tag:0x00007f251d760388> #<Tag:0x00007f251d760270> #<Tag:0x00007f251d7601a8>

Hello,

  • OpenMandriva Lx version:

AFAIK all

  • Desktop environment (KDE, LXQT…):

NA

  • Description of the issue (screenshots if relevant):

NA (I don’t have the issue myself)

  • Relevant informations (hardware involved, software version, logs or output…):

This post is in response to this thread: Boot-loader non mostra tutti i sistemi operativi

I’m posting here so I can write in English. The problem as described by user @Giorgio is that there are no boot entries created using OpenMandriva boot loader for an openSUSE system on multi-boot computer. Please correct me if this description in not accurate.

The first thing to do if user has not already done so is to run the command:

$ sudo update-grub2

in Konsole. This command runs a grub2 script that is supposed to check for, recognize, and create boot-able entries for all the operating systems on users computer. In the “real world” this works well most of the time but there are problems and sometimes the solution is a workaround rather than a fix. These are just realities of multi-booting.

There are 2 things to check for this problem:

  1. Does os-prober correctly see and list the openSUSE operating system?

    os-prober is the utility that grub2 script uses to check for “other” operating systems on your computer including Windows or other Linux system. To check os-prober simply run this command from Konsole:

    $ sudo os-prober

    Post the entire output of that in this thread as code with the </> icon.

    Are all the operating systems listed? If they are great, if they are not then we have a problem with os-prober.

  2. If os-prober lists all the operating systems on users computer does OpenMandriva grub2 script create a boot-able entry for openSUSE (or other) operating system?

    To check the grub2 script you check contents of the file ‘/boot/grub2/grub.cfg’. This file is literally the grub2-menu. If there is not an entry in that file for the operating system in question then the problem lies with the grub2 script.

    To create another file you can post in this thread run this command in Konsole:

    $ cat /boot/grub2/grub.cfg > grub.cfg.txt

    Post the created file “grub.cfg.txt” in this thread.

Summary: Once we determine whether problem is with os-prober or grub2 then we can ask developers to work on this.

$ sudo update-grub2
[sudo] password di giorgio: 
Updating /boot/grub2/locale..
Generating grub configuration file ...
Found theme: /boot/grub2/themes/OpenMandriva/theme.txt
Found background: /boot/grub2/themes/OpenMandriva/terminal_background.png
Found linux image: /boot/vmlinuz-5.5.12-desktop-1omv4001
Found initrd image: /boot/initrd-5.5.12-desktop-1omv4001.img
Found linux image: /boot/vmlinuz-5.5.0-desktop-1omv4001
Found initrd image: /boot/initrd-5.5.0-desktop-1omv4001.img
Found memtest image: /boot/elf-memtest86+
Found Linux Mint 19.3 Tricia (19.3) on /dev/sda11
Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Found openSUSE Leap 15.1 on /dev/sda8
Found openSUSE Leap 15.1 on /dev/sda8
Adding boot menu entry for EFI firmware configuration
done

openSuse is recognized.

Here too openSuse is found and its filesystem (btrfs) is recognized

$ sudo os-prober
/dev/sda11:Linux Mint 19.3 Tricia (19.3):LinuxMint:linux
/dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
/dev/sda8:openSUSE Leap 15.1:openSUSE Leap:linux
/dev/sda8:openSUSE Leap 15.1:openSUSE LeapLeap:linux:btrfs:UUID=8e15db95-be26-4f1b-b4b7-7bdedf389f7f:subvol=@/.snapshots/1/snapshot

And this is the file you asked for: grub2-menu.txt (36.1 KB)

First point is that openSUSE is listed twice. Don’t know what this might mean or if it indicates any problem.

Second we can see in the grub.cfg file that there is no entry being created for openSUSE.
A little explanation abut this tile. The operating system and bootloader in use will be listed in the section:

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

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

Then all the “other” operating systems including Windows are in this section:

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

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

So yet to be determined is if it is a problem that the openSUSE system is listed twice?

And we clearly can see that grub2 is not creating a boot entry for the openSUSE system.

Now we are at the limits of my knowledge and need guidance or help from developers.

Partly I am trying to suggest that how openSUSE vs. OpenMandriva recognize kernels and set up boot-loader may be to different for this to be a fix-able issue. I do not know this though and need confirmation from a developer as to what is reasonable to expect.

I went over this with @abucodonosor and he looked in openSUSE repositories and he found what problem is. openSUSE uses custom syntax for their os-prober and grub2 btrfs patches that are not compatible with OM Lx code. The problem is they literally call btrfs something different (xbtrfs). There is more to openSUSE customization that makes this very difficult for OM devs to fix.

I did test installs of SUSE Leap 15.1 with btrfs and OM Lx will not create boot entry for that. Test install of SUSE Leap 15.1 with ext4 and OM Lx will boot that. Other file system types are unknown unless we get reports from users.

So this is a problem that requires a workaround. Either switch boot loaders in BIOS for the computer as needed. (Or UEFI settings to be technically correct for UEFI computers.) Or use openSUSE bootloader if it recognizes your OM Lx system (and others).

Note: As I long time Linux multi-booter that used openSUSE myself for years I can report that openSUSE was always the most problematic system for me in terms of cooperating with other Linux boot loader configs. I frequently, but not always, had to do the “change boot-loader in BIOS” workaround myself specifically for openSUSE.

Note-2: This may be possible to fix in code but OM developers are few in number and have to prioritize fixing things that affect all users first, most users next. This is an issue that would only affect a few users so it is a priority question. (This statement is “as @ben79 understands things at this time”.)

1 Like

I should add that i was hoping for a different answer. But reality kicks me sometimes. :astonished:

1 Like

Thanks to both of you for investigating. I will use openSuse boot loader even if I like more OMLx boot-loader.
I’ll open a bug in openSuse too.

1 Like