LINUX.ORG.RU

Как применить поправленное dsdt

 , , ,


0

1

Здравствуйте.

Решил побороть на своем ноутбуке lenovo e555 ошибку в dmesg вида:

[Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness

Погуглил, нашел что лечится это правкой dsdt(не совсем понял что это). Правил по этой инструкции, дальше как я понял его можно применить либо через перекомпиляцию ядра, либо через правку initramfs. Я пошел по пути правки initramfs. Делал по этой инструкции, но что то пошло не так и заветной строчки я не увидел:

[    0.353478] ACPI: Table DSDT replaced by host OS

Вопрос, как это применить? Система debian 9.


Делал по этой инструкции

(в конце которой написано)

UPDATE: The kernel dev's will no longer use the patch to enable custom DSDT files for Karmic 9.10 and beyond. Jaunty 9.04 is the last version this will work on. You are urged to file a bug report for DSDT errors.

(поэтому(?) оно и не заработало...)

Хотя debian имеет своё мнение как это сделать...

p.s. и да они Вас предупредили

WARNING: It is usually not recommended that you override your own DSDT. Overriding your DSDT with garbage can do physical harm to your computer. You have been warned!

anymouze ★★
()

Как применить поправленное dsdt

  • Залить его обратно в bios/uefi и да это рецепт не для всех
  • Можно использовать подмену через загрузчики. Да это тоже поддерживается не всеми загрузчиками.
  • Замена через initrd но у меня она никогда не работала.
  • Использовать замену через ядро.

На мой субьективный взгляд вариант через ядро самый простой и удобный. Но да ядро надо собирать самому.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

Из списка возможных способов наиболее простым выглядит «подмена через загрузчик». Этот способ поддерживается в grub? Если да, то как им воспользоваться?

torm7
() автор топика
Ответ на: комментарий от torm7

Оказывается на эту тему есть целая статья.

dsdt подменил через загрузчик, но что то мне это не помогло. Ошибка как была так и осталась. Может еще что надо сделать?

torm7
() автор топика
Ответ на: комментарий от init_6

Вроде произошла. По крайней мере количество Warnings и Remarks совпадает с тем, которые были после правок.

Реально не произошла:(, хотя выхлоп был:

$ sudo grub-mkconfig -o /boot/grub/grub.cfg 
Генерируется файл настройки grub …
Found custom ACPI table: /boot/dsdt.aml
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Найден образ linux: /boot/vmlinuz-4.9.0-8-amd64
Найден образ initrd: /boot/initrd.img-4.9.0-8-amd64
Найден образ linux: /boot/vmlinuz-4.9.0-7-amd64
Найден образ initrd: /boot/initrd.img-4.9.0-7-amd64
Adding boot menu entry for EFI firmware configuration
завершено

torm7
() автор топика
Ответ на: комментарий от torm7

Этот способ поддерживается в grub?

Как ты сам убедился я бы сказал не совсем. Для реализации подмены через загрузчик рекомендую смотреть в сторону решений хакинтошников. Вот их звери да эти могут.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

Похоже скрипт не правильный, он в строчки меню grub не добавляет acpi. Добавил его руками, но dsdt все равно не загрузился. Известно как должна выглядеть строчка grub для загрузки? Там много доп. параметров. Просто указать acpi /boot/dsdt.aml недостаточно.

torm7
() автор топика
Ответ на: комментарий от torm7

Самые надежные способы - вкомпилировать исправленное dsdt в ядро либо юзать один из хакинтошных загрузчиков, у которых замена dsdt чуть ли не главная востребованная у хакинтошников фича.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

Применил я этот dsdt. В итоге так и пришлось перекомпилировать ядро. Через grub после кучи танцев с бубнами так и не заработало, как и через inirtd. Заморачиваться с экзотическими загрузчиками я не стал. Изначальная проблема решена!

Всем участникам этого топика спасибо.

torm7
() автор топика
Ответ на: комментарий от torm7

его можно применить либо через перекомпиляцию ядра...

ты и сам это знал (и да «потр* мозг» — «это святое»)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.