From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 Date: Thu, 18 Feb 2021 18:38:13 +0100 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20210218173722.dkyamp42c6gpdigk@example.org> References: <20200508114012.jgbjpdksisxryfg4@comp-core-i7-2640m-0182e6> <20200521133617.aekvybv5mgpqkvmd@comp-core-i7-2640m-0182e6> <88e0982a-556a-55eb-7cf2-e4bfb5fea450@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <88e0982a-556a-55eb-7cf2-e4bfb5fea450@gmail.com> Subject: Re: [make-initrd] I: pipeline feature X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2021 17:38:31 -0000 Archived-At: List-Archive: On Thu, Feb 18, 2021 at 07:55:31PM +0300, Leonid Krivoshein wrote: > Привет! > > > 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". Грубо говоря, в простом случае тут > хватило бы какой-то простой задержки, иначе начальная загрузка ломает > собираемость больших рейдов с данными. Эта фича не про рейды совсем. Попросить make-initrd смонитровать не только корнефой раздел можно другими методами. Я не очень понял описанную проблему. "Всеми правдами" это вы имеете в виду стандартные правила сборки рейда из самого mdadm ? Если не хватает времени, то есть rootdelay=X, который можно выставить хоть в сутки. Также есть параметр raid-member-delay=X через который можно отключить получение degraded raid. Правильное указание этих параметров должно решать описанную проблему. -- Rgrds, legion