Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
--== end cut ==--
После успешного завершения работы cvsup в каталоге /usr/src нашего компьютера находятся исходные тексты, соответствующие текущему содержанию CVS-репозитория ветки STABLE четвертого релиза FreeBSD.
Теперь переходим к компиляции.
Сначала просмотрим файл, настройки которого влияют на конфигурацию и производительность получаемой в результате системы – /etc/make.conf (или /etc/defaults/make.conf). В нем вы можете задать параметры оптимизации для компилятора, указать, компилировать ли профилировочные версии библиотек, sendmail, поставляемый с системой, perl, а также некоторые другие опции. Интересное замечание насчет параметров оптимизации: FreeBSD Handbook [1] рекомендует выставлять флаг оптимизации «-O», но ничто не мешает вам выставить, к примеру «-O3 -march=i686», хотя, конечно, это скажется на времени компиляции. Еще одно важное замечание: если вы производите апгрейд с версии FreeBSD 4.7-RELEASE или ниже на 4-STABLE, обязательно выставьте параметр 2COMPAT3X» файла /etc/make.conf в значение «yes», иначе при запуске программ, скомпилированных для FreeBSD 3.x (одной из таких программ является JDK 1.1.8, содержащийся в ports), вы увидите сообщение динамического редактора связей о ненайденном символе __stderrp в системных библиотеках.
Начнем с конфигурации ядра. Традиционно в 4.3BSD-based системах, к которым относится и FreeBSD, конфигурация ядра описывается в текстовом файле, который затем с помощью команды config преобразуется в h-файлы и Makefile, используемые непосредственно инструментами компиляции. Примеры файлов конфигурации находятся в каталоге /usr/src/sys/i386/conf и называются GENERIC и LINT. Для создания своей конфигурации скопируйте файл GENERIC в файл, к примеру:
MYCONF:
cd /usr/src/sys/i386/conf
cp GENERIC MYCONF
и приступайте к его редактированию. Значения опций довольно подробно описаны в файле LINT, и я не буду повторно описывать их здесь. Естественно, вы должны отчетливо представлять себе аппаратную конфигурацию вашей машины. И еще один совет: на первых порах случается всякое, поэтому лучше вносить серьезные изменения в конфигурацию ядра той же версии, под которой в данный момент работает ваш компьютер, то есть до обновления исходников через cvsup. Такой подход имеет два преимущества:
n исключается полная перекомпиляция системы (то есть make buildworld не выполняется – только make buildkernel, так как установленная система той же версии, что и собираемое ядро), что значительно уменьшает время итерации;
n больше возможности сохранить работоспособность системы при загрузке со старым ядром в случае неработоспособности вновь собранного из-за того же самого соответствия версии системы версии ядра.
После завершения редактирования перейдите в каталог /usr/src и дайте команду сборки системы: cd /usr/src make buildworld. Время выполнения этой команды зависит от заданных ранее опций компиляции и может составить от часа до нескольких часов. Если вы компилируете на многопроцессорной машине, имеет смысл выполнять make с ключом -j<n+2>, где n – количество процессоров: