Как перечислить все аппаратные средства, поддерживаемые ядром

Ваш PATH прибывает из текстового файла (обычно ~/.bash_profile). Действительно нет способа отредактировать его, не изменяя Ваш профиль за исключением надевания чего-то как

echo 'PATH=$PATH:/usr/local/cuda/bin' >> ~/.bash_profile
4
10.02.2013, 21:24
3 ответа

То, что я хочу, является чем-то, что проверяет все аппаратные средства, на самом деле поддерживаемые ядром, используемым, не учитывая, использую ли я те аппаратные средства или нет.

Если Вы имеете .config файл ядро, был создан с, можно загрузить источник и работать make menuconfig, который даст Вам общее представление о A) какие аппаратные средства возможно настроить ядро для (но видеть ПРИМЕЧАНИЕ) и B) для чего на самом деле настроены аппаратные средства Ваше ядро.

make menuconfig

Таким образом сделать это:

  1. Загрузите источник. Ваш дистрибутив может иметь пакет, или можно получить их из kernel.org; найдите свою версию с uname -r.
  2. Найдите .config используемый для Вашего ядра. Если Вы получили источник через свой дистрибутив, он будет, надо надеяться, включен; можно также смочь найти его где-нибудь в начальной загрузке/. Еще лучше: часто теперь ядра дистрибутива создаются с /proc/config.gz функция. Если это существует, скопируйте это, ungzip это, переименуйте файл .config и скопируйте его на верхний уровень исходного дерева ядра.
  3. Выполненный make menuconfig из верхнего уровня исходного дерева. Вам будет нужен ncurses установленный пакет разработки (ncurses-dev или ncurses-devel) и необходимо быть корнем.

Вы ничего не можете сделать плохо при использовании menuconfig вне изменения содержание .config файл, который не будет иметь значения (просто не путают себя с ним позже).

Примечание: Вы не можете на самом деле видеть все возможные аппаратные конфигурации одновременно, так как различные варианты могут появиться в одном месте на основе того, что было выбрано некоторое другое место. Конфигурация ядра является чем-то вроде лабиринта. Однако Вы будете определенно видеть все, что на самом деле выбрано (M средства это - модуль, * средства это встроено).

2
27.01.2020, 20:51
  • 1
    за этот ответ, это уверенный ясный некоторый материал я имел в виду. –  Luis Alvarado 10.02.2013, 19:36

Можно звонить modinfo для всех доступных модулей. Это печатает псевдонимы модуля. Один псевдоним модуля e1000e этот (среди намного больше):

pci:v00008086d00001559sv*sd*bc*sc*i*

Это означает, что должно быть загружено для PCI устройства с идентификатором 8086 поставщика и идентификатором 1559 устройства. Шаблон для USB-устройств выглядит подобным.

3
27.01.2020, 20:51

Я не верю тому, что Вы ищете, возможно; при принятии модульного ядра, например, много модулей не инициализируют себя, если они не могут на самом деле найти аппаратные средства, они поддерживают. Таким образом, они бесшумно прервутся.

Парсинг источников ядра, автоматически, для поиска аппаратных названий/версий/номеров моделей был бы огромным обязательством. Хотя существуют общие подсистемы (например, последовательный, scsi, usb), кодекс является не обязательно единым. Это станет очевидным для Вас довольно быстро.

2
27.01.2020, 20:51
  • 1
    Затем существует проблема определения "всех аппаратных средств", существует много виджетов, которые выглядят очень отличающимися (другой делать, модель), но являются (по существу) той же внутренней частью и другими, которые имеют (почти) тот же номер модели, в то время как их внутренности полностью отличаются. И это произошло со мной, что абсолютно неизвестный материал работал из поля, или после поиска с помощью Google вокруг немного и добавление идентификатора USB. –  vonbrand 10.02.2013, 03:49

Теги

Похожие вопросы