Сообщения на запуске системы


Во время загрузки FreeBSD выводит сообщения с указанием информации о подключенных аппаратных устройствах, версии операционной системы и сведений о запуске различных программ и служб. Эти  сообщения имеют большое значение при первой установке системы или во время поиска неисправностей. Сообщения этапа загрузки всегда  начинаются с одного и того же — с перечисления авторских прав, принадлежащих проекту FreeBSD и членам правления Калифорнийского университета:

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

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

Это сообщение идентифицирует одно из устройств в аппаратном  окружении. Таймер (timecounter), или аппаратные часы (hardware clock) — это специальное устройство; при том, что оно совершенно необходимо вашему компьютеру, оно практически недоступно конечному  пользователю. Время от времени вам будут встречаться сообщения о подобных аппаратных устройствах, которые непосредственно недоступны пользователю, но имеют жизненно важное значение для системы. Например, среди сообщений можно увидеть информацию о центральном процессоре:

Возможно, вы не в курсе, что простой процессор может иметь такое число характеристик? А теперь о причинах, по которым меня не волнует снижение производительности, обусловленное параметром WITNESS, о  котором упоминалось выше: в этом компьютере используется двухъядерный процессор (1), каждое ядро обладает достаточно высокой скоростью (2) и обладает множеством особенностей, важных для современных микропроцессоров (3), а также некоторыми дополнительными  особенностями, характерными для микропроцессоров компании AMD (4). То есть у меня имеется достаточный запас мощности* и немалый объем памяти.

Истинный объем памяти (real memory) (1) — это объем RAM  (оперативной памяти), физически установленной в компьютере, а доступный  объем памяти (avail memory) (2) — это объем RAM, свободной после загрузки ядра. В моем компьютере для реальной работы осталось доступно 992 Мбайта RAM (3), чего более чем достаточно для загрузки системы.

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

Это довольно типичная запись, которую выводит драйвер устройства. Данное устройство известно как ioapic. Ядро определило, что оно  имеет номер версии 0.3, и вывело дополнительную информацию о нем (2). Кроме того, были обнаружены два устройства этого типа, которые  получили порядковые номера 0 (1) и 1 (3). (Все драйверы устройств получают порядковые номера, начиная с нуля.) Вы можете получить дополнительную информацию об устройстве, обслуживаемом данным драйвером, прочитав страницу руководства к драйверу. Не для всех, но  почти для всех драйверов устройств имеются страницы руководства.

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

Довольно интересно, что в загрузочных сообщениях приводится информация о том, как взаимосвязаны различные компоненты вашего компьютера. Здесь мы видим, что система ACPI находится  непосредственно на материнской плате (1), а мост (bridge) PCI (2) подключен к acpi0 (3). Здесь также видно, что шина PCI (4) подключена к мосту PCI (5), а продолжив просмотр сообщений, вам удастся определить, какие устройства подключены к этой шине. Возможно, сейчас эта  информация даст вам не так много, но позднее, когда вам потребуется найти  источник проблем, она станет для вас весьма ценной.

Все это хорошо, но эта информация малопригодна для использования в настоящий момент. А есть ли что-нибудь, чем можно было бы  воспользоваться прямо сейчас?

В этой системе имеется устройство FireWire (1), и FreeBSD оказалась в состоянии идентифицировать и использовать его! Вот это  действительно полезная информация, по крайней мере для тех, у кого имеется оборудование FireWire. Система FreeBSD поддерживает работу  Ethernet через FireWire (2)? Это круто*!

Даже если у вас нет FireWire, есть вероятность, что у вас имеется  некоторое устройство для подключения к сети.

Эта запись сообщает, что сетевая карта была связана с сетевым  интерфейсом re0 (1), что она поддерживает скорость обмена до одного гигабита (2). Здесь также приводится дополнительная информация об адресах памяти, номере IRQ и шине PCI, к которой она подключена.

Для каждого устройства в компьютере выводится одна или более записей, напоминающие те, что были показаны выше. Все вместе они  довольно подробно описывают аппаратное окружение компьютера. Если выполнить загрузку в режиме подробного протоколирования, вы  получите еще больше подробностей — возможно, намного больше, чем вам хотелось бы.

Одно важное обстоятельство заключается в том, что ядро отображает в загрузочных сообщениях названия устройств для каждого  компонента аппаратного окружения. Эта информация важна для управления системой. У каждого аппаратного компонента имеется имя файла устройства, которое потребуется вам для его настройки. Например, ранее мы видели, что сетевой карте Ethernet было присвоено имя re0. Эта карта обслуживается драйвером re(4) и первый экземпляр этого драйвера имеет порядковый номер 0. Последующие сетевые карты аналогичного типа получат имена re1, re2 и т. д.

Большинство устройств, которые могут настраиваться и управляться, имеют соответствующие записи в каталоге /dev. Например, наша сетевая карта представлена файлом /dev/net/re0. Эти файлы называются файлами устройств и обеспечивают удобный способ обращения к  различным аппаратным компонентам. К большинству файлов устройств невозможно обратиться как к обычным файлам — вы не сможете  прочитать содержимое файла устройства с помощью команды cat(1) или скопировать в него содержимое другого файла. Однако имена файлов устройств можно передавать в качестве параметров командной строки специализированным программам. Например, жесткому диску,  который во время загрузки был обнаружен как ad4, соответствует файл устройства /dev/ad4. Когда вам потребуется смонтировать этот жесткий диск, вы можете использовать имя файла устройства и  гарантировать тем самым, что будет смонтировано именно это устройство.

DMESG.BOOT

Информация, которая выводится на этапе загрузки, может быть полезна, но к тому моменту, когда она вам понадобится, она, скорее всего, скроется за пределами экрана. По этой причине загрузочные сообщения сохраняются в файле /var/run/dmesg.boot. Это означает, что вы сможете увидеть сообщения ядра с информацией об аппаратном окружении даже через много месяцев после запуска системы.

Комментарии запрещены.