Upgrading openSUSE to Linux 3.0
by Jos Poortvliet
On 21 July, Linux kernel 3.0 was released by Linus Torvalds, bringing some new features such as Btrfs data scrubbing and automatic defragmentation, Microsoft Kinect and Apple iSight webcam support, AMD's Llano Fusion APUs support, wake on WLAN, XEN Dom0 support and many new drivers which allow Linux to work with a host of new hardware components.
This tutorial explains how to install this kernel on your stable openSUSE 11.4 installation, replacing your current 2.6.37 kernel. And as a bonus, we'll also show you how to escape the upgrade mill with Tumbleweed. Thanks to the unique Tumbleweed repository, you'll not only always have the latest Linux kernel but also the newest Firefox, LibreOffice, Scribus, Evolution, digiKam and all those other applications which make openSUSE such a great OS.
Newer Kernels in openSUSE
openSUSE offers a unique kernel site where you can get a number of interesting kernels for your openSUSE release. These kernels are built daily. This means that if you want to test the upcoming Linux kernel 3.1 release, the openSUSE Kernel Site is by far the easiest way of doing that. The kernel site even offers a linux-next branch. This branch tracks the linux-next tree maintained by Stephen Rothwell. This tree is a merge of all changes that will land in the next kernel version. If you have problems with certain hardware or want to find out what will be in the Linux kernel after 3.1, this is where you need to be.
Getting the latest stable one
But for now, let's focus on the stable kernel. The stable kernel branch contains the latest stable tree from kernel.org and is maintained for openSUSE by Jiri Slaby. As kernel.opensuse.org tells you conveniently, installing this kernel is not hard. You only need to execute the following two commands:
zypper addrepo --refresh http://download.opensuse.org/repositories/Kernel:/stable/standard Kernel:stable
zypper in --from Kernel:stable kernel-desktop
With these commands you first add the stable kernel repository and then instruct openSUSE to install the desktop kernel from this new repository. We added the
--refresh option to automatically check for newer versions of this kernel any time you use the zypper command (this is called auto-refresh of repositories).
However, many users don't appreciate the extra time it takes Zypper to refresh the repositories whenever they execute a command and prefer to manually refresh repositories with the simple command:
Of course, removing the "--refresh" from the command will not enable the auto-refresh.
Zypper, the openSUSE package manager, will now install this kernel for you and on future upgrades will track new versions in this repository. Note that Zypper will ask a question or two before it proceeds with installing some dependencies. As the Kernel works with a variety of other packages, it will need to grab those from the newly added repository. This means changing vendor as the packages will now come from the new repository. See below for an example of the output and the choice you'd need to make:
12:43 AM root://>zypper ar http://download.opensuse.org/repositories/Kernel:/stable/standard Kernel:stable
Adding repository 'Kernel:stable' [done]
Repository 'Kernel:stable' successfully added
02:46 PM root://>zypper in --from Kernel:stable kernel-desktop
Building repository 'Kernel:stable' cache [done]
Retrieving repository 'Packman Repository' metadata [done]
Building repository 'Packman Repository' cache [done]
Loading repository data...
Reading installed packages...
Resolving package dependencies...
Problem: preload-kmp-desktop-1.2_k126.96.36.199_0.7-6.7.12.i586 requires kernel-desktop = 188.8.131.52-0.7, but this requirement cannot be provided
Solution 1: install preload-kmp-desktop-1.2_k3.0.3_2-76.42.i586 (with vendor change)
openSUSE --> obs://build.opensuse.org/Kernel
Solution 2: do not install kernel-desktop-3.0.3-2.1.i586
Solution 3: break preload-kmp-desktop by ignoring some of its dependencies
Choose from above solutions by number or cancel [1/2/3/c] (c): 1
After the operation, you need to reboot your system to enjoy the new kernel. Of course, the openSUSE Kernel site offers far more kernels and you can install them just as easily as Linux kernel 3.0.