From: Leonid Krivoshein <klark.devel@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] I: pipeline feature
Date: Thu, 18 Feb 2021 19:55:31 +0300
Message-ID: <88e0982a-556a-55eb-7cf2-e4bfb5fea450@gmail.com> (raw)
In-Reply-To: <20200521133617.aekvybv5mgpqkvmd@comp-core-i7-2640m-0182e6>
Привет!
21.05.2020 16:36, Alexey Gladkov пишет:
> On Fri, May 08, 2020 at 01:40:12PM +0200, Alexey Gladkov wrote:
>> Привет!
>>
>> Я закоммитил новую фичу для поиска рута не основанного на локальных
>> устройствах. Проблема в том, что make-initrd достаточно хорошо умеет
>> работать с локальными устройствами, но если нужно скачать и смонтировать
>> образ (или несколько их), то такие операции не вписываются в локальную
>> схему.
>>
>> Pipeline позволяет определить порядок стадий, которые нельзя завязать на
>> udev и инициализацию устройств.
>>
>> Сейчас реализовано всего несколько таких стадий: getimage, mountfs,
>> overlayfs. Стадии могут повторяться т.е. смонтировать и объединить с
>> помощью overlayfs можно не один squashfs из скачанного образа, а несколько.
>> Скачать можно также несколько образов.
>>
>> Пример 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.
>>
>> Эта фича экспериментальная. Она ещё не закончена и, возможно, с ней может
>> случиться что-то нехорошее в будущем.
>>
>> P.S. Документации пока минимум, потому что пока не всё ещё закончено.
> Исправил ошибки и теперь оно в каком-то виде точно работает. Сделал тест,
> который берёт корень из squashfs из iso, который из /dev/cdrom.
>
Получится ли использовать эту фичу, чтобы дождаться сборки других
рейдов, не связанных с корневым разделом? Дело в том, что сейчас
make-initrd всеми правдами может собрать рейд, на котором есть корневой
раздел, но если на внешней корзине много дисков и там несколько более
сложных рейдов, с корнем не связанных, они собраться не успевают до
pivot_root, так что правила systemd во второй стадии загрузки их тоже не
могут собрать, так как там стоит защита от состояния "inactive". Грубо
говоря, в простом случае тут хватило бы какой-то простой задержки, иначе
начальная загрузка ломает собираемость больших рейдов с данными.
--
Best regards,
Leonid Krivoshein.
next prev parent reply other threads:[~2021-02-18 16:55 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-08 11:40 Alexey Gladkov
2020-05-08 14:20 ` Michael Shigorin
2020-05-08 14:43 ` Alexey Gladkov
2020-05-09 13:08 ` Leonid Krivoshein
2020-05-09 14:28 ` Alexey Gladkov
2020-05-10 16:04 ` Alexey Gladkov
2020-05-21 13:36 ` Alexey Gladkov
2021-02-18 16:55 ` Leonid Krivoshein [this message]
2021-02-18 17:38 ` Alexey Gladkov
2021-02-18 18:18 ` Leonid Krivoshein
2021-02-18 19:37 ` Alexey Gladkov
2021-02-18 20:29 ` Leonid Krivoshein
2021-02-19 10:49 ` Alexey Gladkov
2021-02-19 13:40 ` Leonid Krivoshein
2021-02-20 9:58 ` Leonid Krivoshein
2021-02-20 10:31 ` Alexey Gladkov
2021-02-20 11:05 ` Leonid Krivoshein
2021-02-20 11:33 ` Alexey Gladkov
2021-02-20 14:29 ` Michael Shigorin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=88e0982a-556a-55eb-7cf2-e4bfb5fea450@gmail.com \
--to=klark.devel@gmail.com \
--cc=make-initrd@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Make-initrd development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/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 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
public-inbox-index make-initrd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.make-initrd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git