База знаний

4. Fork core gentoo

 

Нужна консультация или помощь в решении IT вопроса? Пожалуйста, в таком случае  заполните форму запроса на Sytes.ru!

Определите, какой часовой пояс будет установлен для системы. Просмотрите список всех доступных часовых поясов в каталоге /usr/share/zoneinfo/, затем запишите выбранный в файл /etc/timezone.

root #ls /usr/share/zoneinfo

OpenRC

root #echo "Europe/Kirov" > /etc/timezone

Старайтесь не использовать часовые пояса, начинающиеся с /usr/share/zoneinfo/Etc/GMT*, так как их названия не отражают настоящий часовой пояс. Например, GMT-8 на самом деле является GMT+8.

Далее перенастроим пакет sys-libs/timezone-data, что обновит файл /etc/localtime, основываясь на записи в /etc/timezone. Файл /etc/localtime используется системной библиотекой C, чтобы узнать, в каком часовом поясе находится система.

root #emerge --config sys-libs/timezone-data

Генерация локалей

Большинству пользователей достаточно иметь одну или две локали на своих системах.Локали, поддерживаемые системой, должны быть указаны в /etc/locale.gen.

root #nano -w /etc/locale.gen

Следующие локали являются примером для создания английской (США) и русской (Россия) локалей с поддержкой формата символов (например, UTF-8).

Файл /etc/locale.genВключение US и RU локалей с поддержкой формата символов
en_US ISO-8859-1
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
 Предупреждение
Мы настоятельно рекомендуем добавить хотя бы одну локаль UTF-8, так как для сборки многих приложений это является обязательным требованием.

Далее, запустим команду locale-gen, которая создаст все перечисленные в файле /etc/locale.gen локали.

root #locale-gen

Чтобы убедится, что выбранные локали теперь доступны, запустите команду locale -a.

Необязательно: Установка файлов прошивки

 

Для корректной работы некоторых драйверов требуется установка дополнительных файлов прошивки. Часто подобное требуется для сетевых интерфейсов, особенно беспроводных. Также, современные видеочипы от AMD, NVidia и Intel, при использовании отрытых драйверов, часто нуждаются во внешних файлах firmware. Большинство файлов прошивки поставляется в пакете sys-kernel/linux-firmware:

root #emerge --ask sys-kernel/linux-firmware

Установка исходного кода

 

Для систем, основанных на amd64 архитектуре, рекомендуется пакет sys-kernel/gentoo-sources.

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

root #emerge --ask sys-kernel/gentoo-sources

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

For further information regarding the purpose of the symlink, and how to manage it, please refer to Kernel/Upgrade.

First, list all installed kernels:

root #eselect kernel list
Available kernel symlink targets:
  [1]   linux-4.9.16-gentoo

In order to create a symbolic link called linux, use:

root #eselect kernel set 1
root #ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-4.9.16-gentoo

Ручная сборка  ядра gentoo 

Если ручная установка кажется слишком сложной, то можно воспользоваться утилитой genkernel, которая сконфигурирует и соберёт ядро автоматически. Но в случае использования виртуальной машины genkernel  зарекомендовал себя не очень хорошо!

Переходим в директорию с ядром:

root #cd /usr/src/linux

Установка правильного установочного ядра. Прежде чем использовать ядра дистрибутива, убедитесь, что установлен правильный пакет install kernel для вашей системы. При использовании systemd-boot (ранее Gummiboot) установите:

root emerge --ask sys-kernel/installkernel-systemd-boot

При использовании традиционной схемы загрузки /boot (например, GRUB, LILO и т. д.) вариант gentoo должен быть установлен по умолчанию. Если сомневаешься:

root emerge --ask sys-kernel/installkernel-gentoo

При использовании традиционной схемы загрузки:

root #nano -w /etc/fstab
Файл /etc/fstabНастройка точки монтирования /boot
/dev/sda1               /boot           ext2            noatime         1 2
/dev/sda3               /               ext4            noatime         0 1
/dev/sda2               none            swap            sw              0 0
/dev/cdrom              /mnt/cdrom      auto            noauto,ro       0 0
 Заметка
В процессе настройки Gentoo /etc/fstab ещё будет изменён. 

Установка ядра дистрибутива. Чтобы собрать ядро ​​с исправлениями Gentoo из исходного кода, введите:

root #emerge --ask sys-kernel/gentoo-kernel

Go

 Заметка
Системные администраторы, которые хотят избежать локальной компиляции исходного кода ядра!

Вместо этого использовать предварительно скомпилированные образы ядра:

root #emerge --ask sys-kernel/gentoo-kernel-bin

Этот процесс займёт некоторое время.

 Заметка
Модернизация и очисткаПосле установки ядра менеджер пакетов автоматически обновит его до более новых версий. Предыдущие версии будут храниться до тех пор, пока менеджер пакетов не получит запрос на очистку устаревших пакетов. Пожалуйста, не забывайте периодически запускать:
root #  emerge --depclean
для экономии места. В качестве альтернативы, чтобы специально очистить старые версии ядра:
root # emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin

 

 

Задачи после установки/обновления

Ядра дистрибутива теперь могут пересобирать модули ядра, установленные другими пакетами. linux-mod.eclass предоставляет USE=dist-kernel, который управляет зависимостью подслота от виртуального/dist-kernel. Включение этого в таких пакетах, как sys-fs/zfs и sys-fs/zfs-kmod, позволяет автоматически пересобирать их с новым ядром и повторно генерировать initramfs, если это применимо, соответственно!

 

Ручная пересборка initramfs

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

root #emerge --ask @module-rebuild

Если какие-либо из этих модулей (например, ZFS) необходимы при ранней загрузке, после этого пересоберите initramfs::

root #emerge --config sys-kernel/gentoo-kernel
root emerge --config sys-kernel/gentoo-kernel-bin

Этот процесс займёт некоторое время.

 

Теперь установим и сконфигурируем загрузчик grub:

root #emerge grub

Теперь установим os-prober:

root #emerge --autounmask-write os-prober grub:2

Вместо этого использовать предварительно скомпилированные образы ядра:

root #emerge --ask sys-kernel/gentoo-kernel-bin

Конфигурация модулей

 Заметка
Модули оборудования не обязательно указывать вручную. В большинстве случаев, udev автоматически загрузит все необходимые модуля для обнаруженных устройств. Однако, не будет никакого вреда, если указать автоматически загружаемые модули вручную. Иногда очень специфическим устройствам необходима некоторая помощь, чтобы загрузить свои драйвера.

Укажите модули, которые должны загружаться автоматически в файлах /etc/modules-load.d/*.conf, по одному модулю в строке. Дополнительные параметры для модулей при необходимости можно указывать в файлах /etc/modprobe.d/*.conf.

Чтобы посмотреть доступные модули, выполните команду find, не забыв заменить «<kernel version>» на собранную в предыдущем шаге версию:

root #find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less

Например, чтобы автоматически загрузить модуль 3c59x.ko (драйвер для определённого семейства сетевых карт от 3Com), отредактируйте файл /etc/modules-load.d/network.conf, добавив туда имя модуля. Фактическое имя файла несущественно для загрузчика.

root #mkdir -p /etc/modules-load.d
root #nano -w /etc/modules-load.d/network.conf
Файл /etc/modules-load.d/network.confПринудительная загрузка модуля 3c59x во время загрузки
3c59x

Linux Gentoo fork kernel

 

Если у вас есть профессиональный интерес в расширении данной статьи – заполните форму запросаВ следующем разделе будет описана настроика ОС, перейти к ней  можно тут!

Заметка распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

 

     Источник:

https://dondub.com/2021/02/gentoo-gnu-linux-ustanovka-i-nastroyka/?ysclid=l0ez63gp79
 

Конец! 

  • gentoo kernel
  • 0 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

1. Setup Gentoo stage3

Это технический шаблон заметки о CLI!  Данный опус является частью единого...

2. Gentoo chroot and setup LICENSE

  Данный опус является частью единого цикла заметок o CLI.  Для его написания...

3. Gentoo genkernel

  Нужна консультация или помощь в решении IT вопроса? Пожалуйста, в таком случае...

0. Setup Gentoo livecd

Setup!  Данный опус является частью единого цикла заметок o CLI.  Для его...