diff options
author | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
---|---|---|
committer | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
commit | 2203e654b389586650d553251b04544a34f189bf (patch) | |
tree | 0125b69fc70a2506c53158ba2020993a5b8985b7 /lfs-12.1-sysv/chapter10/kernel.html | |
parent | 200d528e55ca954d37769f4d143f10c9519b00e7 (diff) | |
download | sn4il-site-2203e654b389586650d553251b04544a34f189bf.tar.gz sn4il-site-2203e654b389586650d553251b04544a34f189bf.zip |
LFS 12.2
Diffstat (limited to 'lfs-12.1-sysv/chapter10/kernel.html')
-rw-r--r-- | lfs-12.1-sysv/chapter10/kernel.html | 756 |
1 files changed, 0 insertions, 756 deletions
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 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> - <title> - 10.3. Linux-6.7.4 - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> - <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= - "text/css" media="print" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - </head> - <body class="lfs" id="lfs-12.1"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.1 - </h4> - <h3> - Глава 10. Делаем систему LFS загрузочной - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="fstab.html" title= - "Создание файла /etc/fstab">Пред.</a> - <p> - Создание файла /etc/fstab - </p> - </li> - <li class="next"> - <a accesskey="n" href="grub.html" title= - "Использование GRUB для настройки процесса загрузки">След.</a> - <p> - Использование GRUB для настройки процесса загрузки - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter10.html" title= - "Глава 10. Делаем систему LFS загрузочной">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - <h1 class="sect1"> - <a id="ch-bootable-kernel" name="ch-bootable-kernel"></a>10.3. - Linux-6.7.4 - </h1> - <div class="wrap" lang="ru" xml:lang="ru"> - <div class="package" lang="ru" xml:lang="ru"> - <p> - Этот пакет содержит ядро Linux. - </p> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Приблизительное время сборки:</strong> - <span class="segbody">0.6 - 20.4 SBU (обычно около 1.4 - SBU)</span> - </div> - <div class="seg"> - <strong class="segtitle">Требуемое дисковое - пространство:</strong> <span class="segbody">1.8 - 10.6 GB - (обычно около 2 GB)</span> - </div> - </div> - </div> - </div> - <div class="installation" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - 10.3.1. Установка ядра - </h2> - <p> - Сборка ядра состоит из нескольких этапов—настройка, компиляция и - установка. Ознакомьтесь с файлом <code class= - "filename">README</code> в дереве исходных текстов, чтобы узнать об - альтернативных способах настройки ядра. - </p> - <div class="admon important"> - <img alt="[Важно]" src="../images/important.png" /> - <h3> - Важно - </h3> - <p> - Сборка ядра Linux в первый раз — одна из самых сложных задач в - LFS. Правильный выбор параметров зависит от конкретного - оборудования для целевой системы и ваших потребностей. Для ядра - доступно почти 12 000 элементов конфигурации, хотя для - большинства компьютеров требуется только около трети из них. - Редакторы LFS рекомендуют пользователям, не знакомым с этим - процессом, внимательно следовать описанным ниже процедурам. - Главная цель сейчас состоит в том, чтобы довести первоначальную - систему до состояния, когда вы сможете войти в систему из - командной строки при последующей перезагрузке в <a class="xref" - href="../chapter11/reboot.html" title= - "11.3. Перезагрузка системы">Раздел 11.3, «Перезагрузка - системы»</a>. Вопросы оптимизация и кастомизация второстепенны. - </p> - <p> - Для получения общей информации о конфигурации ядра смотрите - <a class="ulink" href= - "https://mirror.linuxfromscratch.ru/hints/downloads/files/kernel-configuration.txt"> - https://mirror.linuxfromscratch.ru/hints/downloads/files/kernel-configuration.txt</a>. - Дополнительную информацию о настройке и сборке ядра можно найти - по адресу <a class="ulink" href= - "https://anduin.linuxfromscratch.org/LFS/kernel-nutshell/">https://anduin.linuxfromscratch.org/LFS/kernel-nutshell/</a>. - Эти ссылки немного устарели, но все же дают разумное - представление о процессе. - </p> - <p> - Если ничего не помогает, вы можете обратиться за помощью в список - рассылки <a class="ulink" href= - "https://www.linuxfromscratch.org/mail.html">lfs-support</a>. - Обратите внимание, что подписка необходима для того, чтобы - рассылка не содержала спама. - </p> - </div> - <p> - Подготовьте пакет к компиляции, выполнив следующую команду: - </p> - <pre class="userinput"><kbd class="command">make mrproper</kbd></pre> - <p> - Выполнение этой команды гарантирует, что дерево исходников будет - абсолютно чистым. Разработчики ядра рекомендуют запускать эту - команду перед каждой компиляцией. Не следует полагаться на то, что - дерево исходных текстов ядра будет чистым после распаковки. - </p> - <p> - Существует несколько способов настройки параметров ядра. Обычно это - делается с помощью псевдографического интерфейса, например так: - </p> - <pre class="userinput"><kbd class= - "command">make menuconfig</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значения необязательных переменных окружения - make:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>LANG=<переменная_LANG_хоста> - LC_ALL=</code></em></span> - </dt> - <dd> - <p> - Устанавливает значение локали на то, которое используется на - хосте. Это может понадобиться для правильного отображения - интерфейса menuconfig с помощью ncurses в текстовой консоли - Linux с UTF-8. - </p> - <p> - Если это необходимо, обязательно замените значение <em class= - "replaceable"><code><переменной_LANG></code></em> на - значение переменной <code class="envar">$LANG</code> вашего - хоста. В качестве альтернативы вы можете использовать - значения переменных <code class="envar">$LC_ALL</code> или - <code class="envar">$LC_CTYPE</code>. - </p> - </dd> - <dt> - <span class="term"><span class="command"><strong>make - menuconfig</strong></span></span> - </dt> - <dd> - <p> - Эта команда запускает интерфейс на основе ncurses. Для - использования других (графических) интерфейсов, выполните - <span class="command"><strong>make help</strong></span>. - </p> - </dd> - </dl> - </div> - <div class="admon note"> - <img alt="[Примечание]" src="../images/note.png" /> - <h3> - Примечание - </h3> - <p> - Хорошей отправной точкой для настройки ядра, может стать запуск - команды <span class="command"><strong>make - defconfig</strong></span>. В результате её выполнения будет - создана базовая конфигурация с учётом архитектуры системы. - </p> - <p> - Обязательно включите/отключите/настройте следующие параметры, - иначе система может работать некорректно или вообще не - загружаться: - </p> - <pre class="screen"><span class="blue">G</span>eneral setup ---> - [ ] <span class= -"blue">C</span>ompile the kernel with warnings as errors [WERROR] - <span class="blue">C</span>PU/Task time and stats accounting ---> - [*] <span class= -"blue">P</span>ressure stall information tracking [PSI] - [ ] <span class= -"blue">R</span>equire boot parameter to enable pressure stall information tracking - ... [PSI_DEFAULT_DISABLED] - < > <span class= -"blue">E</span>nable kernel headers through /sys/kernel/kheaders.tar.xz [IKHEADERS] - [*] <span class= -"blue">C</span>ontrol Group support ---> [CGROUPS] - [*] M<span class= -"blue">e</span>mory controller [MEMCG] - [ ] <span class= -"blue">C</span>onfigure standard kernel features (expert users) ---> [EXPERT] - -<span class="blue">P</span>rocessor type and features ---> - [*] <span class= -"blue">B</span>uild a relocatable kernel [RELOCATABLE] - [*] <span class= -"blue">R</span>andomize the address of the kernel image (KASLR) [RANDOMIZE_BASE] - -<span class="blue">G</span>eneral architecture-dependent options ---> - [*] <span class= -"blue">S</span>tack Protector buffer overflow detection [STACKPROTECTOR] - [*] <span class= -"blue">S</span>trong Stack Protector [STACKPROTECTOR_STRONG] - -<span class="blue">D</span>evice Drivers ---> - <span class="blue">G</span>eneric Driver Options ---> - [ ] <span class= -"blue">S</span>upport for uevent helper [UEVENT_HELPER] - [*] M<span class= -"blue">a</span>intain a devtmpfs filesystem to mount at /dev [DEVTMPFS] - [*] <span class= -"blue">A</span>utomount devtmpfs at /dev, after the kernel mounted the rootfs - ... [DEVTMPFS_MOUNT] - <span class="blue">G</span>raphics support ---> - < /*/M> <span class= -"blue">D</span>irect Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> - ... [DRM] - # If [DRM] is selected as * or M, this must be selected: - [ /*] <span class= -"blue">E</span>nable legacy fbdev support for your modesetting driver - ... [DRM_FBDEV_EMULATION] - <span class="blue">C</span>onsole display driver support ---> - # If [DRM] is selected as * or M, this must be selected: - [ /*] <span class= -"blue">F</span>ramebuffer Console support [FRAMEBUFFER_CONSOLE]</pre> - <p> - Включите некоторые дополнительные функции, если вы собираете - 64-битную систему. Если вы используете menuconfig, включите их в - следующем порядке: сначала <em class= - "parameter"><code>CONFIG_PCI_MSI</code></em>, затем <em class= - "parameter"><code>CONFIG_IRQ_REMAP</code></em>, и, наконец, - <em class="parameter"><code>CONFIG_X86_X2APIC</code></em>, потому - что параметр отображается только после выбора его зависимости. - </p> - <pre class="screen"><span class= - "blue">P</span>rocessor type and features ---> - [*] <span class= -"blue">S</span>upport x2apic [X86_X2APIC] - -<span class="blue">D</span>evice Drivers ---> - [*] <span class= -"blue">P</span>CI support ---> [PCI] - [*] M<span class= -"blue">e</span>ssage Signaled Interrupts (MSI and MSI-X) [PCI_MSI] - [*] <span class= -"blue">I</span>OMMU Hardware Support ---> [IOMMU_SUPPORT] - [*] <span class= -"blue">S</span>upport for Interrupt Remapping [IRQ_REMAP]</pre> - <p> - Если вы создаете 32-разрядную систему, работающую на оборудовании - с объемом оперативной памяти более 4 ГБ, измените конфигурацию - таким образом, чтобы ядро могло использовать до 64 ГБ оперативной - памяти: - </p> - <pre class="screen"><span class= - "blue">P</span>rocessor type and features ---> - H<span class="blue">i</span>gh Memory Support ---> - (X) <span class= -"blue">6</span>4GB [HIGHMEM64G]</pre> - <p> - Если раздел для системы LFS находится на NVME SSD (то есть узлом - устройства для раздела является <code class= - "filename">/dev/nvme*</code>, а не <code class= - "filename">/dev/sd*</code>), включите параметр NVME support, - иначе система LFS не будет загружаться: - </p> - <pre class="screen"><span class= - "blue">D</span>evice Drivers ---> - N<span class="blue">V</span>ME Support ---> - <*> N<span class= -"blue">V</span>M Express block device [BLK_DEV_NVME]</pre> - </div> - <p> - Есть несколько других параметров, которые могут понадобиться в - зависимости от особенностей системы. Для получения списка - необходимых опций для пакетов BLFS смотрите <a class="ulink" href= - "https://mirror.linuxfromscratch.ru/blfs/view/12.1/longindex.html#kernel-config-index"> - Список опций ядра BLFS</a>. - </p> - <div class="admon note"> - <img alt="[Примечание]" src="../images/note.png" /> - <h3> - Примечание - </h3> - <p> - Если ваша хост поддерживает UEFI и вы хотите загрузить LFS с - помощью него, вам необходимо настроить некоторые параметры ядра, - следуя инструкции <a class="ulink" href= - "https://mirror.linuxfromscratch.ru/blfs/view/12.1/postlfs/grub-setup.html#uefi-kernel"> - на странице BLFS</a>, <span class="bold"><strong>даже если вы - будете использовать загрузчик UEFI из основного - дистрибутива</strong></span>. - </p> - </div> - <div class="variablelist"> - <p class="title"> - <strong>Пояснения для выбранных выше параметров ядра:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class="parameter"><code>Randomize the - address of the kernel image (KASLR)</code></em></span> - </dt> - <dd> - <p> - Включите ASLR для образа ядра, чтобы уменьшить вероятность - некоторых атак, основанных на фиксированных адресах - конфиденциальных данных или кода в ядре. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>Compile the - kernel with warnings as errors</code></em></span> - </dt> - <dd> - <p> - Включение этого параметра может привести к сбою сборки, если - компилятор и/или конфигурация отличается от конфигурации ядра - разработчиков. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>Enable kernel - headers through /sys/kernel/kheaders.tar.xz</code></em></span> - </dt> - <dd> - <p> - Для сборки ядра с этим параметром необходим пакет - <span class="command"><strong>cpio</strong></span>. - <span class="command"><strong>cpio</strong></span> не - устанавливается в LFS. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>Configure - standard kernel features (expert users)</code></em></span> - </dt> - <dd> - <p> - Эта опция приведет к отображению некоторых параметров в - интерфейсе конфигурации, но изменение этих параметров может - быть опасным. Не используйте её, если вы не знаете, что - делаете. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>Strong Stack - Protector</code></em></span> - </dt> - <dd> - <p> - Включите SSP для ядра. Мы включили его для всего - пользовательского пространства с помощью <em class= - "parameter"><code>--enable-default-ssp</code></em>, настроив - GCC, но ядро не использует настройки GCC по умолчанию для - SSP. Мы включаем это явно здесь. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>Support for - uevent helper</code></em></span> - </dt> - <dd> - <p> - Включение этого параметра может вызвать сбои при управление - устройствами через Udev. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>Maintain a - devtmpfs</code></em></span> - </dt> - <dd> - <p> - С помощью этого параметра узлы устройств создаются - автоматически и заполняются самим ядром, даже без запуска - Udev. Udev будет работать поверх, управляя разрешениями и - добавляя необходимые символические ссылки. Этот элемент - конфигурации необходим всем пользователям Udev. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>Automount - devtmpfs at /dev</code></em></span> - </dt> - <dd> - <p> - Этот параметр позволит смонтировать представление ядра - устройств в /dev при переключении на корневую файловую - систему непосредственно перед запуском init. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>Enable legacy - fbdev support for your modesetting driver</code></em> и - <em class="parameter"><code>Framebuffer Console - support</code></em></span> - </dt> - <dd> - <p> - Они необходимы для отображения консоли Linux на графическом - процессоре, управляемом драйвером DRI (Direct Rendering - Infrastructure - инфраструктура прямого рендеринга). Если - <code class="option">CONFIG_DRM</code> (Direct Rendering - Manager - диспетчер прямого рендеринга) включен, вам также - следует включить эти две опции, иначе вы увидите пустой экран - после загрузки драйвера DRI. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>Support - x2apic</code></em></span> - </dt> - <dd> - <p> - Поддержка запуска 64-разрядного контроллера прерываний для - x86 процессоров в режиме x2APIC. x2APIC может быть включен в - BIOS на системах x86 и у ядра собранного без этой опции будет - kernel panic при загрузке. Эта опция не окажет никакого - эффекта, но и не причиняет вреда, если x2APIC отключен в - BIOS. - </p> - </dd> - </dl> - </div> - <p> - В качестве альтернативы, в некоторых ситуациях может быть уместно - использование команды <span class="command"><strong>make - oldconfig</strong></span>. Смотрите файл <code class= - "filename">README</code> для получения дополнительной информации. - </p> - <p> - По желанию, вы можете пропустить настройку ядра, скопировав - конфигурационный файл ядра <code class="filename">.config</code>, - из хост системы(если он доступен) в каталог куда было распаковано - ядро <code class="filename">linux-6.7.4</code>. Однако, мы не - рекомендуем этот вариант. Намного лучше изучить все параметры меню - и создать конфигурацию ядра с нуля. - </p> - <p> - Скомпилируйте образ ядра и модули: - </p> - <pre class="userinput"><kbd class="command">make</kbd></pre> - <p> - При использовании модулей, могут потребоваться файлы конфигурации, - которые расположены в каталоге <code class= - "filename">/etc/modprobe.d</code>. Информация о модулях и - конфигурации ядра находится в <a class="xref" href= - "../chapter09/udev.html" title= - "9.3. Взаимодействие с устройствами и модулями">Раздел 9.3, - «Взаимодействие с устройствами и модулями»</a> и в документации к - ядру <code class="filename">linux-6.7.4/Documentation</code>. Кроме - этого, стоит ознакомиться с руководством <a class="ulink" href= - "https://man.archlinux.org/man/modprobe.d.5">modprobe.d(5)</a>. - </p> - <p> - Если поддержка модулей не была отключена в параметрах ядра, - установите модули с помощью: - </p> - <pre class="userinput"><kbd class= - "command">make modules_install</kbd></pre> - <p> - После окончания компиляции, необходимо выполнить еще несколько - шагов для завершения установки ядра. Некоторые файлы должны быть - скопированы в каталог <code class="filename">/boot</code>. - </p> - <div class="admon caution"> - <img alt="[Внимание]" src="../images/caution.png" /> - <h3> - Внимание - </h3> - <p> - Если вы решили использовать отдельный <code class= - "filename">/boot</code> раздел для системы LFS (возможно, общий - раздел <code class="filename">/boot</code> с хост-дистрибутивом), - скопированные ниже файлы должны быть помещены туда. Самый простой - способ сделать это — сначала создать запись для <code class= - "filename">/boot</code> в <code class= - "filename">/etc/fstab</code> (подробности читайте в предыдущем - разделе), затем выполните следующую команду от имени пользователя - <code class="systemitem">root</code> в среде <span class= - "emphasis"><em>chroot</em></span>: - </p> - <pre class="userinput"><kbd class="command">mount /boot</kbd></pre> - <p> - Путь к узлу устройства в команде опущен, поскольку <span class= - "command"><strong>mount</strong></span> может прочитать его из - <code class="filename">/etc/fstab</code>. - </p> - </div> - <p> - Путь к образу ядра может различаться в зависимости от используемой - платформы. Имя файла, может быть произвольным, но начинаться должно - с <span class="emphasis"><em>vmlinuz</em></span> для обеспечения - совместимости с автоматической настройкой процесса загрузки, - описанного в следующем разделе. Следующая команда предполагает - архитектуру x86: - </p> - <pre class="userinput"><kbd class= - "command">cp -iv arch/x86/boot/bzImage /boot/vmlinuz-6.7.4-lfs-12.1</kbd></pre> - <p> - <code class="filename">System.map</code> - это символьный файл для - ядра. Он содержит точки входа каждой функции в API ядра, а также - адреса структур данных для запущенного ядра. Он используется в - качестве ресурса при исследовании проблем с ядром. Выполните - следующую команду для установки файла: - </p> - <pre class="userinput"><kbd class= - "command">cp -iv System.map /boot/System.map-6.7.4</kbd></pre> - <p> - Файл конфигурации ядра <code class="filename">.config</code> - создается на шаге <span class="command"><strong>make - menuconfig</strong></span> и содержит все параметры ядра, которое - было скомпилировано только что. Рекомендуется сохранить этот файл - на будущее: - </p> - <pre class="userinput"><kbd class= - "command">cp -iv .config /boot/config-6.7.4</kbd></pre> - <p> - Установите документацию ядра: - </p> - <pre class="userinput"><kbd class= - "command">cp -r Documentation -T /usr/share/doc/linux-6.7.4</kbd></pre> - <p> - Важно отметить, что файлы в каталоге с исходным кодом ядра не - принадлежат пользователю <span class= - "emphasis"><em>root</em></span>. Всякий раз, когда пакет - распаковывается от имени пользователя <span class= - "emphasis"><em>root</em></span> (как это и выполнялось внутри среды - chroot), файлы имеют те идентификаторы пользователя и группы, - которые были присвоены при распаковке. Обычно это не вызывает - проблем для других устанавливаемых пакетов, так как каталог с - исходниками удаляется после установки пакета. Однако исходный код - ядра Linux часто сохраняется в течение длительного времени. Из-за - этого существует вероятность того, что идентификатор пользователя, - используемый при распаковке, будет назначен другому пользователю. В - таком случае, этот пользователь будет иметь доступ на запись в этот - каталог. - </p> - <div class="admon note"> - <img alt="[Примечание]" src="../images/note.png" /> - <h3> - Примечание - </h3> - <p> - В ряде случаев требуется обновить конфигурацию ядра для пакетов, - которые будут установлены позже в BLFS. В отличии от других - пакетов, нет необходимости удалять дерево исходного кода ядра - после установки только что собранного ядра. - </p> - <p> - Если вы планируете оставить каталог с исходным кодом ядра, - выполните команду <span class="command"><strong>chown -R 0:0 - *</strong></span> находясь в каталоге <code class= - "filename">linux-6.7.4</code>, чтобы все файлы принадлежали - пользователю <span class="emphasis"><em>root</em></span>. - </p> - </div> - <div class="admon warning"> - <img alt="[Предупреждение]" src="../images/warning.png" /> - <h3> - Предупреждение - </h3> - <p> - Иногда, в документации к ядру, рекомендуют создать символическую - ссылку <code class="filename">/usr/src/linux</code> указывающую - на каталог с исходниками ядра. Эта рекомендация относится к ядрам - до версии 2.6 и <span class="emphasis"><em>не должна</em></span> - выполняться в системе LFS, так как это может вызвать проблемы с - пакетами, которые вы, возможно, захотите собрать, когда ваша - базовая система LFS будет готова. - </p> - </div> - <div class="admon warning"> - <img alt="[Предупреждение]" src="../images/warning.png" /> - <h3> - Предупреждение - </h3> - <p> - Заголовочные файлы в системном каталоге <code class= - "filename">include</code> (<code class= - "filename">/usr/include</code>) <span class= - "emphasis"><em>всегда</em></span> используются те, которые - применялись при компиляции Glibc, то есть подготовленные - заголовочные файлы, установленные в <a class="xref" href= - "../chapter05/linux-headers.html" title= - "5.4. Заголовочные файлы Linux-6.7.4 API">Раздел 5.4, - «Заголовочные файлы Linux-6.7.4 API»</a>. Поэтому их <span class= - "emphasis"><em>никогда</em></span> не следует заменять на чистые - заголовочные файлы ядра или любые другие подготовленные - заголовочные файлы. - </p> - </div> - </div> - <div class="configuration" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - <a id="conf-modprobe" name="conf-modprobe"></a>10.3.2. Настройка - порядка загрузки модулей Linux - </h2> - <p> - В большинстве случаев модули Linux загружаются автоматически, но - иногда требуется определенный порядок. Программа, которая загружает - модули, <span class="command"><strong>modprobe</strong></span> или - <span class="command"><strong>insmod</strong></span>, использует - файл <code class="filename">/etc/modprobe.d/usb.conf</code> как раз - для этой цели. Этот файл должен быть заполнен таким образом, что - если USB-драйверы (ehci_hcd, ohci_hcd и uhci_hcd) были собраны в - виде модулей, то они будут загружены в правильном порядке; ehci_hcd - должен быть загружен до ohci_hcd и uhci_hcd для того, чтобы - избежать предупреждений во время загрузки. - </p> - <p> - Создайте новый файл <code class= - "filename">/etc/modprobe.d/usb.conf</code>, выполнив следующую - команду: - </p> - <pre class="userinput"><kbd class= - "command">install -v -m755 -d /etc/modprobe.d -cat > /etc/modprobe.d/usb.conf << "EOF" -<code class="literal"># 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</code> -EOF</kbd></pre> - </div> - <div class="content" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - <a id="contents-kernel" name="contents-kernel"></a>10.3.3. - Содержимое пакета Linux - </h2> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Установленные файлы:</strong> - <span class="segbody">config-6.7.4, vmlinuz-6.7.4-lfs-12.1, и - System.map-6.7.4</span> - </div> - <div class="seg"> - <strong class="segtitle">Созданные каталоги:</strong> - <span class="segbody">/lib/modules, - /usr/share/doc/linux-6.7.4</span> - </div> - </div> - </div> - <div class="variablelist"> - <h3> - Краткое описание - </h3> - <table border="0" class="variablelist"> - <colgroup> - <col align="left" valign="top" /> - <col /> - </colgroup> - <tbody> - <tr> - <td> - <p> - <a id="config" name="config"></a><span class= - "term"><code class="filename">config-6.7.4</code></span> - </p> - </td> - <td> - <p> - Содержит в себе все параметры конфигурации ядра - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="lfskernel" name="lfskernel"></a><span class= - "term"><code class= - "filename">vmlinuz-6.7.4-lfs-12.1</code></span> - </p> - </td> - <td> - <p> - Ядро системы Linux. При включении компьютера ядро — это - первая загружаемая часть операционной системы. Оно - обнаруживает и инициализирует все компоненты аппаратного - обеспечения компьютера, делает их доступными в виде - дерева каталогов с файлами для доступа к ним программ и - превращает один процессор в мультизадачную машину, - способную выполнять множество программ как будто - одновременно. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="System.map" name="System.map"></a><span class= - "term"><code class= - "filename">System.map-6.7.4</code></span> - </p> - </td> - <td> - <p> - Список адресов и символов; файл содержит точки входа и - адреса всех функций и структур данных в ядре - </p> - </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="fstab.html" title= - "Создание файла /etc/fstab">Пред.</a> - <p> - Создание файла /etc/fstab - </p> - </li> - <li class="next"> - <a accesskey="n" href="grub.html" title= - "Использование GRUB для настройки процесса загрузки">След.</a> - <p> - Использование GRUB для настройки процесса загрузки - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter10.html" title= - "Глава 10. Делаем систему LFS загрузочной">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - </body> -</html> |