[make-initrd] I: pipeline feature

Alexey Gladkov gladkov.alexey at gmail.com
Sat May 9 17:28:31 MSK 2020


On Sat, May 09, 2020 at 04:08:12PM +0300, Leonid Krivoshein wrote:
> > Пример cmdline:
> > 
> > root=pipeline pipeline=getimage,mountfs,overlayfs,rootfs \
> >    getimage=http://ftp.altlinux.org/pub/people/mike/iso/misc/vi-20140918-i586.iso \
> >    mountfs=rescue
> 
> На самом деле фича офигенная, вот и пришёл кирдык пропагатору! :-)
> Надо будет обязательно заюзать. Но пока вижу её только в мастере.

Ну да, я же только на этой неделе написал это )) 

> > initrd не будет смотреть на локальные диски, а скачает образ, смонтирует
> > его как loopback, смонтирует поверх overlayfs и попробует загрузить из
> > него систему т.е. поискать там /sbin/init.
> 
> Образ он скачает в ОЗУ, надо полагать?

Пока да. А куда это может скачать initrd ?

> Будет ли при этом поддерживаться старый параметр lowmem? Или данный
> параметр следует считать устаревшим?

lowmem позволяет монтировать squashfs непосредственно с носителя. У меня
есть стадия mountfs и она монтирует всё что угодно. Пока эта стадия не
ждёт устройств, но если устройство (любое) уже существует, то его можно
смонтировать на этой стадии.

Стадия getimage скачивает образ главным образом из сети. Его скачать можно
либо в RAM, либо на носитель, который уже будет смонтирован.

> Возможно ли включить в pipeline стадию, которая будет дожидаться каких-то
> локальных дисков?

Для того чтобы собрать недостающие хотелки я и опубликовал эту фичу.

Да, можно сделать стадию waitblock и параметром waitblock=SPEC.

> Объясню, для чего это может быть полезным. Допустим, мы не
> просто загружаем удалённую систему, а сразу после загрузки она должна будет
> на локальный диск что-то начать записывать или наоборот, брать с него
> какие-то большие файлы. Или же, в этом нет необходимости, потому что
> pipeline и так хорошо взаимодействует с уже имеющейся конструкцией?

Я не очень понял вопрос. pipeline это альтернативный способ загрузки, но
перекинуть мостик с udev, думаю, имеет смысл. Я этого не сделал с самого
начала потому что хотел сделать компактную и понятную реализацию.

-- 
Rgrds, legion



More information about the Make-initrd mailing list