Downgrade kernel to 3.6.10 version from 3.7

I’m running OpenSuSE 12.2 on a laptop - and I use Tumbleweed to keep my kernel up to date. Generally fine, except when the BETA version of the kernel gets included (i.e. 3.5.x or now 3.7.x). Our wonderful kernel developers like to change around source/headers/kernel calls, etc. This often breaks a lot of stuff. No sweat, it’s a beta version.

I failed to notice the 3.7.x kernel being installed during a recent update on my system. Now, of course - VMware Workstation is toasted - since it can’t rebuild the kernel modules correctly for the 3.7.x series. Yes, I found the version.h link fix - but this doesn’t seem to work for me. I’m running (currently) 3.7.1-16-desktop kernel (I also have kernel-desktop-devel and kernel-source packages). When the VMware kernel modules are being rebuilt, the module builder routing errors out with “C header files matching your running kernel were not found”. The main module updater window also states "Kernel headers for version 3.7.1-16-desktop were not found).

Basically - in my long winded way - I’d just like to back-rev to the stable 3.6.10-x kernel version, and I’ll turn off Tumbleweed since the continued insistence to add beta kernel versions. However, I’m not certain how to properly back rev the kernel. The software.opensuse.org site refuses to list any of the 3.6 kernel versions - only showing the 3.4 and 3.7 versions.

Any howto/pointers/thoughts would be gratefully accepted. Thanks!

~~shane
Happy Holidays … however you choose to celebrate them …

You should always be able to open YaST Software Management, search on kernel and go to the Versions tab for the main loaded kernel. You should find more than one version there and you can set the bullet for the older version you wish to use. To keep from reverting back, you could mark the older kernel as protected (after it has been loaded), or perhaps when you disable Tumbleweed, it will be left alone. I am not sure what other issue may occur due to using Tumbleweed and then turning it off would be. If the kernel you want to use is not there then consider that you can always compile any kernel version you want to use outside of Tumbleweed with this set of bash scripts:

Compile Any kernel version with S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.78: https://forums.opensuse.org/blogs/jd…rsion-2-50-34/

Remove any Kernel compiled using SAKC with S.A.K.R. - SUSE Automated Kernel Remover - Version 1.0.4: https://forums.opensuse.org/blogs/jd…ion-1-0-0-111/

Fetch any released kernel version back to 2005 (look at Stable Kernels git) using S.G.T.B. - SuSE Git Kernel Tarball Creator - Version 1.86: https://forums.opensuse.org/blogs/jd…rsion-1-31-53/

Thank You,

First, 3.7.x are not betas, who told you it is? The “beta” versions have “rc#” in their version numbering, Tumbleweed has the stable 3.7 kernel. Like many times before a pafch of the VMware files may be needed. One of the things about Tumbleweed is that the third party support isn’t there (yet?).

Thanks for the quick reply. I meant to post that I looked at the “versions” tab under YaST. It only gives me the options now for 3.4.6-x, 3.4.11-x, and 3.7.1-x kernel versions - all references in YaST to any of the 3.6.x kernel versions is gone, this is also reflected in the software.opensuse.org site, the 3.6.x versions have “disappeared” from the lists. I know that somehow can specify exact versions to install, and I should be able to get back to my old version … just can’t find the procedures and the exact package names to “re-install”.

I will look at the SAKC and SAKR stuff - but generally, I prefer to stick with the repo provided versions.

Hmmm, since time immemorial, the kernel versions have always tracked with Odd numbered minor versions (eg the “7” in 3.7) being a Beta, and Even numbered minor (eg the “6” in 3.6) being final released versions. I’m sure this has likely changed since I last “paid attention” to the precise numbering scheme for the kernels … which admittedly, the last time I looked was back in the 2.0 kernel days…

In either case - there was a fine tradition that in the odd numbered versions (at least, as of late), they “shuffle” things around in the kernel architecture, library routines, kernel calls, etc… and that always seems to break something in supporting kernel modules (i.e. Nvidia problems, anyone? VMWare problems?). :slight_smile:

BTW - I checked out what Wikipedia has to say about the version scheme - and yes, they now use “rc” to designate Beta versions - but it also spells out the “way it used to be”. My apologies for being “stuck in the past” with my information… Reference: Linux kernel - Wikipedia, the free encyclopedia

Still hunting for the right way to downgrade my kernel from the 3.7 to 3.6 versions … :slight_smile: Thanks !

Unless you find a repository that still carries kernel 3.6, it will generally be gone as only the top stuff is kept around. Using the SAKC bash script does not remove any kernels and just gives you one more kernel you can select from at boot time. Here is some more stuff that might be useful to you:

GNU Grub2 Command Help/Config Editor - Version: 1.90: https://forums.opensuse.org/blogs/jdmcdaniel3/gnu-grub2-command-listing-helper-help-input-106/

FastBoot for Grub 2 or Grub Legacy Menu using Kexec - Version 2.13: https://forums.opensuse.org/blogs/jdmcdaniel3/fastboot-grub-legacy-menu-using-kexec-version-1-28-67/

By the way, just as already mentioned, kernel 3.7.1 is not beta but mainline. That does not mean it can not have issues. Further, Virtualbox was upgraded if loaded outside of YaST to 4.2.6 which fixed some problems people had with kernel 3.7.x:

VirtualBox 4.2.6 links within: https://forums.opensuse.org/english/get-technical-help-here/virtualization/478410-oracle-releases-vm-virtualbox-4-2-a.html

Thank You,

Thanks for pointing out your SAKC utility - that worked to rebuild a 3.6.11-desktop kernel version, which allowed my VMware Workstation kernel modules to work just fine. Thanks for all the hard work on this great set of utilities!

~~shane

Hmm, vmware workstation 9.0.1 compiled and works fine for me on 3.7.1-2 ( from factory repo) with the the same version.h link fix as for the nvidia driver ( described in Access Denied) . Did you doublecheck the link ?
After doing the link, which I needed for the nvidia driver anyways, just running ‘vmware-modconfig --console --install-all’ was needed to build the vmware kernel modules.

Thanks for the feedback. My module rebuild failed (after doing the symlink fix), due, I think to a confusion of the appropriate devel/source packages of the kernel. This system has been upgraded several times, and it has left the kernel packages in a mismatch. In any case, it’s working now, and I’ll try and tackle cleaning up the appropriate kernel packages and get it back in to a clean working state for module rebuilds on the 3.7.x kernel.

~~shane

Happy to hear that SAKC worked for you. You can compile any kernel version with SAKC, up or down. You can use SGTB to create the source file for any kernel source you can not find. You use SAKR to remove any kernel compiled & installed using SAKC. It is a good little trio of bash scripts for anyone into trying different kernel versions, but on your terms and when you want it. The only thing you can’t do is to rush up Linus on releasing new kernels, but you can often fetch them with SGTB, before they are even posted on kernel.org, but only by a few hours.

Thank You,

My work around for kernel 3.7.1-3.1 is;

ln -s /usr/src/linux-3.7.1-3.1-obj /usr/src/linux-3.7.1-3.1-desktop

With this, VMware Workstation 9.01 works for me.

HTH