Gentoo — это непрерывный выпуск, что означает, что у вас есть новые обновления, доступные через регулярные промежутки времени, но нет серьезных обновлений. Идея состоит в том, чтобы никогда не иметь несовместимых частей системы, потому что они принадлежат к разным основным выпускам. Вы обновляетесь по мере необходимости. В других дистрибутивах новые ядра поставляются вместе с новым выпуском. В Gentoo после тестирования у вас появятся новые ядра. Вы, конечно, можете взять последнюю версию ядра и запустить ее.
Существующее ядро
Возможно, вам не нужно собственное ядро. Для первой загрузки может подойти стандартное ядро. Таким образом, вы запускаете систему, и вы можете загрузить ее в любое время и правильно все настроить. Компиляция ядра также может занять время, поэтому использование существующего ядра может быть полезным. Для этого скопируйте ядро и модули в правильные места. На более новом компакт-диске файлы находятся в загрузочном каталоге. Обычно они называются «Gentoo», поэтому их будет легко найти. Одно предостережение: вы должны убедиться, что это файлы ядра и ‘.igz’. Используйте для этого команду file.
$ file /boot/*
/mnt/cdrom/boot/EFI: directory /mnt/cdrom/boot/gentoo: Linux kernel x86 boot executable bzImage, version 5.4.80-gentoo-r1-x86_64 (root@catalyst) #1 SMP Sun Jan 17 23:41:47 UTC 2021, RO-rootFS, swap_dev 0x3, Normal VGA /mnt/cdrom/boot/gentoo-config: Linux make config build file, ASCII text /mnt/cdrom/boot/gentoo.igz: XZ compressed data /mnt/cdrom/boot/System-gentoo.map: ASCII text
Как видите, файлы четко помечены этим методом, поэтому вы знаете, какой из них использовать. Далее вам нужно скопировать модули. Модули находятся в вашем каталоге lib/modules, по одному на каждое запущенное ядро.
$ cp -R /lib/modules/5.8.0-generic /mnt/gentoo/lib/modules
Для каталога вы также можете использовать uname -r, чтобы получить имя.
Установить инструменты
Gentoo поставляется с инструментами для решения многих сложных задач. При компиляции ядра вы обычно используете make config, который также можно использовать внутри Gentoo. Однако у вас также есть инструмент Gentoo; genkernel. Он может автоматически компилировать ваше ядро с заданными стандартными настройками. Вы должны знать, что вы также можете установить ядро, просто используя инструмент упаковки emerge. Вам нужно выбрать пакет ядра, подходящий для вашей платформы. Вы можете увидеть несколько вариантов ниже.
$ emerge –ask sys-kernel/installkernel-gentoo $ emerge –ask sys-kernel/installkernel-systemd-boot
Одним из инструментов для компиляции ядра после установки исходных кодов является genkernel.
$ genkernel
Инструмент genkernel запускает все сценарии, необходимые для обновления ядра после загрузки новых источников.
Использование исходного кода
Это требует большей мощности компиляции, но это одна из причин, по которой вы выбрали Gentoo. Фактически, вся документация предполагает, что вы хотите скомпилировать свое ядро и имеете в качестве альтернативы бинарные ядра. Большие изменения произошли в сентябре 2020 года, когда разработчики Gentoo выпустили готовые ядра. У вас есть много пакетов на выбор, но процедура одинакова для всех. Выбери ядро отсюда! Их гораздо больше, но вы можете выбрать их после того, как закончите. Здесь вы выбираете новейшее ядро Gentoo.
$ emerge –ask –update –deep –with-bdeps=y –newuse sys-kernel/gentoo-sources
Это означает, что вы решили обновить только ядро. Полное обновление системы часто приводит к обновлению исходных кодов для нового ядра. После этого у вас будет несколько ядер, выберите то, которое хотите использовать.
$ eselect kernel list $ eselect kernel set 3
Теперь система изменила ссылку на /usr/src/linux. Все инструменты будут использовать эту символическую ссылку. Затем вы должны скопировать старый файл конфигурации, чтобы большая часть вашего нового ядра имела те же значения. Старый файл доступен во многих местах; один находится в вашей работающей системе.
$ zcat /proc/config.gz /usr/src/linux/config
Теперь вы можете начать настройку ядра. Вы делаете это с помощью любого из стандартных пакетов, make config, make menuconfig и так далее. Однако у Gentoo есть козырь в рукаве; genkernel! Этот инструмент выполняет все шаги и делает весь процесс за вас. Имейте в виду, чтобы оптимизировать; вам нужно добавить несколько вариантов.
$ genkernel –oldconfig –menuconfig
Вы можете работать без каких-либо параметров, но тогда у вас нет выбора конфигурации ядра. Этой процедуры достаточно для создания и установки нового ядра. Установка параметров — большая проблема.
Использование готовых ядер
Вы уверены, что хотите собрать собственное ядро? У вас есть несколько вариантов получить двоичное ядро. Если вы установите значение, указанное ниже, при установке исходников debians будет установлено бинарное ядро, что избавит вас от хлопот по компиляции собственного.
$ echo "sys-kernel/debian-sources binary" >> /etc/portage/package.use $ emerge debian-sources
Вы также можете получить новейшее стабильное ядро непосредственно у разработчиков с их сайтов. Для установки и обновления запустите команду emerge, чтобы установить ее.
$ emerge –ask sys-kernel/gentoo-kernel-bin
Доступно больше ядер, также доступны ядра дистрибутива.
Использование неподдерживаемого исходного кода
У вас могут быть свои собственные изменения в коде ядра. Чтобы справиться с этой ситуацией, вы хотите отключить автоматическую обработку этого кода. Чтобы убедиться, что Portage знает, какие зависимости необходимо обрабатывать, вам нужно сообщить ему, что вы поместили его туда, но не должны обновляться автоматически.
Чтобы проинформировать Portage, вам необходимо заполнить файл /etc/portage/profile/package.provided.
#Marking gentoo-sources-4.9.16 as manually installed sys-kernel/gentoo-sources-4.9.16
Таким образом, вы можете использовать любой код и делать то, что хотите, без неожиданного изменения сценария.
Микрокод Intel
Когда вы закончите компиляцию, вы должны убедиться, что у вас есть микрокод для вашего процессора. Эти пакеты предназначены для процессора Intel.
$ emerge intel-microcode iucodetool
Пропустите это, если у вас процессор AMD.
Grub
Вы должны update-grub, как и в других дистрибутивах, с одной изюминкой.
$ grub-install –efi-directory=/boot /dev/vda
Материал efi необходим, когда вы не монтируете загрузочный раздел по умолчанию: ‘boot/efi’. Специально для Gentoo — этот маленький парень, который настроит все ваши вещи, связанные с загрузкой.
Убедитесь, что найдено ядро и intramfs, команда перечисляет все успехи и неудачи. Убедитесь, что все работает.
Удаление источников
Поскольку вы устанавливаете исходные коды с помощью диспетчера пакетов, вы также можете использовать диспетчер пакетов для их удаления и очистки дерева между компиляциями.
Чтобы очистить дерево:
$ emerge –ask –depclean gentoo-sources
Чтобы удалить определенное ядро:
$ emerge –ask –noreplace gentoo-source:5.4.83
Если вы хотите удалить текущую стабильную ветку!
Другой выбор
Довольно недавний проект Gentoo — добавить «distribution kernels». Доступно три, после того как вы выберете один, система обновит ядро во время обычного обновления.
Вывод
Gentoo с самого начала создавался для мастеров, что делает его мощным инструментом для оптимизации. В настоящее время вы можете позволить дистрибутиву обрабатывать ядро за вас. Вы упустите тонкую настройку, но вы можете в любое время вникнуть в нее, добавив исходники в стандартные пакеты. В общем, Gentoo становится доступным для большего числа людей без ущерба для возможностей настройки. Путь к работе; Gentoo!