Что означает EISA: Не удается выделить ресурс для материнской платы и как это решить?

Вопрос или проблема

Я нашел это в журналах ядра:

platform eisa.0: EISA: Cannot allocate resource for mainboard
Cannot allocate resource for EISA slot 1
Cannot allocate resource for EISA slot 2
Cannot allocate resource for EISA slot 3
Cannot allocate resource for EISA slot 4
Cannot allocate resource for EISA slot 5
Cannot allocate resource for EISA slot 6
Cannot allocate resource for EISA slot 7
Cannot allocate resource for EISA slot 8

Что это значит и как это исправить?

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.04
Release:        21.04
Codename:       hirsute

Существует открытая ошибка об этом по адресу https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1837326

Ubuntu жестко прописывает все параметры конфигурации ядра EISA в значение y:

$ grep -i eisa /boot/config-*
CONFIG_HAVE_EISA=y
CONFIG_EISA=y
CONFIG_EISA_VLB_PRIMING=y
CONFIG_EISA_PCI_EISA=y
CONFIG_EISA_VIRTUAL_ROOT=y
CONFIG_EISA_NAMES=y

Они должны быть либо m (модули), либо n (исключите их полностью, потому что EISA была заменена на PCI в 1993 году.)

Согласно комментариям в отчете об ошибке, вы можете (или не можете) добиться успеха, добавив eisa_bus.disable_dev=1,2,3,4,5,6,7,8 в командную строку ядра, например, обновив GRUB_CMDLINE_LINUX_DEFAULT в /etc/default/grub, а затем сгенерировав конфигурацию grub командой, например:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Если это не сработает, единственным другим вариантом будет компиляция персонализированного ядра.

Ответ или решение

Ошибка "EISA: Cannot allocate resource for mainboard" в ваших системных журналах может вызывать обеспокоенность, особенно если вы не уверены в её значении и не знаете, как это исправить. Для начала, давайте разберемся, что такое EISA и почему это может вызывать такие предупреждения.

Теория (Theory):

EISA (Extended Industry Standard Architecture) — это шина компьютера, которая была разработана в конце 1980-х годов в качестве расширения для ISA (Industry Standard Architecture). EISA позволяла более эффективное подключение и использование нескольких периферийных устройств, обеспечивала лучшую пропускную способность и служила конкурентом более поздним стандартам, таким как PCI (Peripheral Component Interconnect). Однако, с выходом PCI в 1993 году, EISA постепенно вышла из использования, так как PCI предлагала более высокую скорость и производительность.

Когда ваша система сообщает о невозможности выделения ресурсов для EISA, это указывает на то, что ядро операционной системы по-прежнему пытается инициализировать поддержку для EISA, несмотря на то, что в вашем оборудовании такие устройства, скорее всего, отсутствуют. Это может происходить из-за устаревших конфигураций ядра, заданных дистрибутивом вашей операционной системы. В вашем случае, Ubuntu 21.04, вероятно, по умолчанию включает поддержку EISA на уровне ядра.

Пример (Example):

Ваши системные журналы показывают ошибки, так как система продолжает пытаться выделить ресурсы для несуществующих EISA-слотов (от 1 до 8). Это можно объяснить тем, что конфигурация вашего ядра установлена таким образом, что поддержка EISA не отключена. Ваша версия Ubuntu, судя по предоставленной информации, настроила все опции конфигурации EISA в ядре на "y", что означает, что они всегда активны.

Применение (Application):

Существует несколько подходов к решению этой проблемы, и их выбор зависит от ваших требований и уровня комфорта работы с системными настройками:

  1. Изменение параметров загрузки ядра:

    Один из способов устранить эти ошибки — временно отключить обнаружение EISA-устройств, если они вам не нужны. Это можно сделать, добавив eisa_bus.disable_dev=1,2,3,4,5,6,7,8 в командную строку загрузки ядра. Для этого выполните следующие шаги:

    • Откройте файл /etc/default/grub с правами администратора.

    • Найдите параметр GRUB_CMDLINE_LINUX_DEFAULT и добавьте eisa_bus.disable_dev=1,2,3,4,5,6,7,8 к существующим параметрам.

    • Сохраните изменения и выполните команду, чтобы обновить конфигурацию GRUB:

      sudo grub-mkconfig -o /boot/grub/grub.cfg
    • Перезагрузите систему.

  2. Компиляция пользовательского ядра:

    Если изменения в параметрах загрузки не решают проблему или возникают ошибки, можно скомпилировать ядро с отключенной поддержкой EISA. Это более сложный процесс и требует понимания сборки ядра. Краткая инструкция по компиляции ядра:

    • Получите исходный код ядра, которое вы используете.
    • Настройте конфигурацию с помощью make menuconfig или аналогичного инструмента, сняв флажки с параметров EISA (CONFIG_EISA и связанных с ним).
    • Скомпилируйте и установите новое ядро.

Этот процесс требует больше времени и усилий, но может быть полезным, если вы хотите настраивать ядро под свои конкретные нужды.

  1. Ожидание решения со стороны разработчиков:

    Так как проблема известна и зарегистрирована в базе ошибок Ubuntu, можно следить за ходом её решения разработчиками. В будущем может быть выпущено обновление, которое устранит эту проблему более простым способом, обновив конфигурацию ядра без необходимости сторонних корректировок.

Надеюсь, эти рекомендации помогут вам разобраться с проблемой и выбрать оптимальное решение. Поддержание системы в рабочем состоянии и оптимизация конфигурации — ключ к стабильной и безопасной работе вашей IT-инфраструктуры.

Оцените материал
Добавить комментарий

Капча загружается...