[devel] IA: mkinitrd-3.0.0-alt1 - initramfs by default

Sergey Vlasov vsu на altlinux.ru
Чт Фев 8 23:24:15 MSK 2007


Hello!

В новой версии mkinitrd-3.0.0-alt1 произошло существенное изменение -
добавлена поддержка создания образов в формате initramfs, причём этот
формат теперь используется по умолчанию.

В создаваемом образе initramfs теперь используется udevd, что даёт
следующие возможности, отсутствовавшие в предыдущих версиях mkinitrd:

 - В параметре root=... можно указывать не только имя устройства,
   используемое ядром (/dev/hda1, /dev/sda5 и т.п.), но и любое из
   дополнительных имён, создаваемых udev - /dev/disk/by-uuid/<UUID>,
   /dev/disk/by-label/<LABEL>, и даже варианты by-id и by-path.
   Впрочем, такой синтаксис не работает при использовании lilo,
   поскольку нет способа отключить выполняемое lilo преобразование
   имени устройства в major:minor (скрипты в initramfs вместо
   оригинального имени получают только номер устройства).

 - Для обхода проблем с lilo можно использовать синтаксис вида:

     root="UUID=00000000-0000-0000-0000-000000000000"
     root="LABEL=/"

   (кавычки нужны при записи этих значений в lilo.conf; в других
   загрузчиках они могут не требоваться).

   Вариант с LABEL=... не вполне эквивалентен /dev/disk/by-label/...,
   поскольку в последнем случае некоторые символы в имени удаляются
   или модифицируются по сравнению с настоящим именем (например, метку
   "/" нельзя представить в виде /dev/disk/by-label/...).

 - Параметр resume=..., используемый для указания swap-раздела для
   swsusp, также может записываться в одной из описанных выше форм.
   Для параметра resume2=..., используемого патчем suspend2, эта
   возможность недоступна (допускаются только варианты, поддерживаемые
   кодом suspend2 в ядре).

 - При использовании udevd возможно создание образа initramfs,
   содержащего более широкий набор модулей, чем необходимый для
   конкретной системы - в этом случае udevd может автоматически
   загрузить модули, необходимые для поддержки присутствующих
   устройств (с помощью того же механизма modalias, который теперь
   используется в системном udevd).  Впрочем, в mkinitrd-3.0.0-alt1
   создание таких образов пока ещё не реализовано - все модули,
   указанные в опциях --with, --preload или определённые
   автоматически, будут загружены принудительно.

Прочие изменения в mkinitrd-3.0.0-alt1:

 - При определении используемых уровней RAID (что нужно для
   определения списка модулей, помещаемых в initramfs) используется не
   только устаревший файл /etc/raidtab, но и вывод команды
   /usr/sbin/mdadm --detail --scan (если установлен пакет mdadm).

 - Код для поддержки автозапуска RAID-массивов (md), используемый в
   initramfs, теперь поддерживает параметры md=... и raid=...,
   описанные в документации ядра (в частности, можно отключить
   автозапуск RAID параметром raid=noautodetect, или запустить все
   RAID-массивы как устройства с возможностью разбиения на разделы,
   указав параметр raid=part; последний вариант не вполне совместим с
   текущими скриптами в пакете startup).

 - Добавлена опция "-a INITRAMFS_FILE=FILE", предназначенная для
   добавления в initramfs дополнительных файлов.  Например, для замены
   таблицы DSDT (патч для поддержки этой возможности входит как
   минимум в сборки ядер 2.6.18-std) можно при вызове mkinitrd указать
   опцию вида:

     -a DSDT.aml=/boot/dsdt.aml

   (DSDT.aml - фиксированное имя, используемое в патче; имя файла,
   который будет скопирован в образ, не обязано совпадать с тем, под
   которым он будет помещён в initramfs).

   Для автоматического добавления опций mkinitrd при установке ядра
   можно указать нужные опции в переменной MKINITRD_OPTIONS в файле
   /etc/sysconfig/installkernel.

Формат initramfs теперь используется по умолчанию для всех ядер,
начиная с версии 2.6.15 (с более ранними версиями ядер текущая версия
udev несовместима).  Если необходимо создать образ initrd в старом
формате, можно указать опцию --type=romfs (или --type=ext2, если
создаётся образ для самостоятельно собранного варианта ядра -
имеющиеся в Сизифе ядра уже давно не имеют встроенной поддержки ext2).

-- 
Sergey Vlasov
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: Digital signature
Url     : http://lists.altlinux.org/pipermail/devel/attachments/20070208/9a96cf41/attachment.bin 


Подробная информация о списке рассылки Devel