Как настроить и перекомпилировать ваше ядро ​​на FreeBSD 10.1

Вступление

Операционная система FreeBSD по умолчанию использует ядро ​​+ GENERIC +. Это конфигурация по умолчанию, используемая для поддержки большого разнообразия аппаратных средств из коробки. Однако существует много разных причин для компиляции собственного ядра, которые включают безопасность, расширенные функциональные возможности или более высокую производительность.

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

В этом руководстве мы перекомпилируем ядро ​​FreeBSD с пользовательской конфигурацией.

Предпосылки

Чтобы следовать этому руководству, все, что вам нужно, это:

  • Одна капля FreeBSD 10.1.

Если вы новичок во FreeBSD, вы можете ознакомиться с серией руководств Getting Started with FreeBSD.

Шаг 1 - Получение исходного кода

На этом этапе мы будем извлекать исходный код ОС.

FreeBSD, как и многие другие разновидности UNIX, предоставляет исходный код своей операционной системы для публичной загрузки и модификации. Чтобы перекомпилировать ядро, сначала вам нужно извлечь этот исходный код из системы контроля версий FreeBSD.

Фонд FreeBSD использует Subversion для своих репозиториев кода, поэтому давайте сначала установим двоичный порт Subversion.

sudo pkg install subversion

Оболочкой по умолчанию для FreeBSD является tcsh, которая использует внутреннюю хеш-таблицу для команд в + $ PATH +. После установки Subversion вам следует перефразировать таблицы каталогов.

rehash

Наконец, проверьте копию последней стабильной ветки в каталоге + / usr / src +.

sudo svn co https://svn0.us-east.FreeBSD.org/base/stable/10 /usr/src

Вам может быть предложено принять сертификат сервера. Введите * p *, чтобы принять его, убедившись, что отпечаток совпадает с отпечатком внизу this page.

Шаг 2 - Создание вашей пользовательской конфигурации

На этом этапе мы настроим нашу новую конфигурацию ядра.

Стандартное соглашение об именах для файлов конфигурации ядра - это имя ядра во всех заглавных буквах. Конфигурация этого руководства будет называться + EXAMPLE +. Файлы конфигурации ядра находятся внутри каталога + / usr / src / sys // conf +; архитектура DigitalOcean - AMD64.

Перейдите в каталог конфигурации.

cd /usr/src/sys/amd64/conf

Создайте и откройте файл + EXAMPLE + для редактирования, используя ee или ваш любимый текстовый редактор.

sudo ee

Вы можете найти пример конфигурации, расположенный по адресу here. Скопируйте и вставьте содержимое в + EXAMPLE +, затем сохраните и закройте файл.

Этот пример конфигурации ядра предназначен для минимальной сборки ядра, специально предназначенной для дроплета DigitalOcean. В частности, в конфигурации ядра + GENERIC + включена поддержка большого количества различного оборудования; + EXAMPLE + удаляет все устаревшие и ненужные устройства, оставляя только необходимые драйверы устройств, необходимые для запуска Droplet. Также включена поддержка брандмауэра фильтра пакетов (pf), формирования трафика (altq), шифрования файловой системы (geom_eli) и IP-безопасности (IPsec).

Тем не менее, вы можете прочитать больше об опциях конфигурации в FreeBSD документации и поэкспериментировать самостоятельно. !

Шаг 3 - Сборка и установка вашего нового ядра

На этом этапе мы начнем перекомпиляцию ядра.

Вернитесь в каталог + / usr / src + и введите + make buildkernel +, используя ваш новый файл конфигурации.

cd /usr/src
sudo make buildkernel KERNCONF=

Это может занять некоторое время в зависимости от количества ресурсов, которые вы используете для своей капли. Среднее время на капле 1 Гб составляет около 90 минут.

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

sudo make installkernel KERNCONF=

Когда это завершится, перезагрузите систему.

sudo shutdown -r now

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

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

sysctl kern.conftxt | grep ident

Выход должен быть:

ident

Заключение

Поздравляем! Вы успешно перенастроили и перекомпилировали ядро.

Related