Quick howto for the most stable Linux kernel with Zenbook

Quick howto for everyone having Asus UX31e aka Zenbook and wants the most stable vanilla kernel with long-time battery life and working touchpad made by Sentelic.
This should work for every Debian based distro, but has been tested only on the latest Linux Mint 12 (aka Lisa).
Tutorial is aimed mainly at beginners and should work in a copy&paste manner.

Of course you have to change every occurence of linux-3.2.4 to whichever version you’re going to install.
Just make sure that all commands are entered in the correct directories, prompts should look similar to these from examples.
You will need about 10GB of free disk space.

Let’s install some dependencies first:

fenio@zenbook ~ $ sudo apt-get install build-essential kernel-package fakeroot libncurses5-dev git iasl

Now let’s download and unpack the latest kernel (3.2.4 at the time it was written):

fenio@zenbook ~ $ mkdir kernel
fenio@zenbook ~ $ cd kernel
fenio@zenbook ~/kernel $ wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.4.tar.bz2
fenio@zenbook ~/kernel $ tar jxvf linux-3.2.4.tar.bz2

Now we take current kernel configuration and put in the kernel tree:

fenio@zenbook ~/kernel $ cp /boot/config-`uname -r` linux-3.2.4/.config

Now we have to download the latest driver for Sentelic touchpad (this is why we needed git as a dependency):

fenio@zenbook ~/kernel $ git clone git://github.com/saaros/sentelic.git
fenio@zenbook ~/kernel $ cp sentelic/src/sentelic.* linux-3.2.4/drivers/input/mouse/

It’s time to fix broken DSDT table (part of ACPI). This is why we had iasl in dependencies.

fenio@zenbook ~/kernel $ wget http://files.benesovi.eu/ux31e/ux31e_dsdt.dsl
fenio@zenbook ~/kernel $ iasl -tc ux31e_dsdt.dsl

And include it in our kernel configuration:

fenio@zenbook ~/kernel $ sed -ie 's/# CONFIG_ACPI_CUSTOM_DSDT is not set/CONFIG_ACPI_CUSTOM_DSDT=y/g' linux-3.2.4/.config 
fenio@zenbook ~/kernel $ sed -ie "s@CONFIG_ACPI_CUSTOM_DSDT_FILE.*@CONFIG_ACPI_CUSTOM_DSDT_FILE=\"`pwd`/ux31e_dsdt.hex\"@g" linux-3.2.4/.config

Now ensure that all our options are set up correctly (you can change some other options if you want).
If you don’t want to change anything then simply exit saving configuration.

fenio@zenbook ~/kernel $ cd linux-3.2.4/
fenio@zenbook ~/kernel/linux-3.2.4 $ make menuconfig

We’re ready to start compilation now!

fenio@zenbook ~/kernel/linux-3.2.4 $ fakeroot make-kpkg clean
fenio@zenbook ~/kernel/linux-3.2.4 $ fakeroot make-kpkg --jobs=4 --initrd --append-to-version=-fenio --revision=20120204 kernel_image kernel_headers modules_image

Of course you can change “append-to-version” option for something own.

In the meantime (kernel compilations takes about one hour) you can modify Grub options to enable powersaving features RC6:

fenio@zenbook ~ $ sudo sed -ie 's/GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX="i915.powersave=1 i915.semaphores=1 i915.i915_enable_rc6=1"/g' /etc/default/grub

Be sure to do that before installation of kernel, otherwise you will have to run update-grub.

After compilation you can finally install your new kernel:

fenio@zenbook ~/kernel/linux-3.2.4 $ sudo dpkg -i ../*.deb

Reboot and you’re done!

Feel free to comment this tutorial if something went wrong.

  • Bookmark and Share

10 thoughts on “Quick howto for the most stable Linux kernel with Zenbook

  1. Brian Semrad

    Hey do you have any suggestions on whether it is better to compile in the DSDT or load it through grub? In my mind it is probably better to compile in so that you don’t load a custom one with windows if you use grub as boot loader?

  2. Giulio

    As for the powersaving features, I find that installing sysfsutils and then edit /etc/sysfs.conf with something like:

    module/i915/parameters/i915_enable_rc6 = 1

    I think it’s much better than boot options, especially with Grub2.

  3. cromat

    When you do the custom compile after the install my /lib/modules/kernel-NAME/build directory symlink is pointing to /home/cromat/kernel/linxKERNALNAME is there a way to prevent this so I can run make but not keep the kernel source around?


Leave a Reply

Your email address will not be published. Required fields are marked *

5 × three =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>