Bug 42887 - Поддержка установки при загрузке с ventoy
Summary: Поддержка установки при загрузке с ventoy
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: livecd-evms (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Антон Мидюков
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 33000
  Show dependency tree
 
Reported: 2022-05-30 10:18 MSK by Антон Мидюков
Modified: 2022-06-09 22:04 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2022-05-30 10:18:08 MSK
Для воспроизведения проблемы необходимо взять регулярку из:
http://nightly.altlinux.org/sisyphus/tested/
Скачать сборку ventoy для linux ventoy-<версия>-linux.tar.gz из:
https://github.com/ventoy/Ventoy/releases
Распаковать архив, перейти в распакованный каталог и, как вариант, запустить веб-версию ventoy:
./VentoyWeb.sh
Будет написан адрес, по которому доступно в веб-браузере:
http://127.0.0.1:24680
Записать Ventoy на флэшку. Примонтировать раздел ventoy и скопировать регулярку на него.
Далее пробовать загружаться. В режиме UEFI необходимо отключить secure boot.
Должен успешно загрузиться live, в случае jeos-sysv - инсталлятор.
Далее запускаем инсталятор, доходим до шага разметки диска.
Дальше ручной разметки пройти не можем. Флэшка, на которой ventoy видится alterator-vm вместе с разделами, тип которых определяется как unknown. В /dev/evms/ флэшки нет, а в /dev/evms/.nodes/ она есть, но без разделов.
Ожидаемый результат: флэшка не отображается в alterator-vm, в /dev/evms/ её нет, шаг проходит успешно, начинается установка.

Теперь о том, что делает ventoy. ventoy - это конфиг grub, который позволяет находить и монтировать iso-образы в grub. При загрузке ядра каким-то образом в ram-диске оказывается каталог /ventoy и /etc/udev/rules.d/99-ventoy.rule, который запускает /ventoy/hook/alt/udev_disk_hook.sh
В результате создаётся устройства /dev/dm-0 и /dev/mapper/ventoy
/dev/mapper/ventoy монтируется, как /image, и происходит загрузка.

Видимо, надо как-то определять связь между флэшкой, где ventoy, и /dev/mapper/ventoy. На основании чего реагировать на флэшку с ventoy также, как и на флэшку с образом, записанным dd, с которого загрузились (ничего с ней не делать и не отображать).
Comment 1 Антон Мидюков 2022-06-07 11:37:46 MSK
alterator-evms не виноват. У него в конфиге /etc/evms.conf в секции sysfs_devices в параметре exclude должны быть указаны устройства, которые нужно игнорировать. В live этим должен заниматься livecd-evms, а в инсаляторе сам инсталятор. Пока на livecd-evms перевешиваю.
Ещё бы понять, как установить связь между /dev/sdX, смонтированным с него образом, и /dev/mapper/ventoy, куда образ смонтирован, чтобы внести /dev/sdX в список игнорируемых устройств.
А то пока только один ориентир - метка тома Ventoy.
Comment 2 Антон Мидюков 2022-06-07 12:10:37 MSK
# dmsetup deps /dev/mapper/ventoy
1 dependencies  : (8, 17)
# ls -l /dev/block/8:17
<чего-то там> /dev/block/8:17 -> ../sdb1

Вот так можно определить связь.
Comment 3 Антон Мидюков 2022-06-07 12:46:14 MSK
(Ответ для Антон Мидюков на комментарий #2)
> # dmsetup deps /dev/mapper/ventoy
> 1 dependencies  : (8, 17)
> # ls -l /dev/block/8:17
> <чего-то там> /dev/block/8:17 -> ../sdb1
> 
> Вот так можно определить связь.

А можно проще:
# dmsetup deps -o devname /dev/mapper/ventoy
1 dependencies  : (sdb1)

При загрузке с propagator, ventoy монтирует в /dev/loop6. Но и для него этот метод работает:
# dmsetup deps -o devname /dev/loop6
1 dependencies  : (sdb1)
Comment 4 Repository Robot 2022-06-09 22:04:38 MSK
livecd-evms-0.2.5-alt1 -> sisyphus:

 Wed Jun 08 2022 Anton Midyukov <antohami@altlinux> 0.2.5-alt1
 - exclude devices on which device mounted in /image depends
   (Closes: 42887)