Snapshot 20210527 - Usr merge and compile kernel modules

Hi
Likely issues with compiling modules… See Heads up: UsrMerge impact imminent - openSUSE Factory - openSUSE Mailing Lists

I had the issue compiling the nvidia module… the following fixes;


cd /usr/lib/modules/5.12.4-2-default/

find . -type l -ls

build -> ../../../usr/src/linux-5.12.4-2-obj/x86_64/default
source -> ../../../usr/src/linux-5.12.4-2

rm build source

ln -s ../../../../usr/src/linux-5.12.4-2-obj/x86_64/default build
ln -s ../../../../usr/src/linux-5.12.4-2 source

Hi Malcolm

I am running a multi boot with Win 10.

So I decided to re-install TW with the 270521 snapshot. All went well until I used;

sudo zypper addrepo --refreshhttps://download.nvidia.com/opensuse/tumbleweed NVIDIA
sudo zypper refresh
[FONT=Noto Sans JP]**sudo ****zypper in x11-video-nvidiaG05

**[/FONT]to install the nvidia prop drivers.

On reboot the screen log in for Gnome became very big and trying to log in became imposible.

Should I use the commands you gave and if so please could you kindly verify if
for example;

build -> …/…/…/usr/src/linux-5.12.4-2-obj/x86_64/default
source -> …/…/…/usr/src/linux-5.12.4-2

is all on one line? Because by the looks of it I may have to re-install.

Thanks in advance and also for your help in allowing me to log back in to the forums.

Regards

Steve

Hi
In your example, that is incorrect it only goes up three levels, you should see the items in red in the output of command 2;


command 1: cd /usr/lib/modules/5.12.4-2-default/

command 2: find . -type l -ls

command 3: rm build source

command 4: ln -s ../../../../usr/src/linux-5.12.4-2-obj/x86_64/default build

command 5: ln -s ../../../../usr/src/linux-5.12.4-2 source

Those are not the commands. Those two lines are the output from the earlier commands.

These are the commands that you need:


cd /usr/lib/modules/5.12.4-2-default/
rm build source
ln -s ../../../../usr/src/linux-5.12.4-2-obj/x86_64/default build
ln -s ../../../../usr/src/linux-5.12.4-2 source

That’s 4 commands, and you need to run those as root.

openSUSE:usr merge

https://en.opensuse.org/openSUSE:Usr_merge

It is actually

ln -s ../../../src/linux-5.12.4-2-obj/x86_64/default build
ln -s ../../../src/linux-5.12.4-2 source

There is no need to climb to the top; both /usr/lib and /usr/src are under /usr now. This is link that will be created by kernel packages automatically after UsrMerge.

But your version works of course.

Pretty intimidating:

The following product is going to be upgraded: 
openSUSE Tumbleweed 
  20210524-0 -> 20210527-0 

The following 5 packages require a system reboot: 
  dbus-1 glibc kernel-default-5.12.4-2.1 libopenssl1_1 systemd 

3254 packages to upgrade, 9 new. 
Overall download size: 0 B. Already cached: **3.29 GiB**. After the operation, additional 403.9 MiB will be used. 

    Note: System reboot required.

Some 20 minutes smooth upgrade.

Thanks very much for the posts.

I did a fresh install yesterday based on the latest ISO and hit this problem.

Update and reboot were also smooth here.

On thing I noticed is that my local installed java was not present anymore.
I have a script starting josm using that was using local installed java because of performance issues and that was outputting:

/usr/java/jdk1.8.0_261-amd64/bin/java: No such file or directory

So with the usr merge that has gone.
Solved the problem by installing the josm package, will keep that until I run in performance problems again, maybe the reason why I did switch in the past to Oracle java is gone.

I, on the other hand, had no problem with my Nvidia Geforce 610

I am an nvidia ‘the hard way’ user, and am hoping that the advice in this post will save me some grief when I go to snapshot 20210527 tomorrow.

To clarify:

After zypper dup, it sounds like I have to:

**(1) **Reboot to terminal.

**(2) **As root user, run:

cd /usr/lib/modules/5.12.4-2-default/
rm build source
ln -s ../../../src/linux-5.12.4-2-obj/x86_64/default build
ln -s ../../../src/linux-5.12.4-2 source

Followed by:

sh NVIDIA-Linux-x86_64_465.27.run  (or later .run file)
mkinitrd 

Is this correct?

Hi
Yes, I use -aq on the run file :wink: It’s up to 465.31…

Two successful dup’s of hard-way nvidia Tumbleweed machines this morning! Thanks to malcolm, ncrickert and arvidjaar for the tips contributed in this post.

A follow-up question:

Will I have to issue similar **ln -s **commands on the next Tumbleweed snapshot that pulls in a new kernel? Or will openSUSE be able to deal with this symlink problem with external modules by other means?

Hi
Hopefully (well I suspect) it will be corrected in an update, but if not at least it’s an easy fix…

I’m afraid that the issue is still with us. Snapsnot 20210603 brought in the 5.12.9 kernel, and a failed ‘hard way’ installation of the nvidia .run file, with this error message:

ERROR: Neither the 'include/linux/version.h' nor the '/include/generated/uapi/linux/version.h' kernel header file exists.  The most likely reason for this is that the kernel source files in '/usr/src/linux' have not been configured.'

I edited the related script file, as follows:

#!/bin/bash
cd /usr/lib/modules/5.12.9-1-default/
rm build source
ln -s ../../../src/linux-5.12.9-1-obj/x86_64/default build
ln -s ../../../src/linux-5.12.9-1 source

After running the script, the .run file installed properly.

Firstly a big thank you to all you guys for your contributions and replies.

But I am still getting an error, despite using Snapshot20210603.

Perhaps I am not using the commands properly.

So, from a fresh install I use
cd /usr/lib/modules/5.12.9-1-default/

sudo rm build source (I check the folder and see to folders have been created and are in red)

the the rest;

sudo ln -s …/…/…/src/linux-5.12.9-1-obj/x86_64/default build

sudo ln -s …/…/…/src/linux-5.12.9-1 source

I reboot and install Nvidia using
**
sudo zypper addrepo --refreshhttps://download.nvidia.com/opensuse/tumbleweed NVIDIA****
**
sudo zypper refresh****
[FONT=Ubuntu][FONT=&amp]**
sudo ********zypper in x11-video-nvidiaG05
**[/FONT][/FONT]
and after a again another reboot I get massive leterring and log in graphics and I can’t log in.

What am I doing wrong?

Best wishes - Steve

Hi Steve
Missing one level…


command 4: ln -s ../../../../usr/src/linux-5.12.9-1-obj/x86_64/default build
command 5: ln -s ../../../../usr/src/linux-5.12.9-1 source

Hi Malcolm

Thanks for your last reply, but I must be doing something wrong,
so one final time here are the commands I use and here is what I get in return

cd /usr/lib/modules/5.12.9-1-default/ (Moves to usr)

find . -type l -ls (Nothing happens)

sudo rm build source (message states that it can not remove no such dir)

ln -s …/…/…/…/usr/src/linux-5.12.9-1-obj/x86_64/default build

ln -s …/…/…/…/usr/src/linux-5.12.9-1 source

I check after commands 4 and 5 and I can see that 2 folders in red have been created.

I then reboot, install Nvidia, and again reboot, and I get big lettering and graphics and I can’t log in.

My graphics is a GE Force 1650 and it is dual boot with Win 10.

Thanks again not just you but to all in advance for any help.

All the best - Steve

Hi
If the folders are red, then something is wrong… so you have kernel-default-devel installed?


zypper se -si kernel

Hi Malcolm

Here is the output


S  | Name                        | Type    | Version      | Arch   | Repository 
---+-----------------------------+---------+--------------+--------+---------------------- 
i+ | kernel-default              | package | 5.12.9-1.1   | x86_64 | Main Repository (OSS) 
i  | kernel-firmware-all         | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-amdgpu      | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-ath10k      | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-ath11k      | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-atheros     | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-bluetooth   | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-bnx2        | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-brcm        | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-chelsio     | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-dpaa2       | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-i915        | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-intel       | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-iwlwifi     | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-liquidio    | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-marvell     | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-media       | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-mediatek    | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-mellanox    | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-mwifiex     | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-network     | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-nfp         | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-nvidia      | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-platform    | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-prestera    | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-qcom        | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-qlogic      | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-radeon      | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-realtek     | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-serial      | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-sound       | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-ti          | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-ueagle      | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | kernel-firmware-usb-network | package | 20210503-1.2 | noarch | Main Repository (OSS) 
i  | purge-kernels-service       | package | 0-8.1        | noarch | Main Repository (OSS)