[Bug 1045690] [NEW] Allow custom DSDT overrides in grub per default

Egon A. Rath 1045690 at bugs.launchpad.net
Tue Sep 4 08:38:51 UTC 2012


Public bug reported:

For some PC models it's necessary to use a custom ACPI DSDT Table for
the correct working of Fans and other system stuff. To load such a table
you could either compile a new kernel with this custom table in it, or
provide it via grub.

It would be a huge benefit for Ubuntu to provide this functionality out
of the box.

Current steps necessary:
=====================

1.) Build a new DSDT and place it under /boot/dsdt.aml
2.) Place the following content under /etc/grub.d/01_acpi:

--------------------CUT--------------------
#! /bin/sh -e

# Uncomment to load custom ACPI table
GRUB_CUSTOM_ACPI="/boot/dsdt.aml"

# DON'T MODIFY ANYTHING BELOW THIS LINE!

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib

. ${libdir}/grub/grub-mkconfig_lib

# Load custom ACPI table
if [ x${GRUB_CUSTOM_ACPI} != x ] && [ -f ${GRUB_CUSTOM_ACPI} ] \
        && is_path_readable_by_grub ${GRUB_CUSTOM_ACPI}; then
    echo "Found custom ACPI table: ${GRUB_CUSTOM_ACPI}" >&2
    prepare_grub_to_access_device `${grub_probe} --target=device ${GRUB_CUSTOM_ACPI}` | sed -e "s/^/  /"
    cat << EOF
acpi (\$root)`make_system_path_relative_to_its_root ${GRUB_CUSTOM_ACPI}`
EOF
fi
--------------------CUT--------------------
3.) update-grub

Desired steps necessary:
=====================

1.) Ship the above (or a similar) script fragment per default
2.) Place the GRUB_CUSTOM_ACPU in /etc/default/grub for centralised access

Additional information
==================

Ubuntu-release: 
    Description:	Ubuntu 12.04.1 LTS
    Release:	12.04

grub-packages:
grub2:
  Installed: (none)
  Candidate: 1.99-21ubuntu3.1
  Version table:
     1.99-21ubuntu3.1 0
        500 http://susrtumi1/ubuntu/ubuntu/ precise-updates/universe i386 Packages
     1.99-21ubuntu3 0
        500 http://susrtumi1/ubuntu/ubuntu/ precise/universe i386 Packages
test at test01:/etc/default$ dpkg --list | grep grub
ii  grub-common                      1.99-21ubuntu3.1           GRand Unified Bootloader (common files)
ii  grub-gfxpayload-lists            0.6                        GRUB gfxpayload blacklist
ii  grub-pc                          1.99-21ubuntu3.1           GRand Unified Bootloader, version 2 (PC/BIOS version)
ii  grub-pc-bin                      1.99-21ubuntu3.1           GRand Unified Bootloader, version 2 (PC/BIOS binaries)
ii  grub2-common                     1.99-21ubuntu3.1           GRand Unified Bootloader (common files for version 2)

** Affects: grub (Ubuntu)
     Importance: Undecided
         Status: New

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

Title:
  Allow custom DSDT overrides in grub per default

Status in “grub” package in Ubuntu:
  New

Bug description:
  For some PC models it's necessary to use a custom ACPI DSDT Table for
  the correct working of Fans and other system stuff. To load such a
  table you could either compile a new kernel with this custom table in
  it, or provide it via grub.

  It would be a huge benefit for Ubuntu to provide this functionality
  out of the box.

  Current steps necessary:
  =====================

  1.) Build a new DSDT and place it under /boot/dsdt.aml
  2.) Place the following content under /etc/grub.d/01_acpi:

  --------------------CUT--------------------
  #! /bin/sh -e

  # Uncomment to load custom ACPI table
  GRUB_CUSTOM_ACPI="/boot/dsdt.aml"

  # DON'T MODIFY ANYTHING BELOW THIS LINE!

  prefix=/usr
  exec_prefix=${prefix}
  libdir=${exec_prefix}/lib

  . ${libdir}/grub/grub-mkconfig_lib

  # Load custom ACPI table
  if [ x${GRUB_CUSTOM_ACPI} != x ] && [ -f ${GRUB_CUSTOM_ACPI} ] \
          && is_path_readable_by_grub ${GRUB_CUSTOM_ACPI}; then
      echo "Found custom ACPI table: ${GRUB_CUSTOM_ACPI}" >&2
      prepare_grub_to_access_device `${grub_probe} --target=device ${GRUB_CUSTOM_ACPI}` | sed -e "s/^/  /"
      cat << EOF
  acpi (\$root)`make_system_path_relative_to_its_root ${GRUB_CUSTOM_ACPI}`
  EOF
  fi
  --------------------CUT--------------------
  3.) update-grub

  Desired steps necessary:
  =====================

  1.) Ship the above (or a similar) script fragment per default
  2.) Place the GRUB_CUSTOM_ACPU in /etc/default/grub for centralised access

  Additional information
  ==================

  Ubuntu-release: 
      Description:	Ubuntu 12.04.1 LTS
      Release:	12.04

  grub-packages:
  grub2:
    Installed: (none)
    Candidate: 1.99-21ubuntu3.1
    Version table:
       1.99-21ubuntu3.1 0
          500 http://susrtumi1/ubuntu/ubuntu/ precise-updates/universe i386 Packages
       1.99-21ubuntu3 0
          500 http://susrtumi1/ubuntu/ubuntu/ precise/universe i386 Packages
  test at test01:/etc/default$ dpkg --list | grep grub
  ii  grub-common                      1.99-21ubuntu3.1           GRand Unified Bootloader (common files)
  ii  grub-gfxpayload-lists            0.6                        GRUB gfxpayload blacklist
  ii  grub-pc                          1.99-21ubuntu3.1           GRand Unified Bootloader, version 2 (PC/BIOS version)
  ii  grub-pc-bin                      1.99-21ubuntu3.1           GRand Unified Bootloader, version 2 (PC/BIOS binaries)
  ii  grub2-common                     1.99-21ubuntu3.1           GRand Unified Bootloader (common files for version 2)

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




More information about the foundations-bugs mailing list