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.
Please contribute to this wiki:
http://wiki.debian.org/InstallingDebianOn
You might consider using “make deb-pkg” rather than make-kpkg.
Thanks! this is really great, but i would love to get the track pad drag and right click working somehow.
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?
Well I didn’t consider loading it trough grub since Debian doesn’t support it for some time. At least according to its Wiki: http://wiki.debian.org/OverridingDSDT
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.
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?
I believe you can safely remove that symlink. It’s probably used only if you compile other things depending on kernel headers.
What is your battery life after all the additions above?
After last fixes in RC6 subsystem it’s about 6-7 hours.