[devel] IA: mkinitrd-3.0.0-alt1 - initramfs by default
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Чт Фев 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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20070208/9a96cf41/attachment-0001.bin>
Подробная информация о списке рассылки Devel