How safely upgrade kernel (so can default to already working one if needed)?

I want to try upgrading my kernel (currently on Linux 3.4.11-2.16-desktop x86_64) to a newer version and am not sure what the best way to do this is so I can default back to my currently working kernel if there’s an issue and if not, eventually remove the current kernel and default to the newer one.

  • Where would I get it from?

  • What’s the latest stable kernel?

  • how do i install multiple kernels and choose the default one?

I’m on openSUSE 12.2, so I also want to choose a kernel that will work well with that.

On 2013-02-05 23:26, 6tr6tr wrote:
> * how do i install multiple kernels and choose the default one?


/etc/zypp/zypp.conf:

multiversion = provides:multiversion(kernel)

multiversion.kernels = latest-1,latest,running



Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

Thanks to OP for this question. May I also express interest in technical help from forum members with this issue.

After searching the forum I found relevant issues discussed in passing in a number of threads (eg. here) but usually at a level of technical difficulty beyond my “general user” skill level.

My attempt to install multiversion kernels ultimatly failed. I was able to install an updated kernel using the multiversion feature but I was not able to work out how to install multiversion NVIDIA graphics modules for both active kernels.

I learned that the multiversion feature for OpenSUSE 12.2 is not turned on by default. Instructions to enable multiversion in openSUSE 12.2 are available here. However the guide does not seem to explain or give eamples of the settings needed to enable mutiversion for associated graphics or other modules.

I installed an updated kernel for openSUSE 12.2 (multiversion) from the repository Kernel:/stable/standard here.

Trust this is useful.

Thanks. Will that both install the latest and mark the current one as default? Or does it just tell it which to enable?

On 2013-02-06 01:36, 6tr6tr wrote:

> Thanks. Will that both install the latest and mark the current one as
> default? Or does it just tell it which to enable?

No, it just tells zypper not to delete automatically the previous
version, and allows you to tag several versions in YaST.

What to install is up to you. The rpm postinstall scripts should handle
the appropriate entries in grub automatically. I assume the work with
grub2 now.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

If you want to try the latest (or any released version) kernel and do not want to change your old kernel in anyway, look to SAKC, my bash script compiler, part of a trio of kernel dealing bash script applications. It works right every time and they are always free!

S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.78: https://forums.opensuse.org/blogs/jdmcdaniel3/s-k-c-suse-automated-kernel-compiler-version-2-50-34/

S.A.K.R. - SUSE Automated Kernel Remover - Version 1.0.4: https://forums.opensuse.org/blogs/jdmcdaniel3/s-k-r-suse-automated-kernel-remover-version-1-0-0-111/

And you can get all of the current kernel stuff here: The Linux Kernel Archives, but if you want something not posted, have a look here:

S.G.T.B. - SuSE Git Kernel Tarball Creator - Version 1.86: https://forums.opensuse.org/blogs/jdmcdaniel3/sgtb-suse-git-kernel-tarball-creator-version-1-31-53/

None of this will touch your kernels installed by YaST. Now Grub 2 always places the newest kernel version it finds as the top dog on your main menu, but SAKR can remove it if you no longer want to use it. In SGTB, use the Linux Stable Git selection to find any stable or release candidate kernel version clear back to the release year of 2005 if you want. Indeed you can get kernels for any purpose that you can imagine and drop back (or go forward) to any release when a problem is found on the present version you are using. Since SAKC installs the new Kernel outside of YaST, you can use SAKR to get rid of any kernel, not running at the time, you have installed using SAKC. Time is a wasting, download your copy today!

Thank You,

if you install them using openSUSE repositories, nVidia kernel module should be compatible with future kernel updates for the same openSUSE version. There should be no need to do anything.

Thanks. I installed updated kernel files from openSUSE repositories but found nVidia kernel module was not loaded.

It is helpful to know that “there should be no need to do anything”. I will try to investigate this a bit more.

You need nVidia driver from openSUSE repositories too. If you installed it manually using nVidia installer you simply need to run installer with “kernel module only” option. See installer help.

On 2013-02-06 01:26, Tallowwood wrote:
> However the guide does
> not seem to explain or give eamples of the settings needed to enable
> mutiversion for associated graphics or other modules.

Because that is not widely known. I don’t know how, and I have an nvidia
card.

The feature is intended for rpms that come prepared for that, like the
kernel.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

Only a few days ago, I installed Kiwi on my x64 12.2 system, and it installed the Xen kernel and multi-kernel was already enabled (by default?). I had previously replaced the Desktop kernel with Default.

To the OP,
You can list all available kernels and related packages in your currently configured repos with

# zypper se kernel

An “i” will display for any kernels you have installed, there can be several.

Note that the Grub bootloader menu does not list all your available kernels as top level options, only at most a couple defaults. You may not realize that you have to select “Advanced” to drill down to other choices.

AFAIK today there is no such thing as choosing an nVidia CPU. Most CPUS manufactured by nVidia are ARM. Even if nVidia makes an x86 or x64 CPU, openSUSE would select regular Linux kernels. If you wish to install nVidia CUDA, that is GPU computing which would require the Default Linux kernel.

HTH,
TSU

Thanks. I was not aware of the “kernel module only” option. It looks interesting.

In my case the nVidia driver was installed from openSUSE repositories, not manually. The nVidia kernel module is loaded when I boot with the old kernel (3.4.11-2.16-desktop) but not when I boot the updated kernel (3.7.5-1-desktop). Is it possible that, even though the nVidia driver was installed from the openSUSE rpm and not manually, I could now run the nVidia installer with the -K option under the 3.7.5-1-desktop environment and so enable the nVidia kernel module to load?

That’s correct. 3.7.5 is not update for openSUSE 12.2. 3.4.11 was the last update kernel available.

Does this mean I can’t upgrade my kernel to 3.7.5 with openSUSE 12.2? Will it not work?

You misunderstand.

Modules for different kernel versions are not compatible. You cannot in general build module for 3.4 and expect it to work (or even load) under 3.7. openSUSE normally does not change kernel versions during release lifetime. It means, if openSUSE 12.2 was released with kernel 3.4, it will stay on 3.4 updates. So kernel modules built for openSUSE 12.2 should stay compatible with future kernel updates for 12.2.

Of course you can install kernel from any third party repository or compile it yourself. But then it is your responsiblity to fix any compatibility problems that it may bring.

But you can compile your own kernel using SAKC and install the latest nVIDIA driver with LNVHW, find the latest driver here: installing-nvidia-video-driver-hard-way and they work together just fine in openSUSE 12.2. Indeed it would be hard to complain about kernel 3.7 or nVIDIA driver 310.32 to openSUSE, but there are other avenues for complaints. None the less, it you want the latest stuff, you are mostly on your own.

Thank You,

So, Tallowood I’m curious

So far you’ve said you’re using only “openSUSE” repos, where did you get kernel 3.7.5, did you get from Tumbleweed, build your own or somewhere else?

What is this “openSUSE” nVidia repo? AFAIK openSUSE does not itself manage an nVidia repo although may offer a Community nVidia repo.

If the nVidia driver you’re using was installed using the Community nVidia repo, I would assume that normally <all> packages in that repo should automatically detect and install the correct graphics kernel module for the detected Linux kernel. This should be done simply as I described in my post with a “zypper up”

TSU

I have one ‘problem’ and I’m not sure how to proceed.
Using kernel 3.7.4.x for quite some time, today while doing ‘zypper up’ kernel update appeared :


The following NEW package is going to be installed:                                                                                                      
  kernel-desktop  3.4.28-2.20.1  i686  openSUSE-12.2-Update  openSUSE                                                                                    
                                                                                                                                                         

1 new package to install.
Overall download size: 37.5 MiB. After the operation, additional 111.7 MiB will be used.
Continue? [y/n/?] (y): 

When I installed 3.7.x kernel I used this repo , previously I enabled multiple kernel version following this guide

That all went fine and I could go back to previous kernel in advanced boot options, latest kernel is default boot option.

Anyways, this update from openSUSE came today and like I said, I’m not sure what to do now.
Have no idea what will happen if I install this update, also if I go to latest stable kernel repo and switch packages (so that I don’t receive old kernels from openSUSE when I’m doing updates) I get a warning that I would have to resolve conflicts by uninstalling 3.4.x kernel, again I don’t know what would happen in that case either.

Basically I’m happy with 3.7.x kernel and the question really is … how can I disable old kernel offers in updates and what’s the best option for me with described scenario from above to solve this ?

Thanks for responding.

I installed the 3.7.5 (now 3.7.6) kernel because large file transfer under 3.4 kernel caused all other GUI activity to stall or crawl. The 3.7.5 kernel seemed to fix this. I obtained the 3.7.5 kernal from this repo. I obtained the nVidia driver from the Community nVidia repo. Both installed with YaST.

Despite kind advice here, I have been unable to resolve the nVidia driver multiversion issues. Unfortunatly I did not see your advice to use “zypper up” and attemted manual instalation (hard way) against the 3.7.5 kernel but of course that failed with errors. Following that blunder I was unable to boot to graphical log-in screen (screen 0 not found). Booted runlev3, removed new kernel files and restored 3.4 versions with YaST, edited zypp.conf to exclude multiversion and finally (after previous changes failed enable GUI boot) I edited etc/sysconfig/displaymanager to remove reference to nVidia and restore Xorg. Booted old 3.4 kernel with nouveau driver and now have the system working again.

I am not sure what I need to do to restore nVidia driver after messing up key system files, but I can work without it. I cannot work without access to GUI, internet, email and file system. I have learned quite a bit but not enough to confidently use multiversion settings with nVidia driver.

The advice about multiversion in the manual is very clear but it is not a ‘how to’ guide - some technical skill is required. I have been using SuSE Linux and openSUSE as my main OS for over ten years but I still lack real technical skill, so I am very grateful for support from this forum.

On 2013-02-10 00:26, gzenum wrote:
>
> I have one ‘problem’ and I’m not sure how to proceed.
> Using kernel 3.7.4.x for quite some time, today while doing ‘zypper up’
> kernel update appeared :

This is normal.

It is an update coming from the update repo, a patch as it is called,
and these often ignore vendor changes. It is an update for the standard
or default kernel package that comes with the distribution. You are not
using that one.

You can ignore it. You can taboo it, so that it doesn’t appear again.

You may also install it (assuming you are configured for multiple
kernels), but then you will have to modify the boot configuration
manually because default boot kernel will switch to the one just
installed (I think).

> Basically I’m happy with 3.7.x kernel and the question really is …
> how can I disable old kernel offers in updates and what’s the best
> option for me with described scenario from above to solve this ?

Taboo the patch.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)