Пример конфигурации NanoBSD

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

# конфигурация для сборки сервера DNS на базе Soekris

О NANO_NAME=SoekrisDNS

NAN0_IMAG ES=2

© NAN0_KERNEL=S0EKRIS

© NAN0_DRIVE=ad1

NANO_PMAKE="make -j 3"

FlashDevice samsung 128

customize_cmd cust_comconsole

custom!ze_cmd cust_allow_ssh_root

customize_cmd cust_install_files

О CONF_INSTALL=’

WITHOUT_TOOLCHAIN=YES

C0NF_W0RLD=’

C0MC0NS0LE_SPEED=19200

N0_M0DULES=YES

WITHOUT_ACPI=YES

WITHOUT_ASSERT_DEBUG=YES

WITHOUT_ATM=YES

WITHOUT_AUDIT=YES

WITHOUT_AUTHPF=YES

© #WITHOUT_BIND=YES

WITH0UT_BLUET00TH=YES

WITHOUT_CALENDAR=YES

WITHOUT_CPP=YES

WITHOUT_CVS=YES

WITHOUT_CXX=YES

WITHOUT_DICT=YES

WITH0UT_DYNAMICR00T=YES

WITHOUT_EXAMPLES=YES

WITH0UT_F0RTH=YES

WITH0UT_F0RTRAN=YES

WITHOUT_GAMES=YES

WITH0UT_GC0V=YES

WITHOUT_GDB=YES

WITHOUT_GPIB=YES

WITH0UT_GR0FF=YES

WITHOUT_HTML=YES

WITH0UT_I4B=YES

WITH0UT_INET6=YES

WITH0UT_INF0=YES

WITHOUT_IPFILTER=YES

WITHOUT_IPX=YES

WITH0UT_KERBER0S=YES

WITHOUT_LIBPTHREAD=YES

WITHOUT_LIBTHR=YES

WITHOUT_LPR=YES

WITHOUT_MAILWRAPPER=YES

WITHOUT_MAN=YES

WITHOUT_NCP=YES

WITHOUT_NETCAT=YES

WITHO ut_nIS=YES

WITHOUT_NLS=YES

WITHOUT_NLS_CATALOGS=YES

WITHOUT_NS_CACHING=YES

WITHOUT_OBJC=YES

WITHOUT_PAM_SUPPORT=YES

WITHOUT_PF=YES

WITHOUT_PROFILE=YES

WITHOUT_RCMDS=YES

WITHOUT_RCS=YES

WITHOUT_RESCUE=YES

WITHOUT_SENDMAIL=YES

WITHOUT_SHAREDOCS=YES

WITHOUT_SPP=YES

WITHOUT_SYSCONS=YES

WITHOUT_USB=YES

#WITHOUT_WPA_SUPPLICANT_EAPOL=YES WITHOUT_ZFS=YES

Конфигурация начинается с определения уникального имени образа диска с помощью параметра NAN0_NAME О. Для этого устройства я выбрал нестандартную конфигурацию ядра ©. Где я взял эту конфигурацию? Я выполнил бездисковую загрузку устройства Soekris, получил файл /var/run/dmesg.boot для ядра GENERIC, затем поискал в Интернете другие конфигурации ядер для net4801, чтобы выяснить потенциально полезные параметры настройки, используемые другими людьми. Единственное неудобство, которое пришлось преодолеть при бездисковой загрузке, это отключение ACPI в загрузчике.

Благодаря бездисковой загрузке я узнал, что устройство net4801 видит flash-карту как привод /dev/adl ©. Если бы я не установил значение этого параметра в моем конфигурационном файле, во время загрузки NanoBSD сообщила бы, что ядро не может отыскать корневой раздел на /dev/adO.

Далее перечислены различные сценарии customize для настройки этого образа. О настройке мы поговорим ниже в этой главе. Все эти сценарии входят в набор инструментов NanoBSD по умолчанию, и я рекомендую использовать их при создании своего первого образа.

Далее следуют специальные параметры утилиты make(l), которые будут использованы в процессе установки. Мы рассмотрим эти параметры немного ниже, а пока вам достаточно знать, что параметр WITHOUT T00FCHAIN предписывает утилите make(l) не устанавливать компилятор, библиотеки и другие инструменты, необходимые для сборки программного обеспечения. Мы не предполагаем собирать программное обеспечение на встраиваемой системе!

Заметьте, как установлено значение параметра CONF INSTALL ©. Я поместил апостроф (‘) после знака равенства, значение параметра указано в отдельной строке и затем следует закрывающий апостроф (‘). Это позволяет наглядно отделять множественные значения параметра друг от друга и делает содержимое файла более удобочитаемым. Похожим образом определяется значение параметра CONF WORLD. NanoBSD предполагает, что каждая переменная будет указана в отдельной строке, так как из них будет создан скрытый файл make.conf.

Каждый из параметров в параметре CONF WORLD предписывает NanoBSD не собирать соответствующий ему раздел FreeBSD. Назначение большинства из них очевидно, например, WITHOUT ACPI предписывает не собирать ACPI. N0_M0DULES – не собирать модули ядра. Я не включаю в системы то, чего не хотел бы видеть в окончательном образе диска, например Sendmail, игры и фильтры пакетов.

Все эти параметры похоронены в недрах механизма сборки FreeBSD. Некоторым из них уже довольно много лет, другие совершенно новые. Некоторым из них суждено исчезнуть, и нет никакой гарантии, что какие-то из них останутся допустимы в будущих версиях. Список всех допустимых параметров сборки содержится в странице руководства src.conf установленной версии FreeBSD. Я включил в свой пример полный список параметров, чтобы вы видели, насколько агрессивно можно урезать возможности системы. Размеры FreeBSD существенно меньше размеров многих версий Linux, но это не означает, что ее нельзя сделать еще меньше! Однако некоторые параметры сборки, перечисленные в src.conf(5), не должны использоваться для NanoBSD. Например, WITHOUT_SETUID_LOGIN окажет отрицательное влияние на возможность входа в систему. Использование параметра WITHOUT SYMVER приведет к удалению символов контроля версий, что сделает невозможным использование в вашем образе NanoBSD двоичных файлов, скомпилированных на других машинах FreeBSD. Прежде чем использовать тот или иной параметр, обязательно внимательно изучите его влияние.

Следует также заметить, что вам, возможно, придется отключать некоторые из этих параметров сборки для каких-то образов NanoBSD. Я собираю сервер DNS, поэтому мне нужен сервер BIND, и я закомментировал элемент WITHOUT BIND © в своем конфигурационном файле для данной конкретной сборки.

В параметре CONF INSTALL я перечислил только те параметры, которые используются не в процессе сборки, а в процессе установки FreeBSD 7.0. Параметр WITH0UT_T00LCHAIN предписывает команде make installworld не устанавливать компилятор, заголовочные файлы и сопутствующие инструменты в образ диска. Нам потребуется новый компилятор для сборки новой версии FreeBSD, но он не нужен в окончательном образе. В процессе установки будет пропущено все, что мы исключили из сборки, но для запуска make buildworld необходима свежая версия компилятора.

Это полный конфигурационный файл NanoBSD. Теперь попробуем с его помощью собрать свой образ диска.

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий