Menu Close

Upgrade Your Linux Kernel To 2.6.39.0 On Ubuntu 11.04 “Natty Narwhal”

We created two scripts to upgrade your kernel, please read this article…. it makes upgrading the kernel real easy 🙂


Here is a guide that shows you how to upgrade your Linux Kernel to version 2.6.39.0. The Linux Kernel that comes with Ubuntu 11.04 is version 2.6.38-8 after installing the ppa you will have a list with new kernels you can install, from this list you can select a new version and install it using some command lines. For some reason upgrading your kernel works different when having and ati video card. In the first part i will explain how to upgrade the kernel when having an nvidia grapics card. In the second part i will explain how to upgrade the kernel when having an ati graphics card. In the third and final part i posted a list of all the available kernels you can choose from to install.

Nvidia graphic cards

To upgrade your kernel open a terminal window (press Ctrl+Alt+T) and copy+paste the following lines:

sudo add-apt-repository ppa:kernel-ppa/ppa
sudo apt-get update

To see which new kernels are available copy+paste the following line:

apt-cache showpkg linux-headers

The kernel 2.6.39.0 should listed and to install it copy+paste the following line:

sudo apt-get install linux-headers-2.6.39-0 linux-headers-2.6.39-0-generic linux-image-2.6.39-0-generic --fix-missing

When you are done you need to restart your computer and do a system update to complete the installation of the new kernel. To see what kernel version you are using open a terminal window (press Ctrl+Alt+T) and type: uname -a

ATI graphic cards

First install the latest 2.6.39 kernel revision from the PPA then download the 64-bit 11.4 ati installer package.
When downloaded open a terminal window (press Ctrl+Alt+T) and type: cd Downloads . To extract the files from the package copy+paste the following line:

sh ./ati-driver-installer-11-4-x86.x86_64.run --extract ati

For 2.6.39 support you need to download this additional patch: 2.6.39_bkl.patch. Now you need to save the patch into the ati folder located in your Downloads folder. Make a new text file (click with right mouse button on empty space in the ati folder and select Create Document -> Empty File) and open the file. Now copy+paste the text from the patch into the empty file and save it as: 2.6.39_bkl.patch and close the file. Then you need to make the 2.6.39_bkl.patch file executable, click with your right mouse button on the file and select Properties. Click on the Permissions tab and mark Allow executing file as program. When done click on the Close button.

Now to check for Big Kernel Lock usage copy+paste the following line in your terminal window:

cat /lib/modules/`uname -r`/build/.config | grep -c CONFIG_BKL=y

If the result of this command is 0, then you need to download the no_bkl.patch as well. To apply the patches copy+paste the following line:

cd ati; for i in ./*.patch; do patch -p1 < $i; done

Then you need to Build your new ati/fglrx deb packages,  to do this copy+paste the following line:

./ati-installer.sh 8.861 --buildpkg Ubuntu/natty

And to install your newly created deb packages you need to copy+paste this lines:

cd ..
sudo dpkg -i ./fglrx*.deb

When the installation is finished and your /etc/X11/xorg.conf file is missing then copy+paste the following line in your terminal window:

sudo aticonfig --initial

Now you are done and the ati driver is installed and you can reboot your computer. To see what kernel version you now are using open a terminal window (press Ctrl+Alt+T) and type: uname -a

Here is a list of all the available kernels:

linux-headers-2.6.39-0 2.6.39-0.5~20110427
linux-headers-2.6.39-0-generic 2.6.39-0.5~20110427
linux-headers-2.6.39-0-server 2.6.39-0.5~20110427
linux-headers-2.6.39-0-virtual 2.6.39-0.5~20110427
linux-headers-2.6.38-9-virtual 2.6.38-9.43
linux-headers-2.6.38-9-server 2.6.38-9.43
linux-headers-2.6.38-9-generic 2.6.38-9.43
linux-headers-2.6.38-9 2.6.38-9.43
linux-headers-2.6.38-10-virtual 2.6.38-10.44
linux-headers-2.6.38-10-server 2.6.38-10.44
linux-headers-2.6.38-10-generic 2.6.38-10.44
linux-headers-2.6.38-10 2.6.38-10.44
linux-headers-2.6.38-8-virtual 2.6.38-8.42
linux-headers-2.6.38-8-server 2.6.38-8.42
linux-headers-2.6.38-8-generic 2.6.38-8.42
linux-headers-2.6.38-8 2.6.38-8.42

0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments