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

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

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

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

4 ответа

Решение

lspci сделает свое дело, как сказали несколько других.

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам