logon loop after software updates to 4.7.5

I have been using opensuse Tumbleweed 4.1.31-30 with no problems. A couple of days ago, having plenty of disk space to do it (no thanks to tons of large btrfs snapshots I had to remove) I allowed a set of 1500+ software updates (including to bring it to 4.7.5-1) to run. After they completed, and I rebooted the machine, I first see:

error: no symbol table (in a terminal like window)

then I see my list of userid’s to choose from. If I choose any of them, then enter the password, I am taken back to the same set of userid’s.

I can logon as root, but just get to a crude terminal window, not Gnome.

Also, if this is relevant, I am running this as a VBOX VM.

Another anomaly is that the “window” that shows the list of userid’s to choose from is smaller than it used to be, it used to be full screen.

Luckily I made a clone of this VM before allowing the 1500+ software updates to run. In case I can start again and do something differently.

Thanks for any ideas.

There is no “Tumbleweed 4.1.31-30”.
Leap 42.1 comes with kernel 4.1.31, so you were using that I suppose.

A couple of days ago, having plenty of disk space to do it (no thanks to tons of large btrfs snapshots I had to remove) I allowed a set of 1500+ software updates (including to bring it to 4.7.5-1) to run.

1500+ updates?
That sounds to me like you added the Tumbleweed repo, and kernel 4.7.5-1 would indicate that.

If you want to upgrade to Tumbleweed, you need to run “zypper dup”, the standard software updater is not designed to handle distribution upgrades and will likely break your system.

Running “zypper dup” should fix your system, but better post your repo list first:

zypper lr -d

And please clarify whether you really want to upgrade to Tumbleweed (the rolling, ever-changing, distribution), or rather stay at the “stable” Leap 42.1.

“Luckily”? You should make that a habit. A good habit.

I have been using Tumbleweed (but it is at 4.1.31-30) for a long time, and every day or two have been installing a small set of suggested Software Updates. The selections in the boot menu indicate that Tumbleweed is using 4.1.31-30. So I am back to my original question.

All updates I have done have been suggested by the Software Updater, since I installed this (whatever terms you call my distribution). I in no way actively sought to get to 4.7.5.

Then several days ago, got a notice that instead of the usual few updates, there were 1500+, as I said. So I assumed that the distributors of these 1500+ updates expected that this would work and get me to 4.7.5. Are you implying I got the 1500+ updates notice in error???

Sorry, but there never has been a kernel 4.1.31 in Tumbleweed.
Tumbleweed switched to 4.2, long before 4.1.31 got released.

You were definitely using Leap 42.1, the kernel at least.

All updates I have done have been suggested by the Software Updater, since I installed this (whatever terms you call my distribution). I in no way actively sought to get to 4.7.5.

So again, please post your repo list.

Then several days ago, got a notice that instead of the usual few updates, there were 1500+, as I said. So I assumed that the distributors of these 1500+ updates expected that this would work and get me to 4.7.5. Are you implying I got the 1500+ updates notice in error???

As I said, 1500+ updates really look like a distribution upgrade, not standard updates.
Even on Tumbleweed there should not be that many at once normally, unless you really didn’t update for a long time.

Normally this only should happen if you somehow add a repo from a different distribution version (by mistake?).

UPDATE:

So as root in Tumbleweed after the 1500+ update to take me to 4.7.5, I got in as root and ran zypper dup.

This added 200+ updates and took me to 4.7.6, which appears to work OK and with which I can logon as my usual non-root user.

However, I still see the line:

error: no symbol table

What does this mean? Should I do anything about it?

Thanks.

PS: I just had a look, and the last 4.1.x kernel in Tumbleweed seems to have been 4.1.6, then they switched to 4.2, the current one is 4.7.6 which got released today.

OK, I checked my “clone” before the 1500+ updates and it is Leap 42.1 (from boot menu).

However, like I said I had only been updating it via the usual notices, and one fine day a few days ago got the notice about 1500+ updates available.

Now I notice that AFTER the 1500+ update I am on Tumbleweed (can see from boot menu). I did nothing special.

How do I get my repo list to post?

And I still have the “error: no symbol table” issue.

Thanks,

So you have fully upgraded to Tumbleweed now, it seems.

Please, still post your repo list.
You should remove all 42.1 repos now that you may have (or “upgrade” them to the Tumbleweed versions), to prevent further problems.

However, I still see the line:

error: no symbol table

What does this mean? Should I do anything about it?

Well, where/when do you see that?
Is that exactly the message you see? Is there not more information?

Well, you must have added the Tumblweed repo somehow, this doesn’t happen by itself.
Maybe you clicked on some 1-click install intended for Tumbleweed/Factory?

How do I get my repo list to post?

As I wrote already:

zypper lr -d

You can still revert to Leap 42.1 though, if you would prefer to stay “stable”. (note that “stable” in this context means to not be changing all the time, like Tumbleweed does, it doesn’t mean being “unstable” in the sense of breaking all the time or crash)

And I still have the “error: no symbol table” issue.

See my previous post.

  1. The “error: no symbol table” message appears in a quasi-terminal after I select Opensuse Tumbleweed from the boot menu, before a couple of lines about loading 4.7.6 … AFTER Which some time elapses and I see the userid choices.

  2. I am using Opensuse as a database developer and experimenter, so hopefully Tumbleweed is stable enough.

  3. I installed/created this VBOX VM a couple of years ago, and have never updated the system software except through the Software Update suggestions that shows upon booting (it appeared to me that Leap 42.1 was constantly having rolling updates). I have occasionally added software tools through Yast, but these always clearly appeared as the tools or libraries I intended. I was not on Tumbleweed until allowing the 1500+ updates recently.

  4. repo list:

| Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI | Service

—±------------------------------------±----------------------------------------±--------±----------±--------±---------±-------±------------------------------------------------------------------------±-------
1 | download.opensuse.org-non-oss | Main Repository (NON-OSS) | Yes | (r ) Yes | Yes | 99 | yast2 | http://download.opensuse.org/distribution/leap/42.1/repo/non-oss/ |
2 | download.opensuse.org-non-oss_1 | Update Repository (Non-Oss) | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/42.1/non-oss/ |
3 | download.opensuse.org-oss | Main Repository (OSS) | Yes | (r ) Yes | Yes | 99 | yast2 | http://download.opensuse.org/distribution/leap/42.1/repo/oss/ |
4 | download.opensuse.org-oss_1 | Main Update Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/42.1/oss |
5 | http-download.opensuse.org-a0b32320 | openSUSE:Factory | Yes | (r ) Yes | Yes | 99 | yast2 | http://download.opensuse.org/tumbleweed/repo/oss/ |
6 | http-ftp.uni-erlangen.de-2c984c3b | Packman Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://ftp.uni-erlangen.de/pub/mirrors/packman/suse/openSUSE_Leap_42.1 |
7 | openSUSE-42.1-0 | openSUSE-42.1-0 | Yes | (r ) Yes | No | 99 | yast2 | cd:///?devices=/dev/disk/by-id/ata-VBOX_CD-ROM_VB2-01700376 |
8 | repo-debug | openSUSE-Leap-42.1-Debug | No | ---- | Yes | 99 | NONE | http://download.opensuse.org/debug/distribution/leap/42.1/repo/oss/ |
9 | repo-debug-non-oss | openSUSE-Leap-42.1-Debug-Non-Oss | No | ---- | Yes | 99 | NONE | http://download.opensuse.org/debug/distribution/leap/42.1/repo/non-oss/ |
10 | repo-debug-update | openSUSE-Leap-42.1-Update-Debug | No | ---- | Yes | 99 | NONE | http://download.opensuse.org/debug/update/leap/42.1/oss |
11 | repo-debug-update-non-oss | openSUSE-Leap-42.1-Update-Debug-Non-Oss | No | ---- | Yes | 99 | NONE | http://download.opensuse.org/debug/update/leap/42.1/non-oss/ |
12 | repo-source | openSUSE-Leap-42.1-Source | No | ---- | Yes | 99 | NONE | http://download.opensuse.org/source/distribution/leap/42.1/repo/oss/ |
13 | repo-update | openSUSE-Leap-42.1-Update | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/42.1/oss/ |

  1. How do I remove the 42.1 stuff you suggest?

Thanks.

So you want to keep 42.1 or go to TW??

in any case be sure all repos point to the version you want then do a zypper dup

And it’s just that?
Doesn’t tell much unfortunately.

Maybe you have some (now) incompatible kernel module installed?

  1. I am using Opensuse as a database developer and experimenter, so hopefully Tumbleweed is stable enough.

Ok, fine. You wouldn’t be the first one who “upgraded” to Tumbleweed by mistake though.

It should be “stable” in the sense of working, but it is definitely not stable in the sense of no (or few) updates… :wink:
You’ll always get the latest versions of all packages from the standard repos, instead of just bugfix and security updates. That’s the main (and only) point of Tumbleweed by definition.

Some people don’t like that.

  1. I installed/created this VBOX VM a couple of years ago, and have never updated the system software except through the Software Update suggestions that shows upon booting (it appeared to me that Leap 42.1 was constantly having rolling updates). I have occasionally added software tools through Yast, but these always clearly appeared as the tools or libraries I intended. I was not on Tumbleweed until allowing the 1500+ updates recently.

Well, as I wrote, you must have added the Tumbleweed repo somehow.

The main question now is whether you want to actually use Tumbleweed or not though.
I regard your previous comment as yes.

  1. How do I remove the 42.1 stuff you suggest?

Open YaST->Software Repositories, or run “sudo zypper rr 1 2 3 4 6 7 8 9 10 11 12 13”.

Afterwards, you probably may want to add Packman for Factory again and do a full switch to it to have all the non-restricted multimedia stuff. (you should also give it a higher priority, i.e. lower priority number, than the standard repos to make sure it is preferred)

sudo zypper ar -f http://ftp.uni-erlangen.de/pub/mirrors/packman/suse/openSUSE_Tumbleweed packman
sudo zypper mr -p 95 packman
sudo zypper dup --from packman

Be aware that there’s currently a dependency problem with vlc(-codecs), better keep the old version in that case when being asked.

And you should also add the Tumbleweed Update repo, for emergency updates.

sudo zypper ar -f http://download.opensuse.org/update/tumbleweed/ repo-update

(all this could also be done via YaST)

See also openSUSE:Migrate Leap to Tumbleweed - openSUSE Wiki, which also tells you to add the non-oss and debug repos.
The latter may be useful to you as it contains some non-opensource stuff including an mp3 codec for gstreamer, the latter should not be necessary unless you want to debug crashes and/or report them.

Alternatively (if you decide to rather stay on Leap 42.1), remove the Tumbleweed repo and run “zypper dup” again to downgrade:

sudo zypper rr 5
sudo zypper dup

If you have further questions, or encounter issues/conflicts, feel free to ask.

Thanks for the help. I ran all the commands you suggested to stay with Tumbleweed.

My repo list is now:

| Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI | Service

–±------------------------------------±-----------------±--------±----------±--------±---------±-------±------------------------------------------------------------------------±-------
1 | http-download.opensuse.org-a0b32320 | openSUSE:Factory | Yes | (r ) Yes | Yes | 99 | yast2 | http://download.opensuse.org/tumbleweed/repo/oss/ |
2 | packman | packman | Yes | (r ) Yes | Yes | 95 | rpm-md | http://ftp.uni-erlangen.de/pub/mirrors/packman/suse/openSUSE_Tumbleweed |
3 | repo-update | repo-update | Yes | ( p) Yes | Yes | 99 | NONE | http://download.opensuse.org/update/tumbleweed/

Does this look OK to you?

I take it that software updates which appear automatically (after boot/login) and which I am called upon to agree to install are based on the repositories I have?

So far everything appears to work.

I still have, after selecting Tumbleweed on the boot (grub?) menu (the below three or 4 lines disappear quickly, then I see the Suse booting screen with a dot moving through three circles repeatedly before the logon screen):

error: no symbol table
Loading Linux 4.7.6 …
anotther line … |

maybe a line about hitting enter to continue (which I never do)

Yes.
Except that you also may want to add repo-non-oss as mentioned if you need it.
Basically this mainly contains gstreamer-fluendo-mp3

But with Packman that is not strictly necessary.

It also contains other non open source stuff though (unrar, xv, moneyplex, opera, steam, and a few others I never heard of).

I take it that software updates which appear automatically (after boot/login) and which I am called upon to agree to install are based on the repositories I have?

Yes.

I still have, after selecting Tumbleweed on the boot (grub?) menu (the below three or 4 lines disappear quickly, then I see the Suse booting screen with a dot moving through three circles repeatedly before the logon screen):

error: no symbol table
Loading Linux 4.7.6 …
anotther line … |

In that case, it is displayed by grub2, even before the kernel is loaded.
Maybe a problem with the generated grub.config?
Try to run “sudo grub2-mkconfig -o /boot/grub2/grub.cfg”, or just open YaST->System->Boot Loader and click on OK (which should also recreate the boot loader config).

If that doesn’t help, maybe post the file /boot/grub2/grub.cfg.

Though if you don’t actually have a problem, you could probably just ignore it too…

Thanks for all the help. Adding the repo-non-oss stuff and running zypper dup again added background colors and made Yast modules work (they had all failed to start before I added repo-non-oss))

  1. I ran your command to remake grub.cfg. See contents below:
    also though, when I try running Yast->Boot Loader I get:
    Internal error. Please report a bug report with logs.
    Details unknown udev device /dev/disk/by-id/scsi-1ATA_VBOX_Harddisk_VBa…-part2
    Caller: /usr/share/YaST2/lib/bootloader/udev_mapping.rb:33in ‘to_kernal_device’

    Is this just an innocent side effect of using VBOX?

  2. I added repo-non-oss (and ran zypper dup) as you suggested so my repository list is now (is this complete?):

| Alias | Name | Enabled | GPG Check | Refresh | URI

–±------------------------------------±-----------------±--------±----------±--------±-----------------------------------------------------------------------
1 | http-download.opensuse.org-a0b32320 | openSUSE:Factory | Yes | (r ) Yes | Yes | http://download.opensuse.org/tumbleweed/repo/oss/
2 | packman | packman | Yes | (r ) Yes | Yes | http://ftp.uni-erlangen.de/pub/mirrors/packman/suse/openSUSE_Tumbleweed
3 | repo-non-oss | repo-non-oss | Yes | ( p) Yes | Yes | http://download.opensuse.org/tumbleweed/repo/non-oss
4 | repo-update | repo-update | Yes | (r ) Yes | Yes | http://download.opensuse.org/update/tumbleweed/

grub.cfg:

DO NOT EDIT THIS FILE

It is automatically generated by grub2-mkconfig using templates

from /etc/grub.d and settings from /etc/default/grub

BEGIN /etc/grub.d/00_header

set btrfs_relative_path=“y”
export btrfs_relative_path
if -f ${config_directory}/grubenv ]; then
load_env -f ${config_directory}/grubenv
elif -s $prefix/grubenv ]; then
load_env
fi

if “${env_block}” ] ; then
load_env -f “${env_block}”
fi

if “${next_entry}” ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
if “${env_block}” ] ; then
save_env -f “${env_block}” next_entry
fi
set boot_once=true
else
set default="${saved_entry}"
fi

if x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="–id"
else
menuentry_id_option=""
fi

export menuentry_id_option

if “${prev_saved_entry}” ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if -z “${boot_once}” ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}

function load_video {
if x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

if x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod btrfs
set root=‘hd0,msdos2’
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint=‘hd0,msdos2’ 041bd681-455a-4272-a0ce-8e39bd0ecef8
else
search --no-floppy --fs-uuid --set=root 041bd681-455a-4272-a0ce-8e39bd0ecef8
fi
font="/usr/share/grub2/unicode.pf2"
fi

if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=POSIX
insmod gettext
fi
terminal_output gfxterm
insmod part_msdos
insmod btrfs
set root=‘hd0,msdos2’
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint=‘hd0,msdos2’ 041bd681-455a-4272-a0ce-8e39bd0ecef8
else
search --no-floppy --fs-uuid --set=root 041bd681-455a-4272-a0ce-8e39bd0ecef8
fi
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
if x${boot_once} = xtrue ]; then
set timeout=0
elif x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=8

Fallback normal timeout code in case the timeout_style feature is

unavailable.

else
set timeout=8
fi
if -n “$extra_cmdline” ]; then
submenu “Bootable snapshot #$snapshot_num” {
menuentry “If OK, run ‘snapper rollback’ and reboot.” { true; }
}
fi

END /etc/grub.d/00_header

BEGIN /etc/grub.d/00_tuned

set tuned_params=""

END /etc/grub.d/00_tuned

BEGIN /etc/grub.d/10_linux

menuentry 'openSUSE Tumbleweed ’ --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-simple-041bd681-455a-4272-a0ce-8e39bd0ecef8’ {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod btrfs
set root=‘hd0,msdos2’
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint=‘hd0,msdos2’ 041bd681-455a-4272-a0ce-8e39bd0ecef8
else
search --no-floppy --fs-uuid --set=root 041bd681-455a-4272-a0ce-8e39bd0ecef8
fi
echo ‘Loading Linux 4.7.6-1-default …’
linux /boot/vmlinuz-4.7.6-1-default root=UUID=041bd681-455a-4272-a0ce-8e39bd0ecef8 ${extra_cmdline} resume=/dev/sda1 splash=silent quiet showopts
echo ‘Loading initial ramdisk …’
initrd /boot/initrd-4.7.6-1-default
}
submenu 'Advanced options for openSUSE Tumbleweed ’ --hotkey=1 $menuentry_id_option ‘gnulinux-advanced-041bd681-455a-4272-a0ce-8e39bd0ecef8’ {
menuentry ‘openSUSE Tumbleweed , with Linux 4.7.6-1-default’ --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-4.7.6-1-default-advanced-041bd681-455a-4272-a0ce-8e39bd0ecef8’ {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod btrfs
set root=‘hd0,msdos2’
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint=‘hd0,msdos2’ 041bd681-455a-4272-a0ce-8e39bd0ecef8
else
search --no-floppy --fs-uuid --set=root 041bd681-455a-4272-a0ce-8e39bd0ecef8
fi
echo ‘Loading Linux 4.7.6-1-default …’
linux /boot/vmlinuz-4.7.6-1-default root=UUID=041bd681-455a-4272-a0ce-8e39bd0ecef8 ${extra_cmdline} resume=/dev/sda1 splash=silent quiet showopts
echo ‘Loading initial ramdisk …’
initrd /boot/initrd-4.7.6-1-default
}
menuentry ‘openSUSE Tumbleweed , with Linux 4.7.5-1-default’ --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-4.7.5-1-default-advanced-041bd681-455a-4272-a0ce-8e39bd0ecef8’ {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod btrfs
set root=‘hd0,msdos2’
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint=‘hd0,msdos2’ 041bd681-455a-4272-a0ce-8e39bd0ecef8
else
search --no-floppy --fs-uuid --set=root 041bd681-455a-4272-a0ce-8e39bd0ecef8
fi
echo ‘Loading Linux 4.7.5-1-default …’
linux /boot/vmlinuz-4.7.5-1-default root=UUID=041bd681-455a-4272-a0ce-8e39bd0ecef8 ${extra_cmdline} resume=/dev/sda1 splash=silent quiet showopts
echo ‘Loading initial ramdisk …’
initrd /boot/initrd-4.7.5-1-default
}
}

END /etc/grub.d/10_linux

BEGIN /etc/grub.d/20_linux_xen

END /etc/grub.d/20_linux_xen

BEGIN /etc/grub.d/20_memtest86+

END /etc/grub.d/20_memtest86+

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

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

BEGIN /etc/grub.d/40_custom

This file provides an easy way to add custom menu entries. Simply type the

menu entries you want to add after this comment. Be careful not to change

the ‘exec tail’ line above.

END /etc/grub.d/40_custom

BEGIN /etc/grub.d/41_custom

if -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif -z “${config_directory}” -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi

END /etc/grub.d/41_custom

BEGIN /etc/grub.d/80_suse_btrfs_snapshot

if -f “/.snapshots/grub-snapshot.cfg” ]; then
source “/.snapshots/grub-snapshot.cfg”
fi

END /etc/grub.d/80_suse_btrfs_snapshot

BEGIN /etc/grub.d/90_persistent

END /etc/grub.d/90_persistent

BEGIN /etc/grub.d/95_textmode

END /etc/grub.d/95_textmode

Likely unrelated.
But installing some packages might have triggered an installation of other recommended packages that made your YaST modules work…

  1. I ran your command to remake grub.cfg. See contents below:
    also though, when I try running Yast->Boot Loader I get:
    Internal error. Please report a bug report with logs.
    Details unknown udev device /dev/disk/by-id/scsi-1ATA_VBOX_Harddisk_VBa…-part2
    Caller: /usr/share/YaST2/lib/bootloader/udev_mapping.rb:33in ‘to_kernal_device’
 Is this just an innocent side effect of using VBOX?

Hm.
Are you doing this inside VirtualBox?
Otherwise I don’t see why you would have such a device.

You may try to delete the file /boot/grub2/device.map though, that’s known to cause strange errors if it is outdated (and it shouldn’t be needed anyway)

  1. I added repo-non-oss (and ran zypper dup) as you suggested so my repository list is now (is this complete?):

Yes, for a “standard” system at least.

Sorry, I don’t want to look at your grub.cfg right now (it’s late here), will do so tomorrow.

But somebody else started a thread about this “no symbol table” error, so maybe we should continue there with that problem anyway…
https://forums.opensuse.org/showthread.php/520421-Grub-throwing-a-quot-error-no-symbol-table-quot?p=2795805#post2795805

I am doing this inside of VBOX.

I tried deleting /boot/grub2/device.map but nothing changes.

I will keep an eye on that other thread.

You have been very helpful.

Did you run “grub2-mkconfig -o /boot/grub2/grub.cfg” afterwards?
Sorry, I forgot to mention that.

Your grub.cfg looks fine AFAICT though.
I suppose you can try to comment out line after line ion the menu entry by adding a ‘#’ at the beginning (best do it in “live mode” by pressing ‘e’ at the boot menu, then nothing gets saved and you just need to reboot if the system should fail to start).
You only need to try the lines before the “echo ‘Loading Linux 4.7.6-1-default …’” of course.

This way we would at least know which command is causing the error message.

Ahem! Yesterday, there were around 2260 updates on Tumbleweed.

(I do have latex installed, and many of those updates were for texlive components).