Genkernel/ru

- это утилита созданная Gentoo, которая используется для автоматизации процесса сборки ядра и initramfs. Некоторые основные функции:


 * конфигурация исходного кода ядра
 * сборка сжатого ядра и его копирование в
 * создание initramfs и копирование его в
 * создание символьных ссылок в
 * добавление настроенного вручную содержимого в initramfs. Например файлов связанных с шифрованием, splash images, дополнительных модулей и так далее.
 * сжатие initramfs
 * конфигурация загрузчика для загрузки нового ядра и initramfs.

Emerge
Запустите установку genkernel.

Использование
Основная форма вызова команды genkernel выглядит следующим образом:

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

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


 * Points to the Genkernel configuration file to use (defaults to ).
 * Points to the Genkernel configuration file to use (defaults to ).


 * Activates (or deactivates) the command (which invokes an interactive configuration menu) before building the kernel.
 * Activates (or deactivates) the command (which invokes an interactive configuration menu) before building the kernel.


 * Provides a kernel configuration utility which depends on the GTK+ libraries. The advantage of this option is that most users find it easier and clearer to configure the kernel using this tool, since it relies on the X-windowing system. The disadvantage of this option is that the X-windowing system is required to use it, so it will not work on the command line.
 * Provides a kernel configuration utility which depends on the GTK+ libraries. The advantage of this option is that most users find it easier and clearer to configure the kernel using this tool, since it relies on the X-windowing system. The disadvantage of this option is that the X-windowing system is required to use it, so it will not work on the command line.


 * Provides a kernel configuration utility which depends on the QT libraries. The advantage of this option is that most users find it easier and clearer to configure the kernel using this tool, since it relies on the X-windowing system. The disadvantage of this option is that the X-windowing system is needed to use it, so it will not work on the command line.
 * Provides a kernel configuration utility which depends on the QT libraries. The advantage of this option is that most users find it easier and clearer to configure the kernel using this tool, since it relies on the X-windowing system. The disadvantage of this option is that the X-windowing system is needed to use it, so it will not work on the command line.


 * Saves [or does not save] the kernel configuration to a file in the directory for later use.
 * Saves [or does not save] the kernel configuration to a file in the directory for later use.


 * Allows the modification of the name of the kernel and initrd images in the directory, so that the images produced are  and.
 * Allows the modification of the name of the kernel and initrd images in the directory, so that the images produced are  and.

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


 * Activates (or deactivates) support for Fbsplash framebuffer splash in the genkernel-built initrd image. To override the default theme used by fbsplash, use  (where   is the title of one of the directories inside the  directory).
 * Activates (or deactivates) support for Fbsplash framebuffer splash in the genkernel-built initrd image. To override the default theme used by fbsplash, use  (where   is the title of one of the directories inside the  directory).


 * This option allows to select which splash screen resolutions will be supported in the initrd during the start-up of the system. This is useful for two reasons. First, to be able to select only the splash screen resolution(s) relevant to the system. Second, to avoid the unnecessary increase in the disk space required by initrd (since the initrd does not have to support resolutions that are irrelevant for the system's configuration.) However, the option is best omitted if the kernel is being compiled for an Installation CD; this allows splash support for all possible resolutions.
 * This option allows to select which splash screen resolutions will be supported in the initrd during the start-up of the system. This is useful for two reasons. First, to be able to select only the splash screen resolution(s) relevant to the system. Second, to avoid the unnecessary increase in the disk space required by initrd (since the initrd does not have to support resolutions that are irrelevant for the system's configuration.) However, the option is best omitted if the kernel is being compiled for an Installation CD; this allows splash support for all possible resolutions.


 * Force keymap selection during the boot sequence.
 * Force keymap selection during the boot sequence.


 * Includes support for storage using via Logical Volume Management (LVM2) from static binaries, if available to the system. Relevant (static) LVM2 binaries are compiled if they are unavailable. Be sure to install the package on the system  before enabling this option, then review the LVM article on the Gentoo wiki.
 * Includes support for storage using via Logical Volume Management (LVM2) from static binaries, if available to the system. Relevant (static) LVM2 binaries are compiled if they are unavailable. Be sure to install the package on the system  before enabling this option, then review the LVM article on the Gentoo wiki.


 * Includes support for DMRAID; the utility which creates RAID mappings using the kernel device-mapper subsystem. DMRAID discovers, activates, deactivates and displays properties of software RAID sets (ATARAID, for example) and contained DOS partitions.
 * Includes support for DMRAID; the utility which creates RAID mappings using the kernel device-mapper subsystem. DMRAID discovers, activates, deactivates and displays properties of software RAID sets (ATARAID, for example) and contained DOS partitions.


 * Includes support for Linux Unified Key Setup or LUKS. This will allow to use a device encrypted by LUKS which contains the root filesystem. On the bootloader, set that encrypted device as the value of  (and   shall be the unencrypted device LUKS creates).
 * Includes support for Linux Unified Key Setup or LUKS. This will allow to use a device encrypted by LUKS which contains the root filesystem. On the bootloader, set that encrypted device as the value of  (and   shall be the unencrypted device LUKS creates).


 * Adds support for disk label and UUID support to the initrd.
 * Adds support for disk label and UUID support to the initrd.


 * Adds support for iSCSI to the initrd.
 * Adds support for iSCSI to the initrd.


 * Adds support for Multipath to the initrd.
 * Adds support for Multipath to the initrd.


 * Specifies a user-created linuxrc — a script that is initialized during the start-up stage of the kernel, prior to the actual boot process. A default linuxrc script can be found in the directory. This script allows booting into a small, modularized kernel; it tries to load the minimum amount of drivers that are needed (as modules) by the system.
 * Specifies a user-created linuxrc — a script that is initialized during the start-up stage of the kernel, prior to the actual boot process. A default linuxrc script can be found in the directory. This script allows booting into a small, modularized kernel; it tries to load the minimum amount of drivers that are needed (as modules) by the system.


 * Overrides the default cache location used while compiling the kernel.
 * Overrides the default cache location used while compiling the kernel.


 * Specifies the location of the temporary directory used by genkernel while compiling the kernel.
 * Specifies the location of the temporary directory used by genkernel while compiling the kernel.


 * Includes support for the Unification File System in the initrd image.
 * Includes support for the Unification File System in the initrd image.


 * Detects whether or not the directory needs to be mounted on a separate partition. It will check  script for instructions on how to mount the boot partition on a file system (if needed).
 * Detects whether or not the directory needs to be mounted on a separate partition. It will check  script for instructions on how to mount the boot partition on a file system (if needed).

Параметры, воздействующие на выбор инструментов, используемых для сборки
Следующие параметры поддерживаются genkernel и передаются соответствующим приложениям во время сборки ядра. Эти параметры воздействуют на инструменты компиляции, которые используются во время компиляции ядра, но на более низком уровне.


 * Specifies the compiler employed during the kernel compilation process.
 * Specifies the compiler employed during the kernel compilation process.


 * Specifies the linker employed during the kernel compilation process.
 * Specifies the linker employed during the kernel compilation process.


 * Specifies the assembler employed during the kernel compilation process.
 * Specifies the assembler employed during the kernel compilation process.


 * Specifies an alternative to the GNU make utility employed during the kernel compilation process.
 * Specifies an alternative to the GNU make utility employed during the kernel compilation process.


 * Specifies the compiler employed during the compilation of support utilities.
 * Specifies the compiler employed during the compilation of support utilities.


 * Specifies the linker employed during the compilation of support utilities.
 * Specifies the linker employed during the compilation of support utilities.


 * Specifies the assembler employed during the compilation of support utilities.
 * Specifies the assembler employed during the compilation of support utilities.


 * Specifies an alternative to the GNU make utility employed during the compilation of support utilities.
 * Specifies an alternative to the GNU make utility employed during the compilation of support utilities.


 * Specifies the number of concurrent threads that the make utility can implement while the kernel (and utilities) are being compiled. The variable  is a number to be freely chosen, although the most common values are obtained by adding one (1) to the number of cores used by the system, or just use the number of cores on the system. So, for a system with one core, most common option values are   or  ; a system with two cores most likely uses the   or   options, and so on. (A system with one processor that supports Hyper-Threading™ (HT) Technology can be assumed to have 2 cores, provided Symmetric Multi-Processing (SMP) support is enabled in the kernel.)
 * Specifies the number of concurrent threads that the make utility can implement while the kernel (and utilities) are being compiled. The variable  is a number to be freely chosen, although the most common values are obtained by adding one (1) to the number of cores used by the system, or just use the number of cores on the system. So, for a system with one core, most common option values are   or  ; a system with two cores most likely uses the   or   options, and so on. (A system with one processor that supports Hyper-Threading™ (HT) Technology can be assumed to have 2 cores, provided Symmetric Multi-Processing (SMP) support is enabled in the kernel.)

Параметры, воздействующие на процесс компиляции
Следующие параметры обычно имеют эффект во время самой компиляции:


 * Specifies an alternative kernel source location, rather than the default location.
 * Specifies an alternative kernel source location, rather than the default location.


 * Specifies what alternative kernel configuration will be used, rather than the default file.
 * Specifies what alternative kernel configuration will be used, rather than the default file.


 * Specifies a prefix to the directory where kernel modules will be installed (default path is the directory.)
 * Specifies a prefix to the directory where kernel modules will be installed (default path is the directory.)


 * Activates (or deactivates) the command before compiling the kernel. The  command removes all object files and dependencies from the kernel's source tree.
 * Activates (or deactivates) the command before compiling the kernel. The  command removes all object files and dependencies from the kernel's source tree.


 * Activates (or deactivates) the command before kernel compilation. Like the  command listed above,  removes all object files and dependencies from the kernel's source tree. However, any previous configuration files (in  or ) will also be purged from the kernel's source tree. If it is undesirable that the kernel's  file keeps disappearing, be sure to disable this option!
 * Activates (or deactivates) the command before kernel compilation. Like the  command listed above,  removes all object files and dependencies from the kernel's source tree. However, any previous configuration files (in  or ) will also be purged from the kernel's source tree. If it is undesirable that the kernel's  file keeps disappearing, be sure to disable this option!


 * Issues the command, which attempts to collect configuration information for the system's architecture from a generic script in . This is a non-interactive process; no user input is entertained. Also, if   is used in conjunction with , the latter option is negated, resulting in the activation of the   option.
 * Issues the command, which attempts to collect configuration information for the system's architecture from a generic script in . This is a non-interactive process; no user input is entertained. Also, if   is used in conjunction with , the latter option is negated, resulting in the activation of the   option.


 * Calls the specified arguments (, in this case) after the kernel and the relevant modules have been built, but before building the initrd image. This may be useful when installing external modules in the initrd image by emerging the relevant item(s) with the callback feature, and then redefining a genkernel module group.
 * Calls the specified arguments (, in this case) after the kernel and the relevant modules have been built, but before building the initrd image. This may be useful when installing external modules in the initrd image by emerging the relevant item(s) with the callback feature, and then redefining a genkernel module group.


 * Activates (or deactivates) the command, which installs the new kernel image, configuration file, initrd image and system map onto the boot partition. Any compiled modules will be installed as well. By default genkernel will attempt mount  if it is on a separate partition before running the install command.
 * Activates (or deactivates) the command, which installs the new kernel image, configuration file, initrd image and system map onto the boot partition. Any compiled modules will be installed as well. By default genkernel will attempt mount  if it is on a separate partition before running the install command.


 * Refrains from copying any modules to the genkernel-created initrd image. This option is an exception to the rule about the  prefix; omission of this prefix creates an invalid genkernel option.
 * Refrains from copying any modules to the genkernel-created initrd image. This option is an exception to the rule about the  prefix; omission of this prefix creates an invalid genkernel option.


 * Copies all available modules to the genkernel-created initrd image.
 * Copies all available modules to the genkernel-created initrd image.


 * Creates the initrd image, prior to the kernel image (this hack currently applies only to PPC Pegasos systems).
 * Creates the initrd image, prior to the kernel image (this hack currently applies only to PPC Pegasos systems).

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


 * Controls the level of verbosity for information provided by genkernel. The variable  is an integer between 0 and 5. The level '0' represents minimal output, while '5' provides as much information as possible about genkernel's activities during the kernel compilation process.
 * Controls the level of verbosity for information provided by genkernel. The variable  is an integer between 0 and 5. The level '0' represents minimal output, while '5' provides as much information as possible about genkernel's activities during the kernel compilation process.


 * Ignores the value set by the  option (above) and sends all debugging data produced by genkernel to the specified output file. Outputs to  by default.
 * Ignores the value set by the  option (above) and sends all debugging data produced by genkernel to the specified output file. Outputs to  by default.


 * Activates (or deactivates) colored output of debugging information (reported by genkernel) using escape sequences.
 * Activates (or deactivates) colored output of debugging information (reported by genkernel) using escape sequences.


 * Activates (or deactivates) the full post-run cleanup for debug purposes.
 * Activates (or deactivates) the full post-run cleanup for debug purposes.

Действия
Действие, переданное командной строке командой, сообщает genkernel действие для выполнения. Поддерживаются следующие действия:

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

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

Замещение  параметром   позволяет genkernel автоматически установить новое ядро в каталог, а затем создать символьные ссылки, если указан параметр. Использование параметра  позволяет genkernel монтировать раздел  автоматически, если это необходимо.

Выбор ядра
Первое, что надо сделать, это разрешить запуск в файле :

Управление файлами
При использовании genkernel, пользователь должен знать некоторые из аспектов, касающихся конфигурации ядра и управления файлами образа ядра, а также способ, с помощью которого исходный код ядра обрабатываются системой.

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

Каталог может выглядеть так:

Символьная ссылка может быть изменена разными способами.


 * Если установлен USE-флаг, то символьная ссылка  автоматически обновляется и будет указывать на только что установленный исходный код.


 * Если  USE-флаг не установлен, пользователь может изменить назначение для символьной ссылки используя команду, а затем.

genkernel всегда (исключительно) использует исходный код, на которые указывает символьная ссылка.

Файл конфигурации ядра
Если компиляция ядра уже запущена с активным исходным кодом ядра, в каталоге может находиться файл, который содержит конфигурацию ядра, которая применялась при создании последнего файла ядра bzimage. Этот файл может называться, например,, где  может быть заменено на архитектуру системы,   может быть заменено на версию  используемого исходного кода, а   на выпуск (release) исходного кода.

Это тот самый файл, который используется в качестве начальной конфигурации при запуске.

Если genkernel первый раз вызывается с данным исходным кодом ядра, или если предыдущий результат не был сохранен, этот файл заменяется на файл конфигурации по умолчанию, который находится в, где x86_64 заменяется на действительную архитектуру.

Сохранение конфигурации компилирования
Если активирован параметр genkernel, как из командной строки, так и из , конфигурация скомпилированного ядра сохраняется (под именем данным выше) в каталог. В то же время, конфигурация сохраняется в файл в каталоге, но этот файл не используется заново при следующем запуске команды.

Установка ядра и initramfs в каталог
Использование опции  при вызове genkernel, просит   установить образ ядра и initramfs в каталог. Для того, чтобы сделать это удобным образом, установите следующие параметры в файле :


 * Первый параметр говорит сам за себя.


 * Второй параметр сообщает genkernel, чтобы конфигурация скомпилированного ядра была сохранена в.


 * Последние два параметра сообщают genkernel, чтобы она автоматически обновила конфигурацию загрузчика grub. На практике, происходит следующее:
 * Если уже существует предыдущий образ ядра с таким же именем, он переименовывается путем добавления к его имени. Автоматически создается символьная ссылка, которая указывает на него.
 * Новое ядро занимает место ядра с тем же самым именем в каталоге . Если ядро скомпилировано в первый раз, автоматически создается символьная ссылка, которая указывает на новое ядро.

После запуска, каталог может выглядеть следующим образом:

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

Чтобы разрешить ядру и initrd, генерируемым genkernel, работать правильно, предоставьте необходимый минимум информации в файле конфигурации загрузчика:


 * Добавьте  к параметрам ядра, передаваемым образу ядра, где  указывает на root раздел (  - это номер раздела, если раздел сущестует).
 * Если используется splash screen, добавьте подходящую строку режима (mode line), такую как  в список параметров, передаваемых ядру и также добавьте   или , в зависимости от уровня вывода сообщений, требуемого в процессе загрузки.
 * Добавьте информацию initrd, как это требуется загрузчиком. Обратитесь к главе конфигурация загрузчика Gentoo Handbook, чтобы узнать как настроить поддержку initrd в загрузчике.

Ниже приведено то, как может выглядеть файл.

Сохранение рабочих файлов
Приложение genrkernel автоматически сохраняет новые изменения в файлах. Если требуется сохранить предыдущие изменения, то должны быть предприняты следующие меры.


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


 * Второй важной вещью необходимо сохранить уже загружаемые образы ядра и initramfs. Способ, которым это можно выполнить, зависит от контекста:
 * Если ранее скомпилированное ядро загружается, запуск переименует образ этого ядра (и, также, initramfs) в  и создаст новый . Это значит, что даже если новое ядро не загружается, пользователи всегда смогут загрузить предыдущее.
 * Если последнее скомпилированное ядро не загружается и исходные тексты не изменялись с того момента как пользователь скомпилировал загружаемое ядро, до запуска, сперва удалите образ нового ядра и уберите суффикс из последнего загружаемого ядра. Без этого, если заново скомпилированное ядро не загружается во второй раз, загружаемое ядро  будет удалено переименованием незагружаемого , приводя пользователя к незагружаемой системе. Используйте те же самые рассуждения для initramfs.

Использование предыдущей конфигурации ядра при изменении исходного кода ядра
Предыдущая конфигурация может использоваться через параметр MENUCONFIG в следующим образом:

С установочного диска
Утилита может собрать образ ядра и initrd, которые имеют поддержку сетевой загрузки, или netbooting. Если хоть немного повезет, пользователи смогут загрузить по сети какой-либо новый компьютер в среду, предоставляемую загрузочным CD.

Волшебство заключается в сценарии linuxrc утилиты genkernel: он попытается смонтировать загрузочный диск по сети используя NFS. Оттуда, сценарии инициализации загрузочного CD смогут получить контроль, как если бы CD присутствовал локально.

Сборка ядра и initramfs с поддержкой сетевой загрузки
Для разрешения поддержки загрузки по сети, включите следующие параметры при конфигурации ядра:

Во-первых, образ ядра должен включать драйверы для сетевых карт в системе (Network Interface Cards - NIC). Обычно, драйверы для таких устройств компилируются в качестве модулей. Однако, важно (для загрузки по сети), чтобы подобные драйверы были скомпилированы прямо в образ ядра, а не как модули.

Во-вторых, предполагается что включен параметр "IP: kernel level autoconfiguration", также как и "IP: DHCP support options". Это позволяет избежать лишних сложностей, так как IP-адрес и путь NFS к установочному CD могут быть сконфигурированы на DHCP-сервере. Определенно, это означает, что командная строка ядра будет оставаться постоянной для любой машины - что очень важно для etherbooting.

Эти параметры сообщают ядру, чтобы оно отправило DHCP-запрос при загрузке.

Кроме того, включите SquashFS, потому что большинство современных установочных дисков Gentoo требуют этого. Поддержка SquashFS не включается в основное дерево исходных текстов ядра. Чтобы включить SquashFS, примените необходимые патчи к основному исходному коду ядра или установите gentoo-sources.

Как только процесс компиляции завершен, создайте сжатый архив tar (tarball - tar.gz), который содержит модули ядра. Этот шаг требуется только если версия ядра не соответствует версии образа ядра на установочном CD.

Чтобы создать архив содержащий все модули:

В зависимости от механизма загрузки по сети, необходимо последовать одному из следующих шагов:

Для создания образа etherboot:

Для создания образа OpenBoot/SPARC64 TFTP:

Файл является образом ядра.

В завершение, скопируйте это ядро на TFTP сервер. Подробности являются архитектурно-зависимыми и выходят за рамки этого руководства. Пожалуйста, обратитесь к документации для платформы.

Настройка NFS
Для настройки общего ресурса NFS, который содержит установочный CD, используйте loop-устройство, чтобы примонтировать образ ISO и затем скопировать содержимое CD в общий ресурс NFS. В качестве приятного дополнения, сценарии initrd утилиты genkernel извлекут все файлы tar.gz, расположенные в каталоге. Все, что требуется здесь сделать, это скопировать архив в каталог.

Следующее предполагает что является экспортируемым общим сетевым ресурсом NFS:

Теперь, скопируйте файл в :

Настройка DHCP
Образы netboot запросят IP у DHCP-сервера в сети, а также опцию. Оба параметра могут быть указаны отдельно для каждого хоста с использованием идентификации машин на основе MAC-адреса:

Инструкции загрузки по сети
Напомним, что загрузка по сети является очень платформо-зависимой. Важной деталью является указать параметры  и   в командной строке ядра, так как это вызовет сетевой интерфейс и сообщит сценариям initrd о том, что необходимо примонтировать установочный CD через NFS. Здесь приведены несколько платформо-зависимых советов:

Для etherboot, вставьте etherboot-диск в привод и перезагрузитесь. Командная строка ядра была указана, когда собирался образ.

На Sparc64, нажмите + в командной строке загрузки и затем введите:

Для PXE, настройте pxelinux (часть пакета syslinux), затем создайте подобно тому как:

Введение
Если initramfs установлен с помощью genkernel, то присмотритесь к следующим параметрам загрузки которые могут (или должны) быть определены в конфигурации загрузчика. Наиболее общие добавлены в это руководство.

Загрузка LVM или программного RAID
Если система использует LVM или программный RAID, initramfs должен быть собран с использованием параметров  и. Не забудьте также включить поддержку во время процесса загрузки. Это можно сделать с помощью параметров dolvm и domdadm.

Загрузка в однопользовательском режиме
Если по какой-то причине загрузка завершается с ошибкой, все еще возможно восстановление системы с помощью загрузки в однопользовательском режиме. Это загрузит только действительно необходимые службы и затем перебросит пользователя в (root) оболочку восстановления.

compile failed: Kernel not found
Эта ошибка может произойти при попытке собрать ядро для одной архитектуры, но используется файл конфигурации ядра в котором определена другая архитектура. Это так же, как на машине с архитектурой пытаться собрать.

Это можно проверить с помощью загрузки с x86_64 LiveCD на железе способном работать в 64-битном режиме, однако установленная система является 32-битной. После того, как начнется процесс компиляции, будет пытаться автоматически определить архитектуру системы на основе текущего ядра. Если в настоящее время работает 64-бит ядро и нет никаких настроек меняющих это, то будет предполагать, что следует искать 64-битное ядро.

Предположим теперь, что файл ядра x64 отключен. Команда будет выполнена и полученный файл ядра будет размещен в соответствующей  директории. Когда переходит к установке (перемещению и переименованию) ядра, оно не может его найти, потому что ожидает 64-битное ядро.

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

Чтобы изменить архитектуру на постоянной основе, измените переменную ARCH_OVERRIDE в файле.

Смотрите также

 * Руководство по конфигурации ядра - Когда компиляция ядра делается вручную.
 * Dracut - Другой сборщик initramfs доступный в Gentoo.