From 2203e654b389586650d553251b04544a34f189bf Mon Sep 17 00:00:00 2001 From: Sn4il Date: Mon, 2 Sep 2024 15:54:35 +0300 Subject: LFS 12.2 --- lfs-12.1-sysv/chapter10/chapter10.html | 101 ---- lfs-12.1-sysv/chapter10/fstab.html | 191 -------- lfs-12.1-sysv/chapter10/grub.html | 354 -------------- lfs-12.1-sysv/chapter10/introduction.html | 87 ---- lfs-12.1-sysv/chapter10/kernel.html | 756 ------------------------------ 5 files changed, 1489 deletions(-) delete mode 100644 lfs-12.1-sysv/chapter10/chapter10.html delete mode 100644 lfs-12.1-sysv/chapter10/fstab.html delete mode 100644 lfs-12.1-sysv/chapter10/grub.html delete mode 100644 lfs-12.1-sysv/chapter10/introduction.html delete mode 100644 lfs-12.1-sysv/chapter10/kernel.html (limited to 'lfs-12.1-sysv/chapter10') diff --git a/lfs-12.1-sysv/chapter10/chapter10.html b/lfs-12.1-sysv/chapter10/chapter10.html deleted file mode 100644 index 9497f7e..0000000 --- a/lfs-12.1-sysv/chapter10/chapter10.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - Глава 10. Делаем систему LFS загрузочной - - - - - - - - -

- 10. Делаем систему - LFS загрузочной -

-
- -
- - - diff --git a/lfs-12.1-sysv/chapter10/fstab.html b/lfs-12.1-sysv/chapter10/fstab.html deleted file mode 100644 index add2432..0000000 --- a/lfs-12.1-sysv/chapter10/fstab.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - 10.2. Создание файла /etc/fstab - - - - - - - - -

- 10.2. Создание - файла /etc/fstab -

-
-

- Файл /etc/fstab используется некоторыми - программами для определения того, какие файловые системы должны - монтироваться по умолчанию, в каком порядке и какие из них должны - быть проверены (на наличие ошибок целостности) перед монтированием. - Создайте новую таблицу файловых систем следующим образом: -

-
cat > /etc/fstab << "EOF"
-# Begin /etc/fstab
-
-# file system  mount-point  type     options             dump  fsck
-#                                                              order
-
-/dev/<xxx>     /            <fff>    defaults            1     1
-/dev/<yyy>     swap         swap     pri=1               0     0
-proc           /proc        proc     nosuid,noexec,nodev 0     0
-sysfs          /sys         sysfs    nosuid,noexec,nodev 0     0
-devpts         /dev/pts     devpts   gid=5,mode=620      0     0
-tmpfs          /run         tmpfs    defaults            0     0
-devtmpfs       /dev         devtmpfs mode=0755,nosuid    0     0
-tmpfs          /dev/shm     tmpfs    nosuid,nodev        0     0
-cgroup2        /sys/fs/cgroup cgroup2  nosuid,noexec,nodev 0     0
-
-# End /etc/fstab
-EOF
-

- Замените <xxx>, - <yyy>, и <fff> подходящими для системы - значениями, например, sda2, - sda5, и ext4. Для получения подробной информации о - параметрах в этом файле, смотрите fstab(5). -

-

- Файловым системам операционных систем MS DOS и Windows (таким как - vfat, ntfs, smbfs, cifs, iso9660, udf) требуется специальная опция - utf8, чтобы не-ASCII символы в именах файлов интерпретировались - правильно. Для локалей, отличных от UTF-8, значение iocharset должно быть таким же, как набор символов - локали и настроено так, чтобы ядро понимало его. Это будет работать, - если соответствующее определение набора символов (находится в разделе - File systems -> Native Language Support при настройке ядра) было - скомпилировано в ядро или собрано как модуль. Однако, если набор - символов локали — UTF-8, параметр iocharset=utf8 сделает файловую систему - чувствительной к регистру. Чтобы исправить это, используйте - специальную опцию utf8 вместо - iocharset=utf8 для локалей UTF-8. - Параметр «codepage» также необходим для файловых систем - vfat и smbfs. Он должен быть установлен на номер кодовой страницы, - используемый в MS-DOS в вашей стране. Например, для монтирования - флешек пользователь локали ru_RU.KOI8-R должен установить следующие - значения в группе параметров строки монтирования в /etc/fstab: -

-
noauto,user,quiet,showexec,codepage=866,iocharset=koi8r
-

- Соответствующий фрагмент параметров для пользователей ru_RU.UTF-8 - выглядит следующим образом: -

-
noauto,user,quiet,showexec,codepage=866,utf8
-

- Обратите внимание, что iocharset - используется по умолчанию для iso8859-1 - (которая сохраняет файловую систему нечувствительной к регистру), а - параметр utf8 указывает ядру, что нужно - преобразовать имена файлов с использованием UTF-8, чтобы их можно - было интерпретировать в локали UTF-8. -

-

- Также возможно указать значения кодовой страницы по умолчанию и - iocharset для некоторых файловых систем во время настройки ядра. - Соответствующие параметры называются «Default NLS Option» - (CONFIG_NLS_DEFAULT), «Default Remote NLS Option» - (CONFIG_SMB_NLS_DEFAULT), «Default codepage for FAT» - (CONFIG_FAT_DEFAULT_CODEPAGE) и - «Default iocharset for - FAT» (CONFIG_FAT_DEFAULT_IOCHARSET). Нет возможности - указать эти параметры для файловой системы ntfs во время компиляции - ядра. -

-

- Для некоторых типов жестких дисков можно сделать файловую систему - ext3 более устойчивой к сбоям питания. Чтобы сделать это, добавьте - параметр barrier=1 к соответствующей - записи в /etc/fstab. Чтобы проверить, - поддерживает ли диск эту опцию, запустите - hdparm на соответствуюшем разделе. Например, если: -

-
hdparm -I /dev/sda | grep NCQ
-

- возвращает непустой вывод, опция поддерживается. -

-

- Примечание: разделы на основе управления логическими томами (LVM) не - могут использовать параметр barrier. -

-
- - - diff --git a/lfs-12.1-sysv/chapter10/grub.html b/lfs-12.1-sysv/chapter10/grub.html deleted file mode 100644 index e13115c..0000000 --- a/lfs-12.1-sysv/chapter10/grub.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - 10.4. Использование GRUB для настройки процесса загрузки - - - - - - - - -

- 10.4. - Использование GRUB для настройки процесса загрузки -

-
-
- [Примечание] -

- Примечание -

-

- Если ваша система поддерживает UEFI и вы хотите загрузить LFS с - помощью UEFI, вам следует пропустить инструкции на этой странице, - но все равно изучить синтаксис grub.cfg и способ указания раздела в файле с этой - страницы, а также настроить GRUB с поддержкой UEFI используя - инструкции, приведенные на - странице BLFS. -

-
-
-

- 10.4.1. Введение -

-
- [Предупреждение] -

- Предупреждение -

-

- При неправильной настройке GRUB ваша система перестанет - загружаться без вспомогательно загрузочного CD-ROM или - USB-накопителя. Для загрузки системы LFS этот раздел - необязателен. Вы можете просто использовать существующий - загрузчик, например Grub-Legacy, GRUB2 или LILO. -

-
-

- Убедитесь, что аварийный загрузочный диск готов к «спасению» компьютера, - если он перестанет загружаться. Если у вас еще нет загрузочного - диска, вы можете создать его. Для этого необходимо перейти в раздел - BLFS и установить программу xorriso из пакета - libisoburn. -

-
cd /tmp
-grub-mkrescue --output=grub-img.iso
-xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso
-
-
-

- 10.4.2. Соглашения об именовании GRUB -

-

- GRUB использует собственную структуру именования дисков и разделов - в виде (hdn,m), где - n — номер жесткого диска, а - m — номер раздела. Номера - жестких дисков начинаются с нуля, а номера разделов начинаются с - единицы для обычных разделов (с пяти для расширенных разделов). - Обратите внимание, что это отличается от более ранних версий, где - оба номера начинались с нуля. Например, раздел sda1 это (hd0,1) в GRUB, а sdb3 (hd1,3). В отличие от Linux, GRUB не - считает приводы CD-ROM жесткими дисками. Например, если - используемый CD-привода определяется как hdb, а второй жесткий диск как hdc, этот второй жесткий диск все равно будет - (hd1). -

-
-
-

- 10.4.3. Настройка -

-

- GRUB записывает данные на первый физический сектор жесткого диска. - Эта область не является частью какой-либо файловой системы. - Программа в загрузочном разделе имеет доступ к модулям GRUB - расположенным по умолчанию в /boot/grub/. -

-

- Расположение загрузочного раздела - это выбор пользователя, который - влияет на конфигурацию. Одна из рекомендаций заключается в том, - чтобы иметь отдельный небольшой раздел (примерно 200 МБ) - исключительно для загрузочной информации. В этом случае каждая - сборка, будь то LFS или другой дистрибутив, может обращаться к тем - же загрузочным файлам, а доступ может быть получен из любой - загруженной системы. Если вы решите так сделать, вам необходимо - примонтировать отдельный раздел, переместить все файлы из текущего - каталога /boot (например, ядро Linux, - которое вы создали на предыдущем этапе) в новый раздел. Затем нужно - отмонтировать раздел и примонтировать его заново в каталог - /boot. Когда вы это сделаете, - обязательно обновите данные в файле /etc/fstab. -

-

- Оставить /boot на текущем разделе LFS - это тоже рабочее решение, но его настройка для загрузки нескольких - систем сложнее. -

-

- Используя информацию выше, определите соответствующие точки - монтирования для корневого раздела (или загрузочного раздела, если - используется отдельный). В следующем примере предполагается, что - корневым (или отдельным загрузочным) разделом является sda2. -

-

- Установите файлы GRUB в каталог /boot/grub и настройте загрузочный сектор: -

-
- [Предупреждение] -

- Предупреждение -

-

- Следующая команда перезапишет текущий загрузчик. Не выполняйте - эту команду, если это не нужно, например, если вы используете - сторонний менеджер загрузки для управления главной загрузочной - записью (MBR). -

-
-
grub-install /dev/sda
-
- [Примечание] -

- Примечание -

-

- Если система была загружена с использованием UEFI, grub-install попытается - установить файлы для x86_64-efi, но эти файлы не были - установлены в - Глава 8. Если это так, добавьте --target i386-pc к приведенной выше команде. -

-
-
-
-

- 10.4.4. Создание файла - конфигурации GRUB -

-

- Создайте файл /boot/grub/grub.cfg: -

-
cat > /boot/grub/grub.cfg << "EOF"
-# Begin /boot/grub/grub.cfg
-set default=0
-set timeout=5
-
-insmod part_gpt
-insmod ext2
-set root=(hd0,2)
-
-menuentry "GNU/Linux, Linux 6.7.4-lfs-12.1" {
-        linux   /boot/vmlinuz-6.7.4-lfs-12.1 root=/dev/sda2 ro
-}
-EOF
-

- Команды insmod - загружают модули GRUB с именами - part_gpt и ext2. Несмотря на название, ext2 фактически поддерживаются файловые системы - ext2, ext3 и ext4. - Команда grub-install - встроила некоторые модули в основной образ GRUB (установленный в MBR или раздел GRUB - BIOS) для доступа к другим модулям (в /boot/grub/i386-pc), поэтому в стандартной - конфигурации эти два модуля уже встроены и эти две команды - insmod ничего не - будут делать. В любом случае, от них нет никакого вреда, но они - могут понадобиться в некоторых редких конфигурациях. -

-
- [Примечание] -

- Примечание -

-

- С точки зрения GRUB, файлы ядра - относятся к используемому разделу. Если вы используется отдельный - раздел /boot, удалите /boot из приведенной выше строки - linux. Вам также - потребуется изменить строку set - root так, чтобы она указывала на загрузочный раздел. -

-
-
- [Примечание] -

- Примечание -

-

- Наименование раздела для GRUB может измениться, если вы добавили - или удалили некоторые диски (это могут быть как съемные диски, - так и USB-устройства). Изменение может привести к сбою загрузки, - потому что grub.cfg ссылается на - «старые» - указатели. Чтобы не столкнуться с этой проблемой, необходимо - использовать UUID раздела и файловой системы вместо указателя - GRUB для указания устройства. Запустите команду lsblk -o - UUID,PARTUUID,PATH,MOUNTPOINT, чтобы посмотреть - UUID ваших файловых систем (в столбце UUID) и разделов (в столбце PARTUUID). Затем замените set root=(hdx,y) на search - --set=root --fs-uuid <UUID - файловой системы, в которой установлено - ядро>, и замените root=/dev/sda2 на root=PARTUUID=<UUID - раздела, в котором собрана LFS>. -

-

- Обратите внимание, что UUID раздела и UUID файловой системы на - этом разделе это совершенно разные вещи. Некоторые онлайн-ресурсы - могут предлагать вам использовать root=UUID=<UUID - файловой системы> вместо root=PARTUUID=<UUID - раздела>, но для этого требуется initramfs, - которая не рассматривается в LFS. -

-

- Имя узла устройства для раздела в /dev также может измениться (хотя это менее - вероятно, чем изменение указателя GRUB). Вы можете заменить пути - к узлам устройств, таким как /dev/sda1 на PARTUUID=<UUID - раздела>, в /etc/fstab, чтобы избежать потенциального сбоя - загрузки в случае, если имя узла устройства изменилось. -

-
-

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

-
- [Внимание] -

- Внимание -

-

- Существует команда grub-mkconfig, которая может автоматически - записывать файл конфигурации. Она использует набор скриптов из - каталога /etc/grub.d/ и уничтожит любые сделанные вами настройки. - Эти скрипты предназначены в первую очередь для обычных - дистрибутивов и не рекомендуются для LFS. Если вы устанавливаете - коммерческий дистрибутив Linux, есть вероятность, что эта - программа будет запущена. Обязательно создайте резервную копию - файла grub.cfg. -

-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter10/introduction.html b/lfs-12.1-sysv/chapter10/introduction.html deleted file mode 100644 index 75ad21d..0000000 --- a/lfs-12.1-sysv/chapter10/introduction.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - 10.1. Введение - - - - - - - - -

- 10.1. Введение -

-
-

- Пришло время сделать систему LFS загрузочной. В этой главе - обсуждается создание файла /etc/fstab, - сборка ядра для новой системы и установка загрузчика GRUB, чтобы - система LFS могла быть выбрана для загрузки при запуске. -

-
- - - diff --git a/lfs-12.1-sysv/chapter10/kernel.html b/lfs-12.1-sysv/chapter10/kernel.html deleted file mode 100644 index bb6908f..0000000 --- a/lfs-12.1-sysv/chapter10/kernel.html +++ /dev/null @@ -1,756 +0,0 @@ - - - - - - 10.3. Linux-6.7.4 - - - - - - - - -

- 10.3. - Linux-6.7.4 -

-
-
-

- Этот пакет содержит ядро Linux. -

-
-
-
- Приблизительное время сборки: - 0.6 - 20.4 SBU (обычно около 1.4 - SBU) -
-
- Требуемое дисковое - пространство: 1.8 - 10.6 GB - (обычно около 2 GB) -
-
-
-
-
-

- 10.3.1. Установка ядра -

-

- Сборка ядра состоит из нескольких этапов—настройка, компиляция и - установка. Ознакомьтесь с файлом README в дереве исходных текстов, чтобы узнать об - альтернативных способах настройки ядра. -

-
- [Важно] -

- Важно -

-

- Сборка ядра Linux в первый раз — одна из самых сложных задач в - LFS. Правильный выбор параметров зависит от конкретного - оборудования для целевой системы и ваших потребностей. Для ядра - доступно почти 12 000 элементов конфигурации, хотя для - большинства компьютеров требуется только около трети из них. - Редакторы LFS рекомендуют пользователям, не знакомым с этим - процессом, внимательно следовать описанным ниже процедурам. - Главная цель сейчас состоит в том, чтобы довести первоначальную - систему до состояния, когда вы сможете войти в систему из - командной строки при последующей перезагрузке в Раздел 11.3, «Перезагрузка - системы». Вопросы оптимизация и кастомизация второстепенны. -

-

- Для получения общей информации о конфигурации ядра смотрите - - https://mirror.linuxfromscratch.ru/hints/downloads/files/kernel-configuration.txt. - Дополнительную информацию о настройке и сборке ядра можно найти - по адресу https://anduin.linuxfromscratch.org/LFS/kernel-nutshell/. - Эти ссылки немного устарели, но все же дают разумное - представление о процессе. -

-

- Если ничего не помогает, вы можете обратиться за помощью в список - рассылки lfs-support. - Обратите внимание, что подписка необходима для того, чтобы - рассылка не содержала спама. -

-
-

- Подготовьте пакет к компиляции, выполнив следующую команду: -

-
make mrproper
-

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

-

- Существует несколько способов настройки параметров ядра. Обычно это - делается с помощью псевдографического интерфейса, например так: -

-
make menuconfig
-
-

- Значения необязательных переменных окружения - make: -

-
-
- LANG=<переменная_LANG_хоста> - LC_ALL= -
-
-

- Устанавливает значение локали на то, которое используется на - хосте. Это может понадобиться для правильного отображения - интерфейса menuconfig с помощью ncurses в текстовой консоли - Linux с UTF-8. -

-

- Если это необходимо, обязательно замените значение <переменной_LANG> на - значение переменной $LANG вашего - хоста. В качестве альтернативы вы можете использовать - значения переменных $LC_ALL или - $LC_CTYPE. -

-
-
- make - menuconfig -
-
-

- Эта команда запускает интерфейс на основе ncurses. Для - использования других (графических) интерфейсов, выполните - make help. -

-
-
-
-
- [Примечание] -

- Примечание -

-

- Хорошей отправной точкой для настройки ядра, может стать запуск - команды make - defconfig. В результате её выполнения будет - создана базовая конфигурация с учётом архитектуры системы. -

-

- Обязательно включите/отключите/настройте следующие параметры, - иначе система может работать некорректно или вообще не - загружаться: -

-
General setup --->
-  [ ] Compile the kernel with warnings as errors                        [WERROR]
-  CPU/Task time and stats accounting --->
-    [*] Pressure stall information tracking                                [PSI]
-    [ ]   Require boot parameter to enable pressure stall information tracking
-                                                     ...  [PSI_DEFAULT_DISABLED]
-  < > Enable kernel headers through /sys/kernel/kheaders.tar.xz      [IKHEADERS]
-  [*] Control Group support --->                                       [CGROUPS]
-    [*] Memory controller                                                [MEMCG]
-  [ ] Configure standard kernel features (expert users) --->            [EXPERT]
-
-Processor type and features --->
-  [*] Build a relocatable kernel                                   [RELOCATABLE]
-  [*]   Randomize the address of the kernel image (KASLR)       [RANDOMIZE_BASE]
-
-General architecture-dependent options --->
-  [*] Stack Protector buffer overflow detection                 [STACKPROTECTOR]
-  [*]   Strong Stack Protector                           [STACKPROTECTOR_STRONG]
-
-Device Drivers --->
-  Generic Driver Options --->
-    [ ] Support for uevent helper                                [UEVENT_HELPER]
-    [*] Maintain a devtmpfs filesystem to mount at /dev               [DEVTMPFS]
-    [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs
-                                                           ...  [DEVTMPFS_MOUNT]
-  Graphics support --->
-    < /*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
-                                                                      ...  [DRM]
-    # If [DRM] is selected as * or M, this must be selected:
-    [ /*]   Enable legacy fbdev support for your modesetting driver
-                                                      ...  [DRM_FBDEV_EMULATION]
-    Console display driver support --->
-      # If [DRM] is selected as * or M, this must be selected:
-      [ /*] Framebuffer Console support                    [FRAMEBUFFER_CONSOLE]
-

- Включите некоторые дополнительные функции, если вы собираете - 64-битную систему. Если вы используете menuconfig, включите их в - следующем порядке: сначала CONFIG_PCI_MSI, затем CONFIG_IRQ_REMAP, и, наконец, - CONFIG_X86_X2APIC, потому - что параметр отображается только после выбора его зависимости. -

-
Processor type and features --->
-  [*] Support x2apic                                                [X86_X2APIC]
-
-Device Drivers --->
-  [*] PCI support --->                                                     [PCI]
-    [*] Message Signaled Interrupts (MSI and MSI-X)                    [PCI_MSI]
-  [*] IOMMU Hardware Support --->                                [IOMMU_SUPPORT]
-    [*] Support for Interrupt Remapping                              [IRQ_REMAP]
-

- Если вы создаете 32-разрядную систему, работающую на оборудовании - с объемом оперативной памяти более 4 ГБ, измените конфигурацию - таким образом, чтобы ядро могло использовать до 64 ГБ оперативной - памяти: -

-
Processor type and features --->
-  High Memory Support --->
-    (X) 64GB                                                        [HIGHMEM64G]
-

- Если раздел для системы LFS находится на NVME SSD (то есть узлом - устройства для раздела является /dev/nvme*, а не /dev/sd*), включите параметр NVME support, - иначе система LFS не будет загружаться: -

-
Device Drivers --->
-  NVME Support --->
-    <*> NVM Express block device                                  [BLK_DEV_NVME]
-
-

- Есть несколько других параметров, которые могут понадобиться в - зависимости от особенностей системы. Для получения списка - необходимых опций для пакетов BLFS смотрите - Список опций ядра BLFS. -

-
- [Примечание] -

- Примечание -

-

- Если ваша хост поддерживает UEFI и вы хотите загрузить LFS с - помощью него, вам необходимо настроить некоторые параметры ядра, - следуя инструкции - на странице BLFS, даже если вы - будете использовать загрузчик UEFI из основного - дистрибутива. -

-
-
-

- Пояснения для выбранных выше параметров ядра: -

-
-
- Randomize the - address of the kernel image (KASLR) -
-
-

- Включите ASLR для образа ядра, чтобы уменьшить вероятность - некоторых атак, основанных на фиксированных адресах - конфиденциальных данных или кода в ядре. -

-
-
- Compile the - kernel with warnings as errors -
-
-

- Включение этого параметра может привести к сбою сборки, если - компилятор и/или конфигурация отличается от конфигурации ядра - разработчиков. -

-
-
- Enable kernel - headers through /sys/kernel/kheaders.tar.xz -
-
-

- Для сборки ядра с этим параметром необходим пакет - cpio. - cpio не - устанавливается в LFS. -

-
-
- Configure - standard kernel features (expert users) -
-
-

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

-
-
- Strong Stack - Protector -
-
-

- Включите SSP для ядра. Мы включили его для всего - пользовательского пространства с помощью --enable-default-ssp, настроив - GCC, но ядро не использует настройки GCC по умолчанию для - SSP. Мы включаем это явно здесь. -

-
-
- Support for - uevent helper -
-
-

- Включение этого параметра может вызвать сбои при управление - устройствами через Udev. -

-
-
- Maintain a - devtmpfs -
-
-

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

-
-
- Automount - devtmpfs at /dev -
-
-

- Этот параметр позволит смонтировать представление ядра - устройств в /dev при переключении на корневую файловую - систему непосредственно перед запуском init. -

-
-
- Enable legacy - fbdev support for your modesetting driver и - Framebuffer Console - support -
-
-

- Они необходимы для отображения консоли Linux на графическом - процессоре, управляемом драйвером DRI (Direct Rendering - Infrastructure - инфраструктура прямого рендеринга). Если - CONFIG_DRM (Direct Rendering - Manager - диспетчер прямого рендеринга) включен, вам также - следует включить эти две опции, иначе вы увидите пустой экран - после загрузки драйвера DRI. -

-
-
- Support - x2apic -
-
-

- Поддержка запуска 64-разрядного контроллера прерываний для - x86 процессоров в режиме x2APIC. x2APIC может быть включен в - BIOS на системах x86 и у ядра собранного без этой опции будет - kernel panic при загрузке. Эта опция не окажет никакого - эффекта, но и не причиняет вреда, если x2APIC отключен в - BIOS. -

-
-
-
-

- В качестве альтернативы, в некоторых ситуациях может быть уместно - использование команды make - oldconfig. Смотрите файл README для получения дополнительной информации. -

-

- По желанию, вы можете пропустить настройку ядра, скопировав - конфигурационный файл ядра .config, - из хост системы(если он доступен) в каталог куда было распаковано - ядро linux-6.7.4. Однако, мы не - рекомендуем этот вариант. Намного лучше изучить все параметры меню - и создать конфигурацию ядра с нуля. -

-

- Скомпилируйте образ ядра и модули: -

-
make
-

- При использовании модулей, могут потребоваться файлы конфигурации, - которые расположены в каталоге /etc/modprobe.d. Информация о модулях и - конфигурации ядра находится в Раздел 9.3, - «Взаимодействие с устройствами и модулями» и в документации к - ядру linux-6.7.4/Documentation. Кроме - этого, стоит ознакомиться с руководством modprobe.d(5). -

-

- Если поддержка модулей не была отключена в параметрах ядра, - установите модули с помощью: -

-
make modules_install
-

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

-
- [Внимание] -

- Внимание -

-

- Если вы решили использовать отдельный /boot раздел для системы LFS (возможно, общий - раздел /boot с хост-дистрибутивом), - скопированные ниже файлы должны быть помещены туда. Самый простой - способ сделать это — сначала создать запись для /boot в /etc/fstab (подробности читайте в предыдущем - разделе), затем выполните следующую команду от имени пользователя - root в среде chroot: -

-
mount /boot
-

- Путь к узлу устройства в команде опущен, поскольку mount может прочитать его из - /etc/fstab. -

-
-

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

-
cp -iv arch/x86/boot/bzImage /boot/vmlinuz-6.7.4-lfs-12.1
-

- System.map - это символьный файл для - ядра. Он содержит точки входа каждой функции в API ядра, а также - адреса структур данных для запущенного ядра. Он используется в - качестве ресурса при исследовании проблем с ядром. Выполните - следующую команду для установки файла: -

-
cp -iv System.map /boot/System.map-6.7.4
-

- Файл конфигурации ядра .config - создается на шаге make - menuconfig и содержит все параметры ядра, которое - было скомпилировано только что. Рекомендуется сохранить этот файл - на будущее: -

-
cp -iv .config /boot/config-6.7.4
-

- Установите документацию ядра: -

-
cp -r Documentation -T /usr/share/doc/linux-6.7.4
-

- Важно отметить, что файлы в каталоге с исходным кодом ядра не - принадлежат пользователю root. Всякий раз, когда пакет - распаковывается от имени пользователя root (как это и выполнялось внутри среды - chroot), файлы имеют те идентификаторы пользователя и группы, - которые были присвоены при распаковке. Обычно это не вызывает - проблем для других устанавливаемых пакетов, так как каталог с - исходниками удаляется после установки пакета. Однако исходный код - ядра Linux часто сохраняется в течение длительного времени. Из-за - этого существует вероятность того, что идентификатор пользователя, - используемый при распаковке, будет назначен другому пользователю. В - таком случае, этот пользователь будет иметь доступ на запись в этот - каталог. -

-
- [Примечание] -

- Примечание -

-

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

-

- Если вы планируете оставить каталог с исходным кодом ядра, - выполните команду chown -R 0:0 - * находясь в каталоге linux-6.7.4, чтобы все файлы принадлежали - пользователю root. -

-
-
- [Предупреждение] -

- Предупреждение -

-

- Иногда, в документации к ядру, рекомендуют создать символическую - ссылку /usr/src/linux указывающую - на каталог с исходниками ядра. Эта рекомендация относится к ядрам - до версии 2.6 и не должна - выполняться в системе LFS, так как это может вызвать проблемы с - пакетами, которые вы, возможно, захотите собрать, когда ваша - базовая система LFS будет готова. -

-
-
- [Предупреждение] -

- Предупреждение -

-

- Заголовочные файлы в системном каталоге include (/usr/include) всегда используются те, которые - применялись при компиляции Glibc, то есть подготовленные - заголовочные файлы, установленные в Раздел 5.4, - «Заголовочные файлы Linux-6.7.4 API». Поэтому их никогда не следует заменять на чистые - заголовочные файлы ядра или любые другие подготовленные - заголовочные файлы. -

-
-
-
-

- 10.3.2. Настройка - порядка загрузки модулей Linux -

-

- В большинстве случаев модули Linux загружаются автоматически, но - иногда требуется определенный порядок. Программа, которая загружает - модули, modprobe или - insmod, использует - файл /etc/modprobe.d/usb.conf как раз - для этой цели. Этот файл должен быть заполнен таким образом, что - если USB-драйверы (ehci_hcd, ohci_hcd и uhci_hcd) были собраны в - виде модулей, то они будут загружены в правильном порядке; ehci_hcd - должен быть загружен до ohci_hcd и uhci_hcd для того, чтобы - избежать предупреждений во время загрузки. -

-

- Создайте новый файл /etc/modprobe.d/usb.conf, выполнив следующую - команду: -

-
install -v -m755 -d /etc/modprobe.d
-cat > /etc/modprobe.d/usb.conf << "EOF"
-# Begin /etc/modprobe.d/usb.conf
-
-install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i ohci_hcd ; true
-install uhci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i uhci_hcd ; true
-
-# End /etc/modprobe.d/usb.conf
-EOF
-
-
-

- 10.3.3. - Содержимое пакета Linux -

-
-
-
- Установленные файлы: - config-6.7.4, vmlinuz-6.7.4-lfs-12.1, и - System.map-6.7.4 -
-
- Созданные каталоги: - /lib/modules, - /usr/share/doc/linux-6.7.4 -
-
-
-
-

- Краткое описание -

- - - - - - - - - - - - - - - - - - - -
-

- config-6.7.4 -

-
-

- Содержит в себе все параметры конфигурации ядра -

-
-

- vmlinuz-6.7.4-lfs-12.1 -

-
-

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

-
-

- System.map-6.7.4 -

-
-

- Список адресов и символов; файл содержит точки входа и - адреса всех функций и структур данных в ядре -

-
-
-
-
- - - -- cgit v1.2.3