Migration to Leap 16.0 failed

I’ve just migrated to Leap 16.0 using migration-tool. Unfortunately, during this process I checked something related to Agama (the description suggested me that it might be useful) and then after reboot I see loading icon and nothing is happening.

To fix this, I downloaded offline image, verified the checksum and burned it on USB stick using balenaEtcher on MX Linux (my backup machine). After booting this image, if I choose install Leap 16.0, the black screen with blinking cursor is appearing and again, nothing is happening. If I choose rescue option, I see CLI, a lot of logging data, then root password (not mine) and agama login (what for?). I don’t understand how to play with this.

Previously, I always upgraded the system using a new image on the USB stick. This was easy. I know that migration-tool is even easiest but by adding additional options it turned out more complicated.

Please, if you can, suggest me what type of output can I provide to resolve this issue.

I do not know, if balenaetcher is working with the openSUSE Iso’s, so I would use dd from commandline.

Maybe nomodeset is working on Installation?

Flashing with dd didn’t help. After rebooting I see many errors and then grub CLI appears. No standard installation menu.

Is your USB-Stick the standart Boot?

Probably yes. I flashed the image again using dd and setting of=/dev/sdb instead of of=dev/sdb2 as I did previously (so this could cause some errors).

After booting the behavior is the same, the black screen with blinking cursor. If I click Alt + F2 combination or F3, I see welcome message of Agama installer waiting for agama’s login. The same I described above. But If I release the buttons, everything disappear instantly. Nevertheless, I would like to skip this Agama, I’m able to reinstall the system but I don’t know how. Having this image on USB stick, I’m not even able to go the setting where I choose which partition can I format.

Have you tried to install with nomodeset?

Also your PC have the requirements to install Leap 16.0?

I set nomodeset and I was able to load Agama interface. Unfortunately, only option I had was installation of a new version that might erase my home/ directory.

Because after migration I still see on menu that I can load Leap 16.0, I decided to set nomodeset for upgraded system. Now I see on the console window:

[!!!!!!] Failed to load SELinux policy.

So previously I only saw blinking cursor. Any hint what is going on?

Add also selinux=0 temporärily to boot.

I added and it didn’t help. The message was still there.

I run Rescue System from USB Stick and I see Agama login CLI panel. I also have information that Network is not available. I can log in as agama user but I don’t know what else to do.

Ok, I’ve been struggling for a while with the system. From the boot menu I chose recovery mode and I was able to log in as a root. I connected to the network (there was not Wi-Fi connection). For the reason that I had a mess in repositories, I disabled unofficial ones leaving only those related to Leap 16.0. During the update I saw some conflicts with my Nvidia drivers. Ultimately I finished update and uninstall everything related to Nvidia drivers.

After reboot the system was still loading. So I edited boot commands by replacing quite splash with nomodeset and replacing selinux=1 with selinux=0 (before the update selinux wasn’t defined) . Then, I was able to log in to my account. I see my desktop but with terrible low resolution.

What actions should I take to make the system look like it has just been freshly installed?

That is because of nomodeset.
Add the Nvidia Repo for Leap 16.0 and install the Nvidia drivers.

Start once more without nomodeset and maybe without selinux=0

I have done an Update from Leap 15.6 to Leap 16.0 with the opensuse-migration-tool from Leap 15.6 in the last 1,5 hours. Packman and Nvidia was enable with ${releasever}.
8800 packages updated. Nvidia working (setup of 3 Monitors was a little bit confused)

But ssh, openvpn, fail2ban are working.

1 Like

Thank you for your hints. I’m able to use system without nomodeset but selinux=0 must be set. Otherwise, I can’t log in. However, I still have some mess like missing SELinux Policy. For example, during loading the system I see some failed units regarding GNOME, Virtual Console Setup etc.

I rebooted the system from the USB Stick. I tried again to use Rescue System (or find something like Repair Your System). Choosing Rescue System, I see agama login and root password (in CLI). I can log in as a root but I don’t know what next.

Guys, I need your help. I’m able to give you any information you need. I don’t understand why Rescue System is not able to detect and fix my bugs. I don’t understand why choosing fresh installation I don’t see option to leave my /home directory untouched. I remember that previous version of openSUSE had such option.

Boot your system with selinux=0 and install the policies?

Again, this is not so easy for the reason that the system is incomplete:

$ zypper install selinux-policy selinux-tools policycoreutils setools
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
Loading repository data...
Reading installed packages...
'setools' not found in package names. Trying capabilities.
No provider of 'setools' found.
Resolving package dependencies...

The following 6 recommended packages were automatically selected:
  container-selinux policycoreutils-python-utils python313-policycoreutils
  selinux-autorelabel selinux-tools setools-console

The following 19 NEW packages are going to be installed:
  cepces-selinux checkpolicy container-selinux drbd-selinux flatpak-selinux
  policycoreutils policycoreutils-python-utils python313-policycoreutils
  python313-selinux python313-semanage python313-setools python3-audit
  selinux-autorelabel selinux-policy selinux-policy-targeted
  selinux-policy-targeted-gaming selinux-tools setools-console tigervnc-selinux

19 new packages to install.

Package download size:    11.4 MiB

Package install size change:
              |      33.9 MiB  required by packages that will be installed
    33.9 MiB  |  -      0 B    released by packages that will be removed

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): 
Preloading: drbd-selinux-9.29.0-160000.2.2.x86_64.rpm [done]
Preloading: cepces-selinux-0.3.9-160000.2.2.noarch.rpm [done]
Preloading: tigervnc-selinux-1.15.0-160000.2.2.noarch.rpm [done]
Preloading: container-selinux-2.239.0-160000.2.2.noarch.rpm [done]
Preloading: selinux-policy-20250627+git66.15675827a-160000.1.2.noarch.rpm [done]
Preloading: selinux-policy-targeted-gaming-2-bp160.1.1.noarch.rpm [done]
Preloading: policycoreutils-python-utils-3.8.1-160000.2.2.noarch.rpm [done]
Preloading: selinux-autorelabel-4.0+git16-160000.2.2.x86_64.rpm [done]
Preloading: policycoreutils-3.8.1-160000.2.2.x86_64.rpm [done]
Preloading: flatpak-selinux-1.16.0-160000.2.2.noarch.rpm [done]
Preloading: setools-console-4.5.1-160000.2.2.x86_64.rpm [done]
Preloading: checkpolicy-3.8.1-160000.2.2.x86_64.rpm [done]
Preloading: selinux-tools-3.8.1-160000.2.2.x86_64.rpm [done]
Preloading: python313-semanage-3.8.1-160000.2.2.x86_64.rpm [done]
Preloading: python313-setools-4.5.1-160000.2.2.x86_64.rpm [done]
Preloading: python313-selinux-3.8.1-160000.2.2.x86_64.rpm [done]
Preloading: python3-audit-4.0-160000.2.2.x86_64.rpm [done]
Preloading: python313-policycoreutils-3.8.1-160000.2.2.noarch.rpm [done]
Preloading: selinux-policy-targeted-20250627+git66.15675827a-160000.1.2.noarch.rpm [done]
Preload finished. [success (5.0 MiB/s) ] .................................[done]
Retrieving: checkpolicy-3.8.1-160000.2.2.x86_64 (repo-oss (16.0))
                                                           (1/19), 322.3 KiB    
Retrieving: python3-audit-4.0-160000.2.2.x86_64 (repo-oss (16.0))
                                                           (2/19),  81.4 KiB    
Retrieving: python313-selinux-3.8.1-160000.2.2.x86_64 (repo-oss (16.0))
                                                           (3/19), 186.7 KiB    
Retrieving: python313-semanage-3.8.1-160000.2.2.x86_64 (repo-oss (16.0))
                                                           (4/19),  74.5 KiB    
Retrieving: python313-setools-4.5.1-160000.2.2.x86_64 (repo-oss (16.0))
                                                           (5/19), 885.7 KiB    
Retrieving: selinux-tools-3.8.1-160000.2.2.x86_64 (repo-oss (16.0))
                                                           (6/19), 118.9 KiB    
Retrieving: setools-console-4.5.1-160000.2.2.x86_64 (repo-oss (16.0))
                                                           (7/19),  55.8 KiB    
Retrieving: policycoreutils-3.8.1-160000.2.2.x86_64 (repo-oss (16.0))
                                                           (8/19), 117.5 KiB    
Retrieving: selinux-autorelabel-4.0+git16-160000.2.2.x86_64 (repo-oss (16.0))
                                                           (9/19),  32.9 KiB    
Retrieving: python313-policycoreutils-3.8.1-160000.2.2.noarch (repo-oss (16.0))
                                                          (10/19),   1.7 MiB    
Retrieving: policycoreutils-python-utils-3.8.1-160000.2.2.noarch (repo-oss
(16.0))
                                                          (11/19), 443.0 KiB    
Retrieving: selinux-policy-20250627+git66.15675827a-160000.1.2.noarch (repo-oss
(16.0))
                                                          (12/19), 129.5 KiB    
Retrieving: selinux-policy-targeted-20250627+git66.15675827a-160000.1.2.noarch
(repo-oss (16.0))
                                                          (13/19),   6.9 MiB    
Retrieving: container-selinux-2.239.0-160000.2.2.noarch (repo-oss (16.0))
                                                          (14/19),  70.8 KiB    
Retrieving: tigervnc-selinux-1.15.0-160000.2.2.noarch (repo-oss (16.0))
                                                          (15/19),  58.6 KiB    
Retrieving: selinux-policy-targeted-gaming-2-bp160.1.1.noarch (repo-oss (16.0))
                                                          (16/19),  11.5 KiB    
Retrieving: flatpak-selinux-1.16.0-160000.2.2.noarch (repo-oss (16.0))
                                                          (17/19), 183.7 KiB    
Retrieving: drbd-selinux-9.29.0-160000.2.2.x86_64 (repo-oss (16.0))
                                                          (18/19),  87.1 KiB    
Retrieving: cepces-selinux-0.3.9-160000.2.2.noarch (repo-oss (16.0))
                                                          (19/19),  19.7 KiB    

Checking for file conflicts: .............................................[done]
( 1/19) Installing: checkpolicy-3.8.1-160000.2.2.x86_64 ..................[done]
( 2/19) Installing: python3-audit-4.0-160000.2.2.x86_64 ..................[done]
( 3/19) Installing: python313-selinux-3.8.1-160000.2.2.x86_64 ............[done]
( 4/19) Installing: python313-semanage-3.8.1-160000.2.2.x86_64 ...........[done]
( 5/19) Installing: python313-setools-4.5.1-160000.2.2.x86_64 ............[done]
( 6/19) Installing: selinux-tools-3.8.1-160000.2.2.x86_64 ................[done]
( 7/19) Installing: setools-console-4.5.1-160000.2.2.x86_64 ..............[done]
( 8/19) Installing: policycoreutils-3.8.1-160000.2.2.x86_64 ..............[done]
( 9/19) Installing: selinux-autorelabel-4.0+git16-160000.2.2.x86_64 ......[done]
(10/19) Installing: python313-policycoreutils-3.8.1-160000.2.2.noarch ....[done]
(11/19) Installing: policycoreutils-python-utils-3.8.1-160000.2.2.noarch .[done]
(12/19) Installing: selinux-policy-20250627+git66.15675827a-160000.1.2.noa[done]
(13/19) Installing: selinux-policy-targeted-20250627+git66.15675827a-16000[done]
(14/19) Installing: container-selinux-2.239.0-160000.2.2.noarch ..........[done]
(15/19) Installing: tigervnc-selinux-1.15.0-160000.2.2.noarch ............[done]
(16/19) Installing: selinux-policy-targeted-gaming-2-bp160.1.1.noarch ....[done]
(17/19) Installing: flatpak-selinux-1.16.0-160000.2.2.noarch .............[done]
libsemanage.semanage_direct_install_info: Overriding drbd module at lower priority 100 with module at priority 200.
(18/19) Installing: drbd-selinux-9.29.0-160000.2.2.x86_64 ................[done]
(19/19) Installing: cepces-selinux-0.3.9-160000.2.2.noarch ...............[done]
%posttrans(selinux-autorelabel-4.0+git16-160000.2.2.x86_64) script output:
/usr/bin/ldd: line 159: /lib/ld-linux.so.2: cannot execute binary file: Exec format error
/usr/bin/ldd: line 159: /lib/ld-linux.so.2: cannot execute binary file: Exec format error
/usr/bin/ldd: line 159: /lib/ld-linux.so.2: cannot execute binary file: Exec format error
%posttrans(selinux-policy-targeted-20250627+git66.15675827a-160000.1.2.noarch) script output:
++ SELINUX=enforcing
++ SELINUXTYPE=targeted
%posttrans(container-selinux-2.239.0-160000.2.2.noarch) script output:
++ SELINUX=enforcing
++ SELINUXTYPE=targeted
++ SELINUX=enforcing
++ SELINUXTYPE=targeted
++ SELINUX=enforcing
++ SELINUXTYPE=targeted
%posttrans(flatpak-selinux-1.16.0-160000.2.2.noarch) script output:
++ SELINUX=enforcing
++ SELINUXTYPE=targeted
%posttrans(drbd-selinux-9.29.0-160000.2.2.x86_64) script output:
++ SELINUX=enforcing
++ SELINUXTYPE=targeted
Running post-transaction scripts ........................................................................................................................................................[done]
Installation has completed with error.

It didn’t resolve the issue. I need to edit boot options.

Which is correct, there is no such package. What made you think it should exist?

This was my mistake. Nevertheless, the listing depicts errors related to packages that have been installed.

To use the system, I still need to set selinux to 0. In other words, installing policies didn’t help. How to resolve this? The easiest way is to reset the root dir. Usually, I was able to do this but Agama installer kills me (I don’t see option where Agama is aware that there is already Leap 16.0 installed and suggests me to leave /home directory and format only /. Contrary, it tells me that everything will be removed).

Where I can find the help? It seems that openSUSE community is the best place. Suggesting me that I can install some package doesn’t work here. There is a lot of mess in dependencies as you can see.

Post:

grep -i selinux /boot/grub2/grub.cfg

If there is no selinux entry, you can add them permanently by:

update-bootloader --add-option 'selinux=0'

and after this by:
update-bootloader

Here is my example:

linux64:/home/stephan # grep -i selinux /boot/grub2/grub.cfg 
linux64:/home/stephan # update-bootloader --add-option 'selinux=0'
linux64:/home/stephan # update-bootloader
linux64:/home/stephan # grep -i selinux /boot/grub2/grub.cfg 
        linux   /boot/vmlinuz-6.12.0-160000.5-default root=UUID=53d51072-1db6-4412-9955-0ccd307a2993  splash=silent resume=/dev/disk/by-uuid/40b208a5-8a0a-4eca-8948-fe42610ebca0 preempt=full rd.driver.blacklist=nouveau ipv6.disable=1 mitigations=auto ia32_emulation=1 selinux=0
                linux   /boot/vmlinuz-6.12.0-160000.5-default root=UUID=53d51072-1db6-4412-9955-0ccd307a2993  splash=silent resume=/dev/disk/by-uuid/40b208a5-8a0a-4eca-8948-fe42610ebca0 preempt=full rd.driver.blacklist=nouveau ipv6.disable=1 mitigations=auto ia32_emulation=1 selinux=0
                linux   /boot/vmlinuz-6.4.0-150600.23.73-default root=UUID=53d51072-1db6-4412-9955-0ccd307a2993  splash=silent resume=/dev/disk/by-uuid/40b208a5-8a0a-4eca-8948-fe42610ebca0 preempt=full rd.driver.blacklist=nouveau ipv6.disable=1 mitigations=auto ia32_emulation=1 selinux=0
                linux   /boot/vmlinuz-6.4.0-150600.23.70-default root=UUID=53d51072-1db6-4412-9955-0ccd307a2993  splash=silent resume=/dev/disk/by-uuid/40b208a5-8a0a-4eca-8948-fe42610ebca0 preempt=full rd.driver.blacklist=nouveau ipv6.disable=1 mitigations=auto ia32_emulation=1 selinux=0
                linux   /boot/vmlinuz-6.4.0-150600.23.53-default root=UUID=53d51072-1db6-4412-9955-0ccd307a2993  splash=silent resume=/dev/disk/by-uuid/40b208a5-8a0a-4eca-8948-fe42610ebca0 preempt=full rd.driver.blacklist=nouveau ipv6.disable=1 mitigations=auto ia32_emulation=1 selinux=0

First line shows no entry, second line I added it and write it with the third line.
Forth line shows it now.

Resolve what? You never showed the actual errors, just repeated “it did not work” over and over again.

For a start you could follow the Portal:SELinux/Setup - openSUSE Wiki and tell what problems and at which step you get with the actual logs/error messages/etc.

I mentioned what I want to resolve many times. Again: you have broken Leap 16.0, how to use the USB Stick, to install/fix/repair/reinstall fresh Leap 16.0 without erasing /home directory? I did it a few times in the past with the previous Leap versions and other distro.

If I run Rescue System from the USB Stick I see CLI with login into Agama. If I log in there with temporary (displayed) root password, I’m the root. And what else? Nothing. Now I’m typing this message from Leap 16.0 so I can also be the root here. Going to Rescue System I expect that there will be some action to do (this is common approach in distros I worked in the past).

In my case selinux is set to 1:

	linux	/boot/vmlinuz-6.12.0-160000.5-default root=UUID=c232f10e-6a47-4c67-8c40-3d966eff44cd  resume=/dev/mapper/cr_sda2 splash=silent quiet showopts security=selinux enforcing=1 selinux=1 rd.driver.blacklist=nouveau
		linux	/boot/vmlinuz-6.12.0-160000.5-default root=UUID=c232f10e-6a47-4c67-8c40-3d966eff44cd  resume=/dev/mapper/cr_sda2 splash=silent quiet showopts security=selinux enforcing=1 selinux=1 rd.driver.blacklist=nouveau
		linux	/boot/vmlinuz-6.4.0-150600.23.73-default root=UUID=c232f10e-6a47-4c67-8c40-3d966eff44cd  resume=/dev/mapper/cr_sda2 splash=silent quiet showopts security=selinux enforcing=1 selinux=1 rd.driver.blacklist=nouveau
		linux	/boot/vmlinuz-6.4.0-150600.23.65-default root=UUID=c232f10e-6a47-4c67-8c40-3d966eff44cd  resume=/dev/mapper/cr_sda2 splash=silent quiet showopts security=selinux enforcing=1 selinux=1 rd.driver.blacklist=nouveau