[make-initrd] Fwd: [#269003] TESTED make-initrd.git=2.14.1-alt1
Leonid Krivoshein
klark.devel at gmail.com
Mon Apr 5 23:33:14 MSK 2021
Алексей, привет!
Снова я, и снова про pipelinie. :-)
Очень черновая сборка для обсуждения готова. Она не для того, чтобы её
апстримить. Образы (любые -- live, altinst, rescue) с этим уже можно
собирать. Несколько дней бодались с одной проблемой и наконец удалось её
победить. Но сейчас немного о другом -- мысли и пожелания вокруг pipeline...
1. Фича pipeline делалась на замену пропагатора видимо без учёта
особенностей его работы. Разница оказалась ощутимой и для бесшовного
перехода из stage1 в stage2 без необходимости править нынешние профили
дистрибутивов, приходится идти на компромиссы и ухищрения. Менять stage2
под pipeline вообще не вариант -- мы даже не знаем, где, когда и что
выстрелит, и как это тестировать.
2. В интерфейс pipeline не выведена уже реализованная в make-initrd
возможность работы с /proc/cmdline. Имею ввиду общие параметры, такие
как lowmem, live или rescue. У каждой фичи -- свои аргументы. Пока не
удалось побороть эту проблему, мой "config" оказался нерабочим. Может,
нужно просто инклюдить какой-то файл?
3. /dev/pipeline/* -- длинные пути в mtab, не только монтируемые
каталоги, но и устройства. Даже если это имеет право на жизнь в stage1,
при переходе в stage2 оно должно умереть, как и не секьюрно
смонтированный /dev/pipeline, куда можно загружать даже ISO'шки. :-)
Вместо передачи dev и каталогов можно передавать симлинки на них (в
дополнение), да и сам devname вместо dev передавать куда правильней,
по-моему.
4. Сделать замену пропагатора одним большим монолитным куском в рамках
pipeline нельзя. Как сейчас -- гармоничнее и можно чередовать куски из
"пропагаторного стека" с нативными. Но есть проблемы [1] и [2].
Пропагатор монтирует всё внахлёст в /image, /root и /dev/ramN, при это
он ещё отмонтирует и много чего другого делает, что не вписывается в
парадигму pipeline.
5. Исходная идея pipeline -- организовать цепочку с входом и выходом у
каждого элемента. А как быть в ситуациях, когда ты заказал дождаться 4х
устройств? Выход ведь будет только у одного. Если именовать всю
pipeline, сделать таких цепочек несколько и в каждой сделать свой
waitpipe, можно строить более сложную логику загрузки их разных
устройств и типов источников, синхронизируя события в других цепочках.
6. Я бы облегчил возможность определение одной pipeline
с: pipeline=waitdev,mountfs,mountfs,rootfs waitdev=/dev/name mounfs=ISO
mountfs=squash
до: pipeline=waitdev=/dev/name,mountfs=ISO,mountfs=squash,rootfs
т.е.: pipeline=step1[=arg1[:arg2...]][,step2[=arg1[:arg2...]]...] и
регистрировал бы их автоматически.
Возможно, это также поможет решить проблему [2].
7. Интерактивный ввод-вывод на этапе работы pipelined невозможен, разве
что перенаправить ограниченный код в /dev/console. У пропагатора по ходу
это было востребовано, что логично. Ну, хотя бы индикация загрузки
больших образов, запрос режимов и источников загрузки. Хотелось бы во
время работы шага прервать "фоновое" выполнение и перейти в интерактив,
потом вернуться обратно.
В целом, хотелось услышать твоё мнение, чего с этим делать дальше?
Строить ли рядышком с готовыми кусками шаги пропагаторного стека, как
сейчас в черновом варианте, делать замену пропагатора отдельной фичей
make-initrd или дождёшься (разрешишь) когда я перелопачу pipeline под
новый лад и чуть больше адаптирую под пропагатор?
-------- Перенаправленное сообщение --------
Тема: [#269003] TESTED make-initrd.git=2.14.1-alt1
Дата: Mon, 5 Apr 2021 18:07:38 +0000
От: Girar awaiter (klark) <girar-builder at altlinux.org>
Отвечать: klark at altlinux.org
Кому: Leonid Krivoshein <klark at altlinux.org>
Копия: Alexey Gladkov <legion at altlinux.org>,
girar-builder-sisyphus at altlinux.org, sisyphus-incominger at lists.altlinux.org
http://git.altlinux.org/tasks/269003/logs/events.1.1.log
subtask name aarch64 armh i586 ppc64le x86_64
#100 make-initrd 1:08 1:31 1:07 1:22 1:05
2021-Apr-05 18:00:48 :: test-only task #269003 for sisyphus started by
klark:
#100 build 2.14.1-alt1 from /people/klark/packages/make-initrd.git
fetched at 2021-Apr-05 18:00:47
2021-Apr-05 18:00:50 :: [x86_64] #100 make-initrd.git 2.14.1-alt1: build
start
2021-Apr-05 18:00:50 :: [armh] #100 make-initrd.git 2.14.1-alt1: build start
2021-Apr-05 18:00:50 :: [aarch64] #100 make-initrd.git 2.14.1-alt1:
build start
2021-Apr-05 18:00:50 :: [i586] #100 make-initrd.git 2.14.1-alt1: build start
2021-Apr-05 18:00:50 :: [ppc64le] #100 make-initrd.git 2.14.1-alt1:
build start
2021-Apr-05 18:01:55 :: [x86_64] #100 make-initrd.git 2.14.1-alt1: build OK
2021-Apr-05 18:01:57 :: [i586] #100 make-initrd.git 2.14.1-alt1: build OK
2021-Apr-05 18:01:58 :: [aarch64] #100 make-initrd.git 2.14.1-alt1: build OK
2021-Apr-05 18:02:12 :: [ppc64le] #100 make-initrd.git 2.14.1-alt1: build OK
2021-Apr-05 18:02:21 :: [armh] #100 make-initrd.git 2.14.1-alt1: build OK
2021-Apr-05 18:03:05 :: #100: make-initrd.git 2.14.1-alt1: build check OK
2021-Apr-05 18:03:05 :: build check OK
warning (#100): make-initrd-devmapper-2.14.1-alt1.x86_64.rpm should be
.noarch.rpm
warning (#100): make-initrd-luks-2.14.1-alt1.x86_64.rpm should be
.noarch.rpm
warning (#100): make-initrd-lvm-2.14.1-alt1.x86_64.rpm should be .noarch.rpm
warning (#100): make-initrd-mdadm-2.14.1-alt1.x86_64.rpm should be
.noarch.rpm
warning (#100): make-initrd-multipath-2.14.1-alt1.x86_64.rpm should be
.noarch.rpm
warning (#100): make-initrd-nfs-2.14.1-alt1.x86_64.rpm should be .noarch.rpm
warning (#100): make-initrd-plymouth-2.14.1-alt1.x86_64.rpm should be
.noarch.rpm
2021-Apr-05 18:03:15 :: noarch check OK
2021-Apr-05 18:03:17 :: plan: src +1 -1 =17879, aarch64 +9 -9 =29722,
armh +9 -9 =27791, i586 +10 -10 =30615, ppc64le +9 -9 =29607, x86_64 +10
-10 =31101
#100 make-initrd 2.14.0-alt1 -> 2.14.1-alt1
Sun Apr 04 2021 Leonid Krivoshein <klark at altlinux> 2.14.1-alt1
- Feature pipeline: introduce propagator compatibity layer. WIP!
2021-Apr-05 18:03:53 :: patched apt indices
2021-Apr-05 18:04:02 :: created next repo
2021-Apr-05 18:04:11 :: duplicate provides check OK
2021-Apr-05 18:04:36 :: dependencies check OK
2021-Apr-05 18:04:58 :: [x86_64 i586 aarch64 ppc64le armh] ELF symbols
check OK
warning [i586]: make-initrd=2.14.1-alt1: circular dependencies on
bootloader-utils=0.5.3-alt1
warning [x86_64]: make-initrd=2.14.1-alt1: circular dependencies on
bootloader-utils=0.5.3-alt1
2021-Apr-05 18:05:13 :: [i586] #100 make-initrd: install check OK
2021-Apr-05 18:05:14 :: [x86_64] #100 make-initrd: install check OK
warning [aarch64]: make-initrd=2.14.1-alt1: circular dependencies on
bootloader-utils=0.5.3-alt1
2021-Apr-05 18:05:15 :: [aarch64] #100 make-initrd: install check OK
warning [ppc64le]: make-initrd=2.14.1-alt1: circular dependencies on
bootloader-utils=0.5.3-alt1
2021-Apr-05 18:05:18 :: [ppc64le] #100 make-initrd: install check OK
2021-Apr-05 18:05:21 :: [x86_64] #100 make-initrd-debuginfo: install
check OK
2021-Apr-05 18:05:21 :: [i586] #100 make-initrd-debuginfo: install check OK
warning [armh]: make-initrd=2.14.1-alt1: circular dependencies on
bootloader-utils=0.5.3-alt1
2021-Apr-05 18:05:24 :: [aarch64] #100 make-initrd-debuginfo: install
check OK
2021-Apr-05 18:05:24 :: [armh] #100 make-initrd: install check OK
2021-Apr-05 18:05:28 :: [x86_64] #100 make-initrd-devmapper: install
check OK
2021-Apr-05 18:05:28 :: [i586] #100 make-initrd-devmapper: install check OK
2021-Apr-05 18:05:29 :: [ppc64le] #100 make-initrd-debuginfo: install
check OK
2021-Apr-05 18:05:31 :: [aarch64] #100 make-initrd-devmapper: install
check OK
2021-Apr-05 18:05:34 :: [x86_64] #100 make-initrd-luks: install check OK
2021-Apr-05 18:05:35 :: [i586] #100 make-initrd-luks: install check OK
2021-Apr-05 18:05:38 :: [armh] #100 make-initrd-debuginfo: install check OK
2021-Apr-05 18:05:38 :: [aarch64] #100 make-initrd-luks: install check OK
2021-Apr-05 18:05:38 :: [ppc64le] #100 make-initrd-devmapper: install
check OK
2021-Apr-05 18:05:41 :: [x86_64] #100 make-initrd-lvm: install check OK
2021-Apr-05 18:05:42 :: [i586] #100 make-initrd-lvm: install check OK
2021-Apr-05 18:05:46 :: [aarch64] #100 make-initrd-lvm: install check OK
2021-Apr-05 18:05:47 :: [x86_64] #100 make-initrd-mdadm: install check OK
2021-Apr-05 18:05:47 :: [ppc64le] #100 make-initrd-luks: install check OK
2021-Apr-05 18:05:48 :: [i586] #100 make-initrd-mdadm: install check OK
2021-Apr-05 18:05:50 :: [armh] #100 make-initrd-devmapper: install check OK
2021-Apr-05 18:05:53 :: [aarch64] #100 make-initrd-mdadm: install check OK
2021-Apr-05 18:05:53 :: [x86_64] #100 make-initrd-multipath: install
check OK
2021-Apr-05 18:05:55 :: [i586] #100 make-initrd-multipath: install check OK
2021-Apr-05 18:05:57 :: [ppc64le] #100 make-initrd-lvm: install check OK
x86_64: make-initrd-nfs=2.14.1-alt1 post-install unowned files:
/usr/share/make-initrd
/usr/share/make-initrd/features
2021-Apr-05 18:05:58 :: [x86_64] #100 make-initrd-nfs: install check OK
i586: make-initrd-nfs=2.14.1-alt1 post-install unowned files:
/usr/share/make-initrd
/usr/share/make-initrd/features
2021-Apr-05 18:05:59 :: [i586] #100 make-initrd-nfs: install check OK
2021-Apr-05 18:06:00 :: [aarch64] #100 make-initrd-multipath: install
check OK
2021-Apr-05 18:06:02 :: [armh] #100 make-initrd-luks: install check OK
aarch64: make-initrd-nfs=2.14.1-alt1 post-install unowned files:
/usr/share/make-initrd
/usr/share/make-initrd/features
2021-Apr-05 18:06:05 :: [aarch64] #100 make-initrd-nfs: install check OK
2021-Apr-05 18:06:06 :: [ppc64le] #100 make-initrd-mdadm: install check OK
2021-Apr-05 18:06:07 :: [x86_64] #100 make-initrd-plymouth: install check OK
2021-Apr-05 18:06:10 :: [i586] #100 make-initrd-plymouth: install check OK
2021-Apr-05 18:06:14 :: [armh] #100 make-initrd-lvm: install check OK
2021-Apr-05 18:06:15 :: [aarch64] #100 make-initrd-plymouth: install
check OK
2021-Apr-05 18:06:15 :: [ppc64le] #100 make-initrd-multipath: install
check OK
ppc64le: make-initrd-nfs=2.14.1-alt1 post-install unowned files:
/usr/share/make-initrd
/usr/share/make-initrd/features
2021-Apr-05 18:06:21 :: [ppc64le] #100 make-initrd-nfs: install check OK
2021-Apr-05 18:06:24 :: [x86_64] #100 make-initrd-ucode: install check OK
2021-Apr-05 18:06:25 :: [armh] #100 make-initrd-mdadm: install check OK
2021-Apr-05 18:06:28 :: [i586] #100 make-initrd-ucode: install check OK
2021-Apr-05 18:06:35 :: [ppc64le] #100 make-initrd-plymouth: install
check OK
2021-Apr-05 18:06:37 :: [armh] #100 make-initrd-multipath: install check OK
armh: make-initrd-nfs=2.14.1-alt1 post-install unowned files:
/usr/share/make-initrd
/usr/share/make-initrd/features
2021-Apr-05 18:06:44 :: [armh] #100 make-initrd-nfs: install check OK
2021-Apr-05 18:07:00 :: [armh] #100 make-initrd-plymouth: install check OK
2021-Apr-05 18:07:13 :: [x86_64-i586] generated apt indices
2021-Apr-05 18:07:13 :: [x86_64-i586] created next repo
2021-Apr-05 18:07:20 :: [x86_64-i586] dependencies check OK
2021-Apr-05 18:07:20 :: gears inheritance check OK
2021-Apr-05 18:07:20 :: srpm inheritance check OK
girar-check-perms: access to make-initrd DENIED for klark: does not
belong to approved builders list: legion check-subtask-perms: #100:
make-initrd: Operation not permitted
2021-Apr-05 18:07:20 :: acl check IGNORED
2021-Apr-05 18:07:27 :: created contents_index files
2021-Apr-05 18:07:35 :: created hash files: aarch64 armh i586 ppc64le
src x86_64
2021-Apr-05 18:07:38 :: task #269003 for sisyphus TESTED
More information about the Make-initrd
mailing list