View Full Version : [all variants] Patched DSDT load in GRUB setup

February 14th, 2013, 07:22 PM
The Toshiba U500 laptop overheats with 12.04 due to faults in the DSDT. (It overheats in all previous ubuntu releases apart from 10.04.) I corrected the DSDT, so at least the active cooling works fine, and used to load the DSDT according to the following instruction in

As this instruction loads the DSDT prior to any OS load, the solution works fine for Linux, however Windows cannot load as the patched DSDT does not fit the windows environment. (Windows hangs at boot.)
So I added some rows in the linux load code in grub.cfg to the following

search --no-floppy --fs-uuid --set=root d1043490-cee7-4aae-9a9e-783d68db104b
echo 'Loading Corrected AML / DSDT ...'
acpi ($root)/boot/dsdt-corrected.aml
echo 'Loading Linux 3.2.0-36-generic Standard ...'
linux /boot/vmlinuz-3.2.0-36-generic root=UUID=d1043490-cee7-4aae-9a9e-783d68db104b ro

where the echo, acpi and echo row is added.
As the DSDT is only loaded at linux load, the windows start-up works.
The issue will be that at every time when update-grub is run, the line has to be added manually to all the linux items in the grub menu.

As far as I understand the grub.cfg is generated by the scripts in /etc/grub when

sudo update-grub

is run.
Is there a description of those scripts and in which order they are run when two scripts have the same level, e.g. "20_xxxxxx" and "20_yyyyyy"?

I would like to embed the acpi load in the scripts to simplfy kernel upgrades.