Как собрать и установить собственное ядро ​​на FreeBSD 11

По умолчанию операционная система FreeBSD использует GENERICядро; Однако, в этом руководстве мы будем перекомпилировать ядро FreeBSD с пользовательской конфигурацией , известной как: CUSTOM.

Предпосылки

1) Чтобы следовать этому руководству, разверните следующий экземпляр:

2) После развертывания вашего экземпляра установите sudoот имени пользователя root:

# pkg install -y sudo

3) Создайте локального пользователя в качестве члена группы wheel, а затем введите пароль:

# pw useradd test -g wheel
# passwd test
Changing local password for test
New Password:
Retype New Password:

4) Разрешить всем членам группы колес выполнять любую команду

# visudo

Изменить:

# %wheel ALL=(ALL) ALL

к

%wheel ALL=(ALL) ALL

Сохраните и выйдите, нажав Escклавишу, а затем набрав:wq!

5) Перейдите в оболочку нового пользователя

# su test
$

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

Чтобы перекомпилировать ядро, мы должны сначала получить исходный код из системы контроля версий FreeBSD; в таком случае,subversion

$ sudo pkg install -y subversion
Password:

По умолчанию оболочкой для новых пользователей FreeBSD является sh; Тем не менее, нам нужно будет изменить это cshпосле установкиsubversion

1) Подтвердите текущую пользовательскую оболочку:

$ echo $SHELL
/bin/sh

2) Измените оболочку текущего пользователя на csh:

$ chsh -s /bin/csh
Password:
chsh: user information updated

3) Убедитесь, что оболочка была изменена для текущего пользователя:

$ grep test /etc/passwd
test:*:1001:0:User &:/home/test:/bin/csh

ИЛИ ЖЕ

$ echo $SHELL
/bin/csh

4) Теперь, когда оболочка текущего пользователя настроена как csh, мы можем теперь rehashкаталожные таблицы:

$ rehash

5) И наконец, проверьте копию последней стабильной ветки в /usr/srcкаталоге:

$ sudo svn co --trust-server-cert --non-interactive https://svn0.us-east.freebsd.org/base/stable/11/ /usr/src
Password:
Checked out revision 317943.

2. Создание CUSTOMконфигурации

Для нашей CUSTOMконфигурации ядра мы собираемся скопировать существующую GENERICконфигурацию.

1) Копировать GENERICиз /usr/src/sys/amd64/conf/каталога как CUSTOM:

$ sudo cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/CUSTOM
Password:

В нашей CUSTOMконфигурации ядра мы собираемся внести некоторые изменения.

2) Открыть /usr/src/sys/amd64/conf/CUSTOM:

$ sudo vi /usr/src/sys/amd64/conf/CUSTOM

В строке 22 вы увидите identфлаг, номера строк можно увидеть в viредакторе, нажав Escклавишу, а затем набрав:set nu

22 ident GENERIC

3) Измените GENERICимя вашего кастомного ядра; в этом случае CUSTOM:

22 ident CUSTOM

Кроме того, в нижней части конфигурации мы добавим следующее:

options IPSEC
options TCP_SIGNATURE

Как только вы будете удовлетворены изменениями, сохраните и выйдите снова, нажав Escклавишу, а затем набрав:wq!

Дополнительная информация для этих различных параметров может быть найдена в NOTESфайле для каждого типа архитектуры в /usr/src/sys/каталоге.

Ниже приведены несколько общих архитектурных NOTESрасположений:

  • /usr/src/sys/amd64/conf/NOTES
  • /usr/src/sys/arm64/conf/NOTES
  • /usr/src/sys/i386/conf/NOTES

На независимые от архитектуры параметры можно ссылаться из /usr/src/sys/conf/NOTES

Для получения более подробной информации, пожалуйста, смотрите Руководство FreeBSD .

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

Теперь мы скомпилируем CUSTOMподготовленное вами ядро.

1) Перейдите в /usr/srcкаталог и выдает make buildkernelс CUSTOMфайлом конфигурации:

$ cd /usr/src
$ sudo make buildkernel KERNCONF=CUSTOM
Password:

Предполагаемое время до завершения будет зависеть от объема ресурсов вашего экземпляра.

Для этого урока мы использовали следующее:

CPU:        4 vCore
RAM:        8192 MB
Storage:    100 GB SSD

С этими ресурсами мы завершили сборку нашего CUSTOMядра за ~ 4 часа:

--------------------------------------------------------------------
>>> Kernel build for CUSTOM completed on Sat May 6 00:24:37 UTC 2017
--------------------------------------------------------------------

2) Как только ваше CUSTOMядро завершит компиляцию, вы можете установить конфигурацию:

$ sudo make installkernel KERNCONF=CUSTOM
Password:

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

3) После завершения установки перезагрузите ваш экземпляр:

$ sudo shutdown -r now
Password:

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

4) Как только ваш экземпляр перезагрузится, войдите в систему и убедитесь, что ваше CUSTOMядро используется:

$ sysctl kern.conftxt | grep ident
ident CUSTOM

ИЛИ ЖЕ

$ uname -i
CUSTOM



Leave a Comment

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

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

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше