Handbook:Parts/Installation/Kernel/ru

Установка исходного кода
Все дистрибутивы строятся вокруг ядра Linux. Ядро является прослойкой между пользовательским программным обеспечением и физическим оборудованием. Gentoo предоставляет несколько вариантов исходного кода ядра. Полный список с описанием доступен в статье общие сведения о ядре.

Для систем, основанных на архитектуре, рекомендуется пакет.

Выберем подходящий исходный код ядра и установим с помощью :

Данная команда установит исходный код ядра Linux в, в котором символьная ссылка будет указывать на установленную версию:

Теперь следует настроить и собрать ядро. Здесь существует два основных подхода:


 * 1) Ядро настраивается и собирается вручную.
 * 2) Утилита  собирает и устанавливает его автоматически.

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

Введение
Согласно расхожему мнению, настройка ядра- наиболее сложная процедура, с которой сталкивается пользователь Линукса. Это сильное преувеличение и собрав пару-тройку ядер никто и не вспомнит, что это было сложно.

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

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

Остаётся перейти в директорию с ядром и выполнить. Нас поприветствует экран конфигурации.

В конфигурации ядра Linux есть много-много секций. Сначала пройдёмся по опциям, которые должны быть включены (иначе Gentoo будет работать неправильно или же вовсе не запустится). Для более глубокого ознакомления стоит посетить гайд по настройке ядра Gentoo.

Включаем обязательные опции
Make sure that every driver that is vital to the booting of the system (such as SCSI controller, etc.) is compiled in the kernel and not as a module, otherwise the system will not be able to boot completely.

Следует выбрать тип процессора, а так же рекомендуется включить опции MCE, чтобы получать информацию о проблемах с "железом". На некоторых архитектурах (например, x86_64) подобные ошибки выводятся не в, а. Так что понадобится пакет.

Активируйте опцию Maintain a devtmpfs file system to mount at /dev, тогда критичные для устройств файлы будут подгружаться как можно раньше ( CONFIG_DEVTMPFS и CONFIG_DEVTMPFS_MOUNT ):

Verify SCSI disk support has been activated ( CONFIG_BLK_DEV_SD ):

Now go to File Systems and select support for the filesystems you use. Don't compile the file system that is used for the root filesystem as module, otherwise the Gentoo system will not be able to mount the partition. Also select Virtual memory and /proc file system. Select one or more of the following options as needed by the system ( CONFIG_EXT2_FS, CONFIG_EXT3_FS , CONFIG_EXT4_FS , CONFIG_MSDOS_FS , CONFIG_VFAT_FS , CONFIG_PROC_FS , and CONFIG_TMPFS ):

Если для подключения к сети интернет используется PPPoE или dial-up модем, то тогда включите следующие параметры ( CONFIG_PPP, CONFIG_PPP_ASYNC и CONFIG_PPP_SYNC_TTY ):

Опции сжатия не повредят, но и не являются обязательными, как и PPP over Ethernet. Фактически, последний используется только когда ppp сконфигурирован на использование PPPoE режима ядра.

Не забудьте настроить поддержку сетевых карт (кабельных и беспроводных).

Поскольку большинство современных систем являются многоядерными, нам понадобится Symmetric multi-processing support ( CONFIG_SMP ):

If USB input devices (like keyboard or mouse) or other USB devices will be used, do not forget to enable those as well ( CONFIG_HID_GENERIC and CONFIG_USB_HID, CONFIG_USB_SUPPORT , CONFIG_USB_XHCI_HCD , CONFIG_USB_EHCI_HCD , CONFIG_USB_OHCI_HCD ):

Опционально: Собираем initramfs
В некоторых случаях необходимо включить поддержку initramfs - an initial ram-based file system (файловая система, основанная на оперативной памяти). Наиболее распространённая причина это нахождение различных системных путей (вроде или ) на различных разделах. При наличии initramfs эти разделы могут быть подгружены средствами initramfs.

Без initramfs существует вероятность неправильной загрузки, так как для запуска некоторых ФС может потребоваться информация на этих самых разделах. Initramfs подгружает всю информацию в небольшой архив, который читается сразу после загрузки ядра, но до передачи управления службам инициализации. Таким образом набор скриптов initramfs проследит, чтобы все разделы были примонтированы верно перед продолжением процесса загрузки.

Для установки initramfs, сперва нужен, который его сгенерирует:

In order to enable specific support in the initramfs, such as lvm or raid, add in the appropriate options to. See for more information. In the next example support is enabed for LVM and software raid :

Initramfs будет расположен в. Можно посмотреть файлы, начинающиеся с "initramfs":

Продолжим в Модули ядра.

Альтернативно: Используя genkernel
Если ручная установка кажется слишком сложной, то следует воспользоваться утилитой, которая настроит и соберёт ядро автоматически.

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

Приступим. Сперва, нужно установить :

Затем отредактируйте файл, где следует указать в строке правильное устройство во втором поле. Если следовали примеру из данной инструкции, то, скорее всего, это устройство с файловой системой ext2 и строка должна выглядеть следующим образом:

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

По завершению мы получим полный набор модулей и initramfs. Ядро и initrd нам ещё понадобятся при настройке загрузчика. Запишите название файлов ядра и initrd, так как они нам ещё понадобятся. Initrd запускается сразу после ядра для определения оборудования, перед запуском самой системы.

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

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

Например, чтобы автоматически подгрузить модуль (драйвер для определённой семьи интернет-карт от 3Com), добавте его в.

Продолжим установку в Настройка системы.

Опционально: Установка файлов прошивки
Для корректной работы некоторых драйверов требуется установка дополнительных файлов прошивки. Часто подобное требуется для сетевых интерфейсов, особенно беспроводных. Большинство файлов прошивки поставляется в :