ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] IA: mkinitrd-3.0.0-alt1 - initramfs by default
@ 2007-02-08 20:24 Sergey Vlasov
  0 siblings, 0 replies; only message in thread
From: Sergey Vlasov @ 2007-02-08 20:24 UTC (permalink / raw)
  To: sisyphus; +Cc: devel

[-- Attachment #1: Type: text/plain, Size: 4134 bytes --]

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

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-02-08 20:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-08 20:24 [devel] IA: mkinitrd-3.0.0-alt1 - initramfs by default Sergey Vlasov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git