Различия

Показаны различия между двумя версиями страницы.


wiki:od:rinitrd [04/10/2016 18:59] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +{{:wiki:od:ramdisk.jpg?nolink&100 |}}Перевел: //Graf//\\
 +Дата перевода: //октябрь 2016 г.//\\
 +Оригинал: http://slackware.osuosl.org/slackware-14.2/README.initrd 
 +\\
 +\\
 +^   **Slackware initrd mini HOWTO**   ^
 +\\
  
 +
 +Slackware initrd mini HOWTO от Patrick Volkerding, volkerdi@slackware.com\\
 +Пт 24 июня 15:14:53 CDT 2016
 +
 +Этот документ описывает, как создать и установить initrd, который может потребоваться для использования ядра версий 4.х. Смотрите также «man mkinitrd».
 +
 +===== Что такое Initrd? =====
 +
 +initrd расшифровывается как «initial ramdisk» (начальный виртуальный диск). Начальный виртуальный диск, это очень маленькая файловая система Linux, которая загружается в оперативную память и монтируется в качестве загрузчика ядра, перед монтированием основной корневой файловой системы.
 +
 +===== Зачем мне нужен initrd? =====
 +
 +Обычной причиной для использования initrd является то, что вам нужно загрузить модули ядра перед установкой корневого раздела. Как правило, эти модули, необходимы для поддержки файловой системы используемой корневым разделом (ext3, ext4, btrfs, XFS), или контроллера, жесткого диска который подключен к (SCSI, RAID, и т.д.). По существу, есть очень много различных опций, доступных в современных Linux ядрах, но не практично пытаться загружать различные ядра для того, чтобы удовлетворить потребности каждого. Гораздо более гибким решением будет загрузка стандартного ядра и набора модулей для него.
 +
 +===== Как я могу создать Initrd? =====
 +
 +Самый простой способ создать initrd это использовать скрипт mkinitrd , включенный в пакет Slackware, который так и называется «mkinitrd» . Мы пройдем через процесс обновления до generic 4.4.14 Linux ядра с помощью пакетов которые находится в каталоге slackware/a/.
 +
 +Во-первых, убедитесь, что ядро, модули ядра, и пакет mkinitrd установлены (текущий номер версии может быть немного другой, так что это просто пример):
 +<code>
 +installpkg kernel-generic-smp-4.4.14_smp-i686-1.txz
 +installpkg kernel-modules-smp-4.4.14_smp-i686-1.txz
 +installpkg mkinitrd-1.4.8-i586-8.txz
 +</code>
 +
 +Перейдите в каталог /boot:
 +<code>
 +cd /boot
 +</code>
 +
 +Теперь нужно будет запустить «mkinitrd». Я использую ext4 для корневой файловой системы, и так как контроллер диска не требует специальной поддержки, то мне, для загрузки, нужен будет только один модуль ext4 :
 +<code>
 +mkinitrd -c -k 4.4.14 -m ext4
 +</code>
 +
 +Эта команда сделает две вещи. Сначала, создаст каталог /boot/initrd-tree, содержащий файловую систему initrd. А потом создаст сам initrd (/boot/initrd.gz) из этого дерева. Если вы хотите, то можете сделать некоторые дополнительные изменения в /boot/initrd-tree/, а затем запустить mkinitrd снова без опций, чтобы пересоздать образ. Это необязательно делать, хотя, только опытным пользователям нужно будет думать об этом.
 +
 +Вот еще один пример: Создание образа initrd с помощью Linux 4.4.14 модуля ядра для системы с ext4 на корневой раздел /dev/sdb3:
 +<code>
 +mkinitrd -c -k 4.4.14 -m ext4 -f ext4 -r /dev/sdb3
 +</code>
 +
 +===== Теперь, когда я создал Initrd, как я могу его использовать? =====
 +
 +Теперь, когда вы получили Initrd (/boot/initrd.gz), то захотите загрузить его вместе с ядром во время загрузки. Если вы используете загрузчик LILO, то вам нужно отредактировать файл /etc/lilo.conf и добавить строку для загрузки Initrd. Вот пример раздела lilo.conf, показывающий, как это делается:
 +<code>
 +# Linux bootable partition config begins
 +image = /boot/vmlinuz-generic-smp-4.4.14-smp
 +  initrd = /boot/initrd.gz
 +  root = /dev/sda6
 +  label = Lnx4414
 +  read-only
 +# Linux bootable partition config ends
 +</code>
 +
 +Initrd загружается в строке <<initrd = /boot/initrd.gz>>. Просто добавьте эту
 +строку прямо под строкой используемого образа ядра . Сохраните файл, а затем
 +запустить LILO снова (набрав <<lilo>> в командной строке). Вам нужно запускать
 +<<lilo>> каждый раз, когда вы редактируете lilo.conf или пересоздаете Initrd.
 +
 +Initrd загружается в строке «initrd = /boot/initrd.gz». Просто добавьте эту строку прямо под строкой используемого образа ядра . Сохраните файл, а затем запустить LILO снова (набрав «lilo» в командной строке). Вам нужно запускать «lilo» каждый раз, когда вы редактируете lilo.conf или пересоздаете initrd.
 +
 +Другие загрузчики, такие как SYSLINUX также поддерживают использование initrd. Для подробностей, смотрите документацию по этим программам об использовании initrd с ними.
 +
 +---------
 +
 +Удачи!
Навигация
Печать/экспорт
QR Code
QR Code wiki:od:rinitrd (generated for current page)