Определение аппаратного обеспечения



Перед тем, как углубиться в конфигурирование ядра, было бы разумно составить перечень установленного в компьютер аппаратного обеспечения. Если FreeBSD не является основной операционной системой, то перечень оборудования может быть легко составлен на основании анализа конфигурации текущей операционной системы. Например, Диспетчер устройств (Device Manager) от Microsoft обычно содержит необходимую информацию об установленных устройствах. Диспетчер устройств находится на панели управления (control panel).

Замечание: У некоторых версий Microsoft Windows есть значок Система (System), вызов которого отобразит экран, содержащий среди прочих и Диспетчер устройств.

Если других операционных систем на машине не установлено, системному администратору придется искать эту информацию самостоятельно. Один из методов подразумевает использование утилиты dmesg(8) и команды man(1). У большинства драйверов во FreeBSD есть страницы справочника, содержащие список поддерживаемого оборудования, а найденные во время начальной загрузки устройства будут перечислены в dmesg(8). К примеру, следующие строки информируют о том, что драйвер psm обнаружил мышь:

psm0: <PS/2 Mouse> irq 12 on atkbdc0

psm0: [GIANT-LOCKED]

psm0: [ITHREAD]

psm0: model Generic PS/2 mouse, device ID 0

Этот драйвер необходимо будет включить в конфигурацию собственного ядра или загрузить посредством loader.conf(5).

В некоторых случаях dmesg отображает только системные сообщения вместо сообщений начальной загрузки. В таких случаях необходимо обращаться к файлу /var/run/dmesg.boot.

Еще один метод нахождения аппаратного обеспечения подразумевает использование достаточно информативной утилиты pciconf(8). Например:

ath0@pci0:3:0:0:   class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00

vendor = 'Atheros Communications Inc.'

device = 'AR5212 Atheros AR5212 802.11abg wireless'

class = network

subclass = ethernet

Эта часть вывода, полученная в результате запуска команды pciconf -lv, показывает, что драйвер ath обнаружил беспроводное Ethernet устройство. Набрав man ath, вы получите страницу справочника ath(4).

Также, для извлечения необходимой информации, можно воспользоваться ключом -k к команде man(1). В вышеприведенном случае можно набрать:

# man -k Atheros

чтобы получить страницы справочника, содержащие определенное слово:

ath(4)              - Atheros IEEE 802.11 wireless network driver

ath_hal(4)          - Atheros Hardware Access Layer (HAL)

Теперь, имея в распоряжении перечень аппаратного оборудования, можно безбоязненно приступить к сборке специализированного ядра.

Драйвера, подсистемы и модули ядра

Перед построением специализированного ядра, обдумайте причины, побудившие вас к этому. Если требуется поддержка специального оборудования, то она наверняка уже реализована в виде модуля.

Модули ядра находятся в каталоге /boot/kernel, и они могут быть динамически включены в работающее ядро при помощи kldload(8). Если не все, то большинство драйверов существуют в виде модулей, и у них есть соответствующая страница справочника. К примеру, в предыдущем разделе упоминался драйвер ath беспроводного Ethernet устройства. Соответствующая ему страница справочника гласит:

Alternatively, to load the driver as a module at boot time, place the

following line in loader.conf(5):

 

if_ath_load="YES"

Как уже выше сказано, добавление строки if_ath_load="YES" в файл /boot/loader.conf позволит динамически загружать этот модуль во время загрузки системы.

В некоторых случаях, однако, интересующего вас модуля не существует. Чаще всего это справедливо для определенных подсистем и очень важных драйверов. Например, поддержка файловой системы FreeBSD (FFS) является обязательной опцией в ядре. Как и поддержка сети (INET). К сожалению, единственный способ определить является ли драйвер обязательным — это проверить наличие соответствующего модуля.

Внимание: Довольно легко удалить встроенную поддержку устройства или опцию, получив тем самым неработоспособное ядро. Например, если драйвер ata(4) изъят из конфигурации ядра, то система, использующая диски ATA, может не загрузиться без записи, добавленной в loader.conf. Если есть сомнения, проверьте модуль, и только потом оставьте поддержку в ядре.


Дата добавления: 2018-10-26; просмотров: 164; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!