Acpi off astra linux

[РЕШЕНО] Как включить поддержку acpi

# 8 лет, 11 месяцев назад (отредактировано 8 лет, 11 месяцев назад) Ноутбук Lenovo ThinkPad x120e. Не устанавливаются никакие системы, если не прописать в параметры загрузки ядра noapic и acpi=off. А очень хочется, потому что без апплета батареи жить тяжко. Возможно ли как-то решить проблему, если под виндой все работало?

РЕШЕНИЕ:
В моей ситуации помогла правильная настройка bios (вроде бы разрешением изменять опции uefi пользователям), и установка grub-efi на gpt диск. (по моему, на mbr работать тоже должно)

наверное
pacman -S acpid laptop_tools
systemctl enable acpid Зачем ставить демона для acpi, если он выключен при загрузке) Дело в том, что хочется убрать параметр загрузки acpi=off. А если я его убираю, тогда загрузка виснет после “Загружается начальный виртуальный диск…”, а это вообще фраза граба. Даже в дебаг моде с высоким логлевелом ничего не пишет.
Зато я только что нашел способ как убрать noapic, вместо него можно прописать irqpoll, или irqfixup. Какой из них лучше выбрать, если моя система загружается с любым из них? Как вообще организовать apic на моей системе наиболее бескостыльным и производительным способом? (Вечером выложу вывод загрузки с acpi=off без noapic)
// irqfixup When an interrupt is not handled search all handlers for it. Intended to get systems with badly broken firmware running.
// irqpoll When an interrupt is not handled search all handlers for it. Also check all handlers each timer interrupt. Intended to get systems with badly broken firmware running Проблема в том, что биосу крайне плохо) Меняли мать по гарантии, после этого начались всякие колдунства. Теперь конфигурация биоса у меня не сохраняется почти по всем пунктам, а обновлялка отказывается работать) Но, я уверен, что решение есть, ибо убунта с виндой же работали.

actics
Проблема в том, что биосу крайне плохо) Меняли мать по гарантии, после этого начались всякие колдунства. Теперь конфигурация биоса у меня не сохраняется почти по всем пунктам, а обновлялка отказывается работать) Но, я уверен, что решение есть, ибо убунта с виндой же работали.

На одном закрытом ресурсе дали информацию по полезному ресурсу для арча!
https://wiki.archlinux.org/index.php/Le … kPad_X120e

sht0rm
Вы уверены что вам ее “нормально” поменяли? Несите его в гарантию. На Thinkpad нормально работает linux.

Менять там не нормально было нечего, по незнакомым местам я гуглил. Гарантия это долго и она кончилась.

actics
Теперь конфигурация биоса у меня не сохраняется почти по всем пунктам, а обновлялка отказывается работать)

Я ссылку привел не для сарказма, если в арчвики не упоминается о каких то глюках с данным ноутом, то дело в железе.

© 2006-2021, Русскоязычное сообщество Arch Linux.
Название и логотип Arch Linux ™ являются признанными торговыми марками.
Linux ® — зарегистрированная торговая марка Linus Torvalds и LMI.

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

Решено: Как отключить ACPI в GRUB? (срочно)

Решено: Как отключить ACPI в GRUB?

Сообщение Danik95 » 03.06.2008 18:47

Re: Решено: Как отключить ACPI в GRUB?

Сообщение sirocco » 03.06.2008 19:19

Re: Решено: Как отключить ACPI в GRUB?

Сообщение Danik95 » 04.06.2008 00:04

К сожалению там я ниче не нашел.

Re: Решено: Как отключить ACPI в GRUB?

Сообщение Aectann » 04.06.2008 00:30

Re: Решено: Как отключить ACPI в GRUB?

Сообщение Danik95 » 04.06.2008 00:42

примерно такео я уже пробовал! но когда я прописываю /boot/grub/menu.lst в grube выводится сообшение об ошибке (типа не корректная команда)

Re: Решено: Как отключить ACPI в GRUB?

Сообщение Danik95 » 04.06.2008 01:00

Re: Решено: Как отключить ACPI в GRUB?

Сообщение anjolio » 04.06.2008 09:15

вариант 1 (при каждом запуске):
Когда выдите экран приветствия grub (это там, где выбор ОС происходит), наводите на строку с линуксом, жмякаете клавишу «е» англицкую, в появившемся меню наводите на строку с параметрами загрузки ядра и еще раз жмякаете англицкую «е». Таким нехитрым образом мы добрались до редактирования опций загрузки для текущей сессии (ВНИМАНИЕ! вносимые изменения действуют лишь до перезагрузки).
Ну тут уже дописываете или стираете то, что вам надо. Когда все ок жмем Enter (кажется) для подтверждения редактирования. Когда заново увидим предыдущее меню со строками, отвечающими за загрузку линукса, жмем «b» (англицкая Б) для загрузки ОС.

Читайте также:  Создание пары со смарт картой mac os

вариант 2 (надолго):
При уже загруженном линуксе (можно даже без графического интерфейса) в консоли или эмуляторе консоли логинимся под рутом (команда su). Далее пишем следующую команду:

Re: Решено: Как отключить ACPI в GRUB?

Сообщение Danik95 » 04.06.2008 10:25

вариант 1 (при каждом запуске):
Когда выдите экран приветствия grub (это там, где выбор ОС происходит), наводите на строку с линуксом, жмякаете клавишу «е» англицкую, в появившемся меню наводите на строку с параметрами загрузки ядра и еще раз жмякаете англицкую «е». Таким нехитрым образом мы добрались до редактирования опций загрузки для текущей сессии (ВНИМАНИЕ! вносимые изменения действуют лишь до перезагрузки).
Ну тут уже дописываете или стираете то, что вам надо. Когда все ок жмем Enter (кажется) для подтверждения редактирования. Когда заново увидим предыдущее меню со строками, отвечающими за загрузку линукса, жмем «b» (англицкая Б) для загрузки ОС.

вариант 2 (надолго):
При уже загруженном линуксе (можно даже без графического интерфейса) в консоли или эмуляторе консоли логинимся под рутом (команда su). Далее пишем следующую команду:

очень полезная инфа, получилось)) спасибо. ну вот только проблема на проблеме.. загрузился я под рутом и хочу установить граф пакет,
набираю apt-get install xserver, и опять система ругается типа не может раскрыть файл блокировки)))

Источник

Видимость всех ядер ОС Astra Linux

Доброго времени всем, уважаемые.

Подскажите. Имеется сервер на который установили AL SE 1.5 Смоленск. Система видит лишь одно, хотя их там 28. Ядро обновили с 23 до 24-го, но проблема не решилась Вывод команд ниже

При загрузке ядра применялись параметры — acpi=off noapic nolapic idle=mwait.

Что можно ещё попробовать?

При загрузке ядра применялись параметры — acpi=off noapic nolapic idle=mwait.

Убрать нафиг эти параметры. Зачем туда их вписывал?

Версия ядра имеет формат вроде «4.16».

конфиг ядра ‘uname -a’ в студию

Пожалуйста

вписал, потому что без них система не грузится. Первые три приводят к панике ядра. Четвёртым хотел получить все ядра.

Без acpi ядер не будет. Обновляй ядро до 4.16.

Если так, считай приплыли. Обновлять не на что. 23-е ядро идёт в поставке, можно обновиться лишь до 24-го.

Ты обновил ядро с 4.2.0 до 4.2.0 и хотел этим исправить ситуацию?

вписал, потому что без них система не грузится. Первые три приводят к панике ядра.

Отсутствие любого из первых трех параметров приводит к панике? Сообщение о панике одно и то же без любого из этих параметров? Покажи его.

Обновление ядра, т.е. его минорной части. Система сертифицирована и живём с тем, что имеем. В лучшем случае новое обновление Астры будет к осени.

К панике приводит отсутствие ключей noapic nolapic. Фото только после выходных, т.к. сервер сейчас недоступен в плане дисплея.

мне нужен конфиг, текущей версии ядра, которую можно узнать командой uname -a.

сам конфиг предположительно в /boot/, если разрабы астры не извращенцы.

К панике приводит отсутствие ключей noapic nolapic

Тогда включи ACPI обратно.

Без acpi ядер не будет, как уже сказали.

А так, если у тебя стоит астра, значит куплена тех. поддержка — обращайся в нее и говори, что без noacpi у тебя паника на таком-то железе, а с noacpi не видно ядер.

Но тебя, скорее всего пошлют в сторону поддерживаемого оборудования и скажут, что твое не поддерживается.

Давай вывод кернел паник, ну и опсыввй конфигурацию оборудования.

Там пипец старое ядро для этой платформы. Это или Астру трясти или стороннее ставить.

В понедельник всё будет (и спека на сервер и ошибка).

Относительно тех.поддержки скажу, что она желает лучшего. Посылают на спеку поддерживаемого оборудования. Чуть что — поставьте Убунту с таким то ядром и проверьте на нём. Убунту и Дебиан видят все ядра, но это не решает проблемы. Сервер должен работать под Астрой.

Кое что нашёл по спецификации. Сервер DELL Model: POWEREDGE R540. Dell Model No: R540-3295.

обновляй биос, видимо acpi кривой, именно через acpi и про ядра рассказывают и про апики.

apic вообще контроллер прерываний, что ты без него хочешь добиться?

ещё есть умники, msi отключают.

Для начала проведу эксперимент и из 4 ключей выясню, отсутствие каких приводит к панике. Относительно биоса очень спорно. Дебиан и Убунту видят все ядра с данным биосом, так что проблема прежде всего в ОС.

Редхатовские ядра отличаются от обычных, а его дистрибутив не на редхате же?

Попробуйте спросить тут: https://forum.astralinux.ru/ или обратитесь в техподдержку

Заработало.

Вообщем с помощью магии, неведомой мне, с помощью коллег заработало. Система видит все ядра, правда только на 24-м ядре. Сейчас система грузится с параметрами по умолчанию и добавлен лишь один ключ vga=769, иначе вместо шрифтов на экране собрание пикселей. Что было конкретно сделано не могу сказать, т.к. не присутствовал в данный момент. Могу лишь выдать какие-либо выводы команд и конфигов.

Читайте также:  Boot ini windows 10 где найти

Сейчас система грузится с параметрами по умолчанию и добавлен лишь один ключ vga=769, иначе вместо шрифтов на экране собрание пикселей. Что было конкретно сделано не могу сказать

Источник

Прерывания от внешних устройств в системе x86. Часть 2. Опции загрузки ядра Linux

В предыдущей части мы рассмотрели эволюцию доставки прерываний от устройств в x86 системах (PIC → APIC → MSI), общую теорию и все необходимые термины.

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

  • pci=nomsi
  • noapic
  • nolapic

Также мы посмотрим на порядок, в котором ОС смотрит таблицы роутинга прерываний (ACPI/MPtable/$PIR) и какое влияние на него окажет добавление опций загрузки:

  • pci=noacpi
  • acpi=noirq
  • acpi=off

Возможно вы пробовали комбинации из всех этих опций, когда какое-либо устройство не работало из-за проблемы с прерываниями. Разберём, что именно они делают и как они меняют вывод /proc/interrupts.

Загрузка без дополнительных опций

Смотреть прерывания в данной статье мы будем на кастомной плате с Intel Haswell i7 с чипсетом lynxPoint-LP на которой запущен coreboot.

Информацию о прерываниях мы будем выводить через команду

Вывод при загрузке без дополнительных опций:

Файл /proc/interrupts предоставляет таблицу о количестве прерываний на каждом из процессоров в следующем виде:

  • Первая колонка: номер прерывания
  • Колонки CPUx: счётчики прерываний на каждом из процессоров
  • Следующая колонка: вид прерывания:
    • IO-APIC-edge — прерывание по фронту на контроллер I/O APIC
    • IO-APIC-fasteoi — прерывание по уровню на контроллер I/O APIC
    • PCI-MSI-edge — MSI прерывание
    • XT-PIC-XT-PIC — прерывание на PIC контроллер (увидим позже)
  • Последняя колонка: устройство, ассоциированное с данным прерыванием

Так вот, как и положено в современной системе, для устройств и драйверов, поддерживающих прерывания MSI/MSI-X, используются именно они. Остальные прерывания роутятся через I/O APIC.

Упрощённо схему роутинга прерываний можно нарисовать так (красным помечены активные пути, чёрным неиспользуемые).

Поддержка MSI/MSI-X устройством должна быть обозначена как соответствующая Capability в его конфигурационном пространстве PCI.

В подтверждении приведём небольшой фрагмент вывода lspci для устройств, для которых обозначено, что они используют MSI/MSI-X. В нашем случае это SATA контроллер (прерывание ahci), 2 ethernet контроллера (прерывания eth58* и eth59*), графический контроллер (i915) и 2 контроллера HD Audio (snd_hda_intel).

Как мы видим, у этих устройств присутствует строка либо «MSI: Enable+», либо «MSI-X: Enable+»

Начнём деградировать систему. Для начала загрузимся с опцией pci=nomsi.

pci=nomsi

Благодаря этой опции MSI прерывания станут IO-APIC/XT-PIC в зависимости от используемого контроллера прерываний

В данном случае у нас всё ещё приоритетный контроллер прерываний APIC, так что картина будет такая:

Все прерывания MSI/MSI-X ожидаемо исчезли. Вместо них устройства теперь используют прерывания вида IO-APIC-fasteoi.

Обратим внимание на то, что раньше до включения этой опции у eth58 и eth59 было по 9 прерываний! А сейчас только по одному. Ведь как мы помним, без MSI одной функции PCI доступно только одно прерывание!

Немного информации из dmesg по инициализации ethernet контроллеров:

— загрузка без опции pci=nomsi:

— загрузка с опцией pci=nomsi

Из-за уменьшения количества прерываний на устройство, включение данной опции может приводить к существенному ограничению производительности работы драйвера (это без учёта того, что согласно исследованию Intel Reducing Interrupt Latency Through the Use of Message Signaled Interrupts прерывания через MSI в 3 раза быстрее чем через IO-APIC и в 5 раз быстрее чем через PIC).

noapic

Данная опция отключает I/O APIC. MSI прерывания всё ещё могут идти на все CPU, но прерывания от устройств смогут идти только на CPU0, так как PIC связан только с CPU0. Но LAPIC работает и другие CPU могут работать и обрабатывать прерывания.

Как видим, все прерывания IO-APIC-* превратились в XT-PIC-XT-PIC, причём эти прерывания роутятся только на CPU0. Прерывания MSI остались без изменений и идут на все CPU0-3.

nolapic

Отключает LAPIC. MSI прерывания не могут работать без LAPIC, I/O APIC не может работать без LAPIC. Поэтому все прерывания от устройств будут идти на PIC, а он работает только с CPU0. И без LAPIC остальные CPU даже работать в системе не будут.

Комбинации:

На самом деле всего одна для нового варианта: «noapic pci=nomsi». Все прерывания от устройств смогут идти только на CPU0 через PIC. Но LAPIC работает и другие CPU могут работать и обрабатывать прерывания.

Одна, потому что с «nolapic» можно ничего не комбинировать, т.к. эта опция и так сделает недоступным I/O APIC и MSI. Так что если вы когда-то прописывали опции загрузки «noapic nolapic» (или самый распространённый вариант «acpi=off noapic nolapic»), то судя по всему вы набирали лишние буквы.

Итак, что будет от опций «noapic pci=nomsi»:

Таблицы роутинга прерываний и опции «acpi=noirq», «pci=noacpi», «acpi=off»

Как операционная система получает информацию о роутинге прерываний от устройств? BIOS подготавливает информацию для ОС в виде:

  • ACPI таблиц (методы _PIC/_PRT)
  • _MP_ таблицы (MPtable)
  • $PIR таблицы
  • Регистров 0x3C/0x3D конфигурационного пространства PCI устройств
Читайте также:  Adobe flash player windows 10 нужен или нет

Следует отметить, что для обозначения прерываний MSI BIOSу не надо ничего дополнительно делать, вся вышеупомянутая информация нужна только для линий APIC/PIC прерываний.

Таблицы в списке выше обозначены в порядке приоритета. Рассмотрим это подробней.

Допустим BIOS предоставил все эти данные и мы грузимся без каких-либо дополнительных опций:

  • ОС находит таблицы ACPI
  • ОС выполняет метод ACPI «_PIC», передаёт ему аргумент, что нужно грузиться в режиме APIC. Тут код метода обычно сохраняет выбранный режим в переменной (допустим PICM=1)
  • Для получения данных о прерываниях ОС вызывает метод ACPI «_PRT». Он внутри себя проверяет переменную PICM и возвращает роутинг для APIC случая

В случае если мы грузимся с опцией noapic:

  • ОС находит таблицы ACPI
  • ОС выполняет метод ACPI «_PIC», передаёт ему аргумент, что нужно грузиться в режиме PIC. Тут код метода обычно сохраняет выбранный режим в переменной (допустим PICM=0)
  • Для получения данных о прерываниях ОС вызывает метод ACPI «_PRT». Он внутри себя проверяет переменную PICM и возвращает роутинг для PIC случая

Если таблица ACPI отсутствует или функционал роутинга прерываний через ACPI отключен с помощью опций acpi=noirq или pci=noacpi (или ACPI полностью выключен с помощью acpi=off), то ОС смотрит для роутинга прерываний таблицу MPtable (_MP_):

  • ОС не находит/не смотрит таблицы ACPI
  • ОС находит таблицу MPtable (_MP_)

Если таблица ACPI отсутствует или функционал роутинга прерываний через ACPI отключен с помощью опций acpi=noirq или pci=noacpi (или ACPI полностью выключен с помощью acpi=off) и если таблица MPtable (_MP_) отсутствует (или передана опция загрузки noapic или nolapic):

  • ОС не находит/не смотрит таблицу ACPI
  • ОС не находит/не смотрит таблицу MPtable (_MP_)
  • ОС находит таблицу $PIR

Если и таблицы $PIR нет, или она не полна, то операционная система для угадывания прерываний будет смотреть значения регистров 0x3C/0x3D конфигурационного пространства PCI устройств.

Суммируем всё вышеизложенное следующей картинкой:

Следует помнить, что не каждый BIOS предоставляет все 3 таблицы (ACPI/MPtable/$PIR), так что если вы передали опцию загрузчику отказаться от использования ACPI или ACPI и MPtable для роутинга прерываний, далеко не факт, что ваша система загрузится.

Замечание 1: в случае если мы попытаемся загрузиться в режиме APIC с опцией acpi=noirq и без наличия MPtable, то картина прерываний будет как и в случае обычной загрузки с единственной опцией noapic. Операционная система сама перейдёт в режим PIC прерываний.
В случае если мы попытаемся загрузиться вообще без таблиц ACPI (acpi=off) и не предоставив MPtable, то картина будет такая:

Это проиcходит из-за того, что без ACPI таблицы MADT (Multiple APIC Description Table) и необходимой информации из MPtable, операционная система не знает APIC идентификаторы (APIC ID) для других процессоров и не может с ними работать, но LAPIC основного процессора работает, так как мы это не запрещали, и MSI прерывания могут на него приходить. То есть будет так:

Замечание 2: в целом роутинг прерываний при использовании ACPI в случае APIC совпадает с роутингом прерываний через MPtable. А роутинг прерываний через ACPI в случае использования PIC совпадает с роутингом прерываний через $PIR. Так что и выводы /proc/interrupts отличаться не должны. Однако в процессе исследований заметил одну странность. При роутинге через MPtable в выводе почему-то присутствует каскадное прерывание «XT-PIC-XT-PIC cascade».

Немного странно, что так происходит, но в документации ядра вроде говорится, что это нормально.

Заключение:

В заключении ещё раз обозначим разобранные опции.

Опции выбора контроллера прерываний:

  • pci=nomsi — MSI прерывания станут IO-APIC/XT-PIC в зависимости от используемого контроллера прерываний
  • noapic — Отключает I/O APIC. MSI прерывания всё ещё могут идти на все CPU, остальные прерывания от устройств смогут идти только на PIC, а он работает только с CPU0. Но LAPIC работает и другие CPU могут работать и обрабатывать прерывания
  • noapic pci=nomsi — Все прерывания от устройств могут идти только на PIC, а он работает только с CPU0. Но LAPIC работает и другие CPU могут работать и обрабатывать прерывания
  • nolapic — Отключает LAPIC. MSI прерывания не могут работать без LAPIC, I/O APIC не может работать без LAPIC. Все прерывания от устройств будут идти на PIC, а он работает только с CPU0. И без LAPIC остальные CPU не будут работать.

Опции выбора приоритетной таблицы роутинга прерываний:

  • без опций — роутинг через APIC с помощью таблиц ACPI
  • noapic — роутинг через PIC с помощью таблиц ACPI
  • acpi=noirq (pci=noacpi/acpi=off) — роутинг через APIC с помощью таблицы MPtable
  • acpi=noirq (pci=noacpi/acpi=off) noapic (nolapic) — роутинг через PIC с помощью таблицы $PIR

В следующей части посмотрим как coreboot настраивает чипсет для роутинга прерываний.

Источник

Оцените статью