[devel] Замена для mkinitrd

Kirill A. Shutemov kirill на shutemov.name
Пт Май 22 13:50:56 MSD 2009


2009/5/21 Dmitry M. Maslennikov <maslennikovdm на gmail.com>:
> 21 мая 2009 г. 16:07 пользователь Eugene Ostapets <eostapets на gmail.com> написал:
>> Хм... А вы не смотрели на уже существующие и достаточно отлаженные
>> решения, которые могут все нижеперечисленное и еще кучу всего, что вам
>> даже в голову не пришло?
>> Федора переходит на это:
>> http://fedoraproject.org/wiki/Initrdrewrite

Initial ideas

* One initrd to rule them all - Instead of one for the livecd, one for
the installer,
  one for the distro

Я не хочу initrd такого размера. А вы?

>> Точно по вашим принципам работает mkinitrd из Suse и (по слухам - сам
>> не смотрел в его потроха) в Debian...

Дайте ссылку на исходники mkinitrd из Suse, пожалуйста.

> Присоединяюсь к вопросу. Мне в свое время нравилось решение от
> ArchLinux: http://wiki.archlinux.org/index.php/Mkinitcpio

По документации выглядит неплохо.

У нас несколько другой подход к подключению дополнительного функционала. В
mkinitcpio в HOOKS указывается _порядок_ добавления функционала в образ. Мы
же пытаемся сделать так, что бы пользователь лишь заявлял какой функционал от
initrd ему требуется (см. FEATURES в make-initrd), а сами модули
пишутся так, что
бы порядок в стеке устройств (например, lusk поверх lvm, или наоборот) на этапе
сборки образа был не важен.

Ещё, похоже он не умеет загружаться по UUID= и LABEL=, которые используются
у нас.


Я считаю, что это не случайно, что каждый более-менее большой дистрибутив имеет
свой инструментарий для сборки initrd. У каждого дистрибутива хватает
специфики в
области начальной загрузки. Если вы желаете адаптировать любой из выше
обозначенных вариантов для ALT -- попробуйте. Мне кажется получится форк,
который никто поддерживать не будет.


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