Comment 179 for bug 1093217

Revision history for this message
Jon Baca (jtbaca001) wrote :

The only way I have been able to get the patched DSDT to work is to build it into the kernel. This is less than ideal but will allow you to use your computer. If you have been unable to get a patched DSDT to work, this should work for you. I am currently running 14.04 with a custom kernel build. The following should work with other kernel versions as well. I am only posting the steps exactly as I performed them, so if version number etc don't match for you, you are on your own.

1) Install Ubuntu 14.04. If you have to, just pull out your battery and complete the installation. Just leave it out until we are finished.

2) Compile your custom DSDT - this should produce a DSDT.hex file that you will need for incorporation into the kernel.
sudo iasl -tc DSDT.dsl

3) Get the source:
sudo apt-get source linux-image-3.13.0-24-generic

4) Untar the source:
gzip -cd linux_3.13.0.orig.tar.gz | tar xvf -

5) Move into the directory that contains the kernel source code and apply the patch:
cd linux-3.13/
gzip -cd ~/linux_3.13.0-24.47.diff.gz | patch -p1

6) Get the required tools to build the kernel
sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev linux-source qt3-dev-tools libqt3-mt-dev libncurses5 libncurses5-dev fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge kernel-package gcc

7) Configure the kernel for compilation:
make menuconfig

When the menu comes up navigate to Power Management and ACPI options -> ACPI
In the field "Custom DSDT Table file to include" enter the path to your DSDT.hex file which for me was /home/DSDT.hex

Now navigate to General Setup (you will have to go back to the main menu)
In the field "Local Version" enter "-custom-dsdt"

Now navigate to Device Drivers -> Generic Driver Options
Deselect the field "Prevent Firmware from being built"

Select save at the bottom, accept the default file name and exit

8) Build the kernel:
sudo make -j3 deb-pkg

At this point, just walk away from you computer. Come back every so often to check on the progress but the build will probably take a couple of hours(depending on your system). Try to resolve it and retry building the kernel

9) Install the kernel:
sudo dpkg -i linux-image-3.13.9-custom-dsdt_3.13.9-custom-dsdt-4_amd64.deb

This will install the new kernel. If it completes successfully, reboot your system. The default grub option should now be your new kernel. You can verify the custom DSDT is loaded in dmesg and you should see your custom version number with the "uname -r" command. If all goes well power off your computer, reinstall your battery, and boot your computer up.

Let me know if I missed anything and good luck.