--- authors: description: 'Сборка и установка ядра FreeBSD' next: books/developers-handbook/kerneldebug params: path: /books/developers-handbook/kernelbuild/ prev: books/developers-handbook/partiii showBookMenu: true tags: ["building", "installing", "kernel", "FreeBSD"] title: 'Глава 9. Сборка и установка ядра FreeBSD' weight: 12 --- [[kernelbuild]] = Сборка и установка ядра FreeBSD :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :sectnumoffset: 9 :partnums: :source-highlighter: rouge :experimental: :images-path: books/developers-handbook/ ifdef::env-beastie[] ifdef::backend-html5[] :imagesdir: ../../../../images/{images-path} endif::[] ifndef::book[] include::shared/authors.adoc[] include::shared/mirrors.adoc[] include::shared/releases.adoc[] include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] include::shared/{{% lang %}}/urls.adoc[] toc::[] endif::[] ifdef::backend-pdf,backend-epub3[] include::../../../../../shared/asciidoctor.adoc[] endif::[] endif::[] ifndef::env-beastie[] toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] Чтобы быть разработчиком ядра, требуется понимания процесса сборки ядра. Для отладки ядра FreeBSD необходимо уметь его собирать. Существует два известных способа сделать это: Поддерживаемая процедура сборки и установки ядра описана в главе extref:{handbook}kernelconfig/[Сборка и установка пользовательского ядра, kernelconfig-building] Руководства FreeBSD. [NOTE] ==== Предполагается, что читатель этой главы знаком с информацией, изложенной в главе extref:{handbook}kernelconfig/[Сборка и установка пользовательского ядра, kernelconfig-building] Руководства FreeBSD. Если это не так, пожалуйста, ознакомьтесь с упомянутой главой, чтобы понять, как работает процесс сборки. ==== [[kernelbuild-traditional]] == Построение более быстрым, но менее надежным способом Сборка ядра таким способом может быть полезной при работе с кодом ядра и может оказаться быстрее, чем описанная процедура, если в конфигурационном файле ядра были изменены только одна или две опции. С другой стороны, это может привести к неожиданным сбоям при сборке ядра. [.procedure] . Выполните man:config[8] для генерации исходного кода ядра: + [source, bash] .... # /usr/sbin/config MYKERNEL .... . Перейдите в каталог сборки. man:config[8] выведет имя этого каталога после выполнения, как указано выше. + [source, bash] .... # cd ../compile/MYKERNEL .... . Скомпилируйте ядро: + [source, bash] .... # make depend # make .... . Установите новое ядро: + [source, bash] .... # make install ....