Ваш PATH
прибывает из текстового файла (обычно ~/.bash_profile
). Действительно нет способа отредактировать его, не изменяя Ваш профиль за исключением надевания чего-то как
echo 'PATH=$PATH:/usr/local/cuda/bin' >> ~/.bash_profile
То, что я хочу, является чем-то, что проверяет все аппаратные средства, на самом деле поддерживаемые ядром, используемым, не учитывая, использую ли я те аппаратные средства или нет.
Если Вы имеете .config
файл ядро, был создан с, можно загрузить источник и работать make menuconfig
, который даст Вам общее представление о A) какие аппаратные средства возможно настроить ядро для (но видеть ПРИМЕЧАНИЕ) и B) для чего на самом деле настроены аппаратные средства Ваше ядро.
Таким образом сделать это:
uname -r
..config
используемый для Вашего ядра. Если Вы получили источник через свой дистрибутив, он будет, надо надеяться, включен; можно также смочь найти его где-нибудь в начальной загрузке/. Еще лучше: часто теперь ядра дистрибутива создаются с /proc/config.gz
функция. Если это существует, скопируйте это, ungzip это, переименуйте файл .config
и скопируйте его на верхний уровень исходного дерева ядра.make menuconfig
из верхнего уровня исходного дерева. Вам будет нужен ncurses установленный пакет разработки (ncurses-dev
или ncurses-devel
) и необходимо быть корнем.Вы ничего не можете сделать плохо при использовании menuconfig вне изменения содержание .config
файл, который не будет иметь значения (просто не путают себя с ним позже).
Примечание: Вы не можете на самом деле видеть все возможные аппаратные конфигурации одновременно, так как различные варианты могут появиться в одном месте на основе того, что было выбрано некоторое другое место. Конфигурация ядра является чем-то вроде лабиринта. Однако Вы будете определенно видеть все, что на самом деле выбрано (M
средства это - модуль, *
средства это встроено).
Можно звонить modinfo
для всех доступных модулей. Это печатает псевдонимы модуля. Один псевдоним модуля e1000e
этот (среди намного больше):
pci:v00008086d00001559sv*sd*bc*sc*i*
Это означает, что должно быть загружено для PCI устройства с идентификатором 8086 поставщика и идентификатором 1559 устройства. Шаблон для USB-устройств выглядит подобным.
Я не верю тому, что Вы ищете, возможно; при принятии модульного ядра, например, много модулей не инициализируют себя, если они не могут на самом деле найти аппаратные средства, они поддерживают. Таким образом, они бесшумно прервутся.
Парсинг источников ядра, автоматически, для поиска аппаратных названий/версий/номеров моделей был бы огромным обязательством. Хотя существуют общие подсистемы (например, последовательный, scsi, usb), кодекс является не обязательно единым. Это станет очевидным для Вас довольно быстро.