Yes I did, but I wanted the grub menu to still have the option to boot 
without using the patched DSDT.

I put the patched DSDT in /boot/mydsdt.aml and changed 
/etc/grub.d/10_linux per the diff/patch below.  This was to 12.04 so 
10_linux may be a little different in 12.10.  I also have to watch out 
for normal system updates of grub.

This adds another item to the menu and it is the first so it becomes the 
default.  This item is just like the normal linux non-recovery boot 
except it first invokes grub's acpi command. The second menu item is 
normal boot w/o acpi and the third is now recovery boot.

Let me know if something like this works with UEFI always enabled.  In 
my case I rarely run windows on the laptop so I just change the BIOS 
back when I need to.  Some of the other messages implied the DSDT could 
not be loaded in UEFI mode.

The patch (made with  "diff -c 10_linux.orig 10_linux" within
/etc/grub.d):

*** 10_linux.orig       2012-12-10 06:20:08.000000000 -0600
--- 10_linux    2013-03-07 09:13:51.175997701 -0600
***************
*** 81,89 ****
--- 81,96 ----
     os="$1"
     version="$2"
     recovery="$3"
+   capi=false
+   if [ "xcustomacpi" = "x$recovery" ]; then
+         recovery="false"
+         capi="true"
+   fi
     args="$4"
     if ${recovery} ; then
       title="$(gettext_quoted "%s, with Linux %s (recovery mode)")"
+   elif ${capi} ; then
+     title="$(gettext_quoted "%s, with Linux %s (custom DSDT)")"
     else
       title="$(gettext_quoted "%s, with Linux %s")"
     fi
***************
*** 120,125 ****
--- 127,137 ----
         echo    '$message'
   EOF
     fi
+   if ${capi} ; then
+         cat << EOF
+       acpi /boot/mydsdt.aml
+ EOF
+   fi
     if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then
       cat << EOF
         linux   ${rel_dirname}/${basename}.efi.signed 
root=${linux_root_device_thisversion} ro ${args}
***************
*** 252,257 ****
--- 264,272 ----
       linux_root_device_thisversion=${GRUB_DEVICE}
     fi

+   linux_entry "${OS}" "${version}" "customacpi" \
+       "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_EXTRA} 
${GRUB_CMDLINE_LINUX_DEFAULT}" \
+       quiet
     linux_entry "${OS}" "${version}" false \
         "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_EXTRA} 
${GRUB_CMDLINE_LINUX_DEFAULT}" \
         quiet


The idea for this came from a similar approach at 
http://blog.michael.kuron-germany.de/2011/03/patching-dsdt-in-recent-linux-kernels-without-recompiling/

Tom


On 4/21/2013 2:06 PM, Jon Baca wrote:
> I successfully applied this fix to 12.10.  Did you put add the acpi
> command to the grub.cfg file?
>

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1093217

Title:
  Ubuntu 12.04/12.10/13.04 10-20min boot delay (From 3.2.0.29->3.8.0.19)
  [Lenovo IdeaPad Z580]

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1093217/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to