HPラップトップのACPIサブシステムを修正するのに苦労しています( Pavilion DV6-6008el 、Ubuntu Natty 64ビット)。
acpi=off
がgrubのカーネルパラメーターとして指定されている場合のみ起動できます。そうでない場合は、空白の画面とシステムがハングします。空白の画面とACPIの無効化の両方は受け入れられません。 Ask Ubuntuには、別の詳細を記載した別の 同様の質問 があります。
ACPIのデバッグ方法に関する優れたドキュメントを見つけることができました。このテクニックは特に便利です。DSDTテーブルの逆コンパイルと再コンパイルを行うと、コンパイラがエラーを返します。..テーブルが壊れており、これがブート失敗の原因である可能性があります。次のステップでは、コードを修正し、システムDSDTをコンパイルして、修正したものでオーバーライドします(カーネルを再コンパイルするか、カスタムDSDTをinitrdにビルドします)。これは手順です:
# apt-get install acpidump
# dump a system's ACPI table with DSTD signature to an ASCII file
Sudo acpidump -t DSDT > dump
# convert ASCII acpidump output to raw binary table. Creates DSDT.dat, binary.
acpixtract dump
# apt-get install iasl
# disassemble AML to ASL, creates DSDT.dsl
# (AML: ACPI Machine Language, binary. ASL: ACPI Source Language, source)
iasl -d DSDT.dat
# recompile AML in assembler (-ta) or C (-tc) hex table. -vr disables remarks.
iasl -vr -tc DSDT.dsl
おっと、iasl intelコンパイラは不満を言っています:
DSDT.dsl 37: External (\TNOT)
Error 4057 - ^ Name already exists in scope (\TNOT)
DSDT.dsl 11050: Method (PAPR, 0, NotSerialized)
Warning 1088 - ^ Not all control paths return a value (PAPR)
DSDT.dsl 12566: Method (_CRS, 0, NotSerialized)
Warning 1088 - ^ Not all control paths return a value (_CRS)
DSDT.dsl 12566: Method (_CRS, 0, NotSerialized)
Warning 1081 - ^ Reserved method must return a value
(Buffer required for _CRS)
ASL Input: DSDT.dsl - 12748 lines, 424447 bytes, 5910 keywords
Compilation complete. 1 Errors, 3 Warnings, 8 Remarks, 20 Optimizations
以下は、 フルテーブルソース (36kb)です。
問題、エラー、警告を修正するための助けをいただければ幸いです。どうもありがとう。
有用なリソース
Linux/ACPIの概要 - LessWatts.orgに置き換えられ、Linuxを搭載したIntelシステムの電力を節約します
ACPICA (ACPIコンポーネントアーキテクチャ)
HOWTOバギーDSDTファイルの修正 (ubuntuforums.org)
Fglrxドライバーをインストールし、aticonfigでacpiオプションを調整してみてください。ここに非公式のAMD wikiへのリンクがあります http://wiki.cchtml.com/index.php/Main_Page 。とても助かりました。これが役立つかどうか教えてください。ありがとう
自分でやろうとしています。
Gentoo Wikiは非常に便利だと思います: ACPI/Fix common issues 。
Ubuntuに直接適用することはできませんが、ほとんど適用できます。
私がこれまで気づいた唯一の違いは、「iasl」をインストールするときです。
Gentoo:
echo "sys-power/iasl ~x86" >> /etc/portage/package.keywords; emerge -av iasl
Ubuntu:
Sudo apt-get install iasl