Список всех устройств системы
В моем понимании 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.