Использование Slackware Linux совместно с полуаппаратными RAID-массивами


Переход на ядра generic-smp


    В отличие от ядер hugesmp, требуемых в основном для инсталляции и первой загрузки, и содержащих в себе все возможные драйверы для оборудования, ядра generic-smp предназначены для обычной работы и содержат разумный минимум опций, оставляя большинство драйверов вне ядра в виде модулей. Разработчики рекомендуют после установки перейти на ядро generic-smp.
    Образ inird с раздела 'Скачать' требуется для работы с ядром hugesmp, потому что этому ядру самому по себе не нужен initrd. Ядрам generic-smp обязательно нужен свой initrd, т.к. даже поддержка файловых систем выполнена в виде модулей, и перед монтированием корневой фс нужно этот модуль подгрузить. Для создания initrd в Slackware служит пакет mkinitrd (и одноимённый скрипт). С его помощью можно создать initrd для 'своей' системы, включив требуемые модули для конкретного ядра, указав имя своего корневого устройства, так что загрузчику его можно и не передавать, включив поддержку шифрованных фс, поддержку lvm.
    Но mkinitrd из дистрибутива не приспособлен к работе с вашим raid. Поэтому, чтобы собрать initrd конкретно для своей системы с dmraid и правильными модулями, были созданы пакеты dmraid и mkinitrd. Второй пакет создан на основе официального пакета из стабильной ветки с добавлением поддержки ATARAID. У скрипта mkinitrd появилась новая опция -D, которая указывает копировать статически собранный dmraid в образ и при загрузке активировать все найденные raid (вызов 'dmraid -ay -Z').
    Итак, для перехода на ядро generic-smp нужно:
  1. Загрузить пакеты dmraid и mkinitrd для нужной версии Slackware (см. скачать)
  2. Установить пакет dmraid (installpkg)
  3. Обновить/установить пакет mkinitrd (upgradepkg --install-new)
  4. Собрать образ initrd, например, так:
       mkinitrd -D -с -k 3.2.29-smp -m ext3 -r /dev/mapper/nvidia_eeajfichp1 -f ext3 -o /boot/initrd-gen-14.0.gz
   
    Опция -D добавляет в initrd статически собранный dmraid из пакета, также в образ попадёт модуль ext3 (из /lib/modules/3.2.29-smp, опция -k). Опции -r и -f указывают устройство с корневой фс и тип корневой фс. После успешного выполнения создастся образ /boot/initrd-gen-14.0.gz. В конфигурации GRUB нужно указать этот initrd  и удалить ненужные параметры root и rootfstype, т.к. inird уже знает о них. Пример:

title Slackware 14.0 generic-smp 3.2.29
root (hd0,0)
kernel /boot/vmlinuz-generic-smp-3.2.29-smp
initrd /boot/initrd-gen-14.0.gz