[sisyphus] Использование make-initrd
Kirill A. Shutemov
kirill на shutemov.name
Пн Сен 21 09:16:01 UTC 2009
2009/9/21 Eugene Prokopiev <enp at altlinux.org>:
>>>> Лучше посмотрите на make-initrd и допишите к нему фичу. Он когда-нибудь
>>>> заменит теперешний mkinitrd.
>>>
>>> А когда и насколько оно сейчас готово для практического использования?
>>
>> Пока это альфа. Помогите с тестирование. Когда вытопчем грабли, тогда и
>> будет готово.
>
> Задача: грузить некую систему (похожую на
> http://git.altlinux.org/people/kas/packages/mkimage-profile-nanolive.git)
> из образа squashfs как с сетевого блочного девайса (NBD), так и с
> cd/flash, на котором находится файл с образом squashfs. В первом случа
> пропагатор совсем не поможет, во втором желательно обойтись без него.
>
> Если я правильно понимаю, мне нужно написать такой конфиг:
>
> # cat /etc/initrd.mk
> IMAGEFILE = initrd-$(KERNEL).img
> MODULES_ADD = e100
наверно, вы ещё хотите сюда squashfs?
> FEATURES = nbd compress cleanup
>
> И описать фичу nbd примерно следующим образом:
>
> # ls -R /usr/share/make-initrd/features/nbd/
> /usr/share/make-initrd/features/nbd/:
> config.mk data rules.mk
>
> /usr/share/make-initrd/features/nbd/data:
>
> # cat /usr/share/make-initrd/features/nbd/config.mk
> NBD_DATADIR ?= $(FEATURESDIR)/NBD/data
>
> # cat /usr/share/make-initrd/features/nbd/rules.mk
$(call require,depmod-image)
> nbd:
> @echo "Adding NBD support ..."
> @$(PUT_TREE) $(NBD_DATADIR)
наверно, нужно положить в образ модуль nbd и nbd-client
@$(LOAD_MODULE) nbd
@$(PUT_FILE) $(NBD_CLIENT)
NBD_CLIENT стоит определить в конфиге. все библиотеки, с которыми
слинкован бинарник, будут тоже добавлены в образ.
>
> pack: nbd
поскольку нужно добавить в образ модуль, то вместо pack, следует
использовать depmod-image.
>
> Расскажите теперь, что класть в data. Т.е. кто будет вызывать мои скрипты и что в них я могу использовать?
Основные точки входа:
etc/udev/rules.d/ - тут лежат udev-правила.
lib/udev-helpers/ - тут лежат скрипты которые вызываются из udev-правил.
modules/ - тут лежат скрипты которые выполняются в лексикогрфическом порадке
NBD немного не тривиален, в том плане, что нужно как-то
конфигурировать сеть и пытаться достучаться до сервера в нужный момент
времени. Пока этот функционал в make-initrd не реализован. Нужно
подумать как это сделать наиболее правильным образом.
Подробная информация о списке рассылки Sisyphus