Назад | Перейти на главную страницу

Список всех устройств системы

Насколько я понимаю, linux может перечислять только те устройства, которые он понимает, т.е. для которых установлены драйверы. Я думаю, что lspci - это команда для этого.

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

Я хотел бы знать эту информацию, чтобы иметь возможность перекомпилировать свое ядро ​​Linux до минимума и хотел бы избежать пробного подхода.

lspci -v покажет подключенные устройства, даже если нет соответствующего драйвера.

lspci сделает свое дело, как говорят некоторые другие.

Некоторые дополнительные пояснения:

Каждый современный шинный интерфейс (Vesa Local Bus, PCMCIA, CardBus, PCI, PCI-X, PCI-e, Thurderbolt, IDE, ATAPI, SATA, USB, Firewire, и это лишь некоторые из них, которые приходят на ум) определяет набор низкоуровневые команды проверки, чтобы ОС могла определить, какие устройства (если есть) присутствуют на этой шине.

Такие команды возвращают в ОС идентификатор устройства. Затем ОС сравнивает этот идентификатор с идентификаторами, которые драйверы «рекламируют» как идентификаторы, которые они считают способными обрабатывать.
Это необходимо, поскольку в противном случае ОС не могла бы определить, что находится в машине. Если ОС не может определить, что там есть, у нее нет способа сопоставить устройство с требуемым драйвером.

(Вышесказанное верно для любой современной ОС. Linux, Windows и OSX делают то же самое.)

Вернемся к Linux:
Драйверы ОС для этого являются частью основных драйверов для различных интерфейсных шин, которые должны присутствовать в ядре (или как загружаемый модуль).
Конечно: любой шинный интерфейс / драйверы устройств, необходимые для загрузки и загрузки корневой файловой системы, должны находиться в ядре во время загрузки. Все остальное может быть модулем, если вы хотите уменьшить размер ядра, или вообще опускаться, если такого оборудования в системе нет вообще.
Типичная первая ошибка - создание ВСЕХ модулей драйверов файловой системы. Вам понадобится хотя бы один из них, чтобы иметь возможность загружать корневую файловую систему.

Мне также нравится lshw в тех дистрибутивах, чтобы предложить это.

Много полезной информации о ваших процессорах, слотах памяти, слотах USB, дисках и многом другом.

Если вам нужна расширенная информация обо всем оборудовании, вы можете использовать dmidecode команда. Он выгружает содержимое таблицы DMI.