ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Пятница, 13 декабря, 2024

Как обновить ядро ​​Gentoo

Как обновить ядро ​​Gentoo

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 — этот маленький парень, который настроит все ваши вещи, связанные с загрузкой.

$ ego boot update

Убедитесь, что найдено ядро и intramfs, команда перечисляет все успехи и неудачи. Убедитесь, что все работает.

 

Удаление источников

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

Чтобы очистить дерево:

$ emerge –ask –depclean gentoo-sources

Чтобы удалить определенное ядро:

$ emerge –ask –noreplace gentoo-source:5.4.83

 

Если вы хотите удалить текущую стабильную ветку!

 

Другой выбор

Довольно недавний проект Gentoo — добавить «distribution kernels». Доступно три, после того как вы выберете один, система обновит ядро ​​во время обычного обновления.

 

Вывод

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

Exit mobile version