[devel-distro] mkimage-profiles 1.4.9-alt1

Антон Мидюков midyukov-anton at ya.ru
Tue Apr 13 06:22:37 MSK 2021


13.04.2021 02:02, Leonid Krivoshein пишет:
> 
> 
> 12.04.2021 21:45, Антон Мидюков пишет:
>> 13.04.2021 01:36, Leonid Krivoshein пишет:
>>> 12.04.2021 20:14, Антон Мидюков пишет:
>>>> 12.04.2021 23:52, Leonid Krivoshein пишет:
>>>>> 05.04.2021 20:17, Антон Мидюков пишет:
>>>>>> [...]
>>>>>> - Добавлена поддержка сборки образа img с grub-efi для riscv64 (спасибо arei@);
>>>>>>     - Добавлена фича uuid-iso, которая генерирует заданный uuid для iso и передаёт его mkimage (спасибо jqt4@).
>>>>>>      Требуется mkimage 0.2.41. Действие фичи ограничено, пока, архитектурами i586, x86_64, aarch64.
>>>>>>      Это позволило использовать на этих архитектурах метод загрузки disk с указанием uuid файловой системы;
>>>>> И как при этом изменении будут извлекаться CD-ROM'ы в нужный момент инсталляции? Ведь сейчас эта фича проверяет экспортированный в stage2 METHOD=cdrom.
>>>> А в какой момент они извлекаются? Я пока сталкивался только с извлечением cdrom после завершения установки, перед самой перезагрузкой.
>>>> Я так понимаю, что это нужно для установки с нескольких дисков. Но мы же такие не делаем?
>>> По умолчанию таких мест -- неизведанное множество. :-)
>>> Но на одно такое место мы уже напарывались, выкидывая пропагатор:
>>>
>>> installer/preinstall.d/99-cdrom.sh
>>>
>> Никаких проблем в этом скрипте нет при использовании метода disk.
> 
> Это из-за строчки ниже и из-за того, что видимо на этой архитектуре система ставится не с CD-ROM. На самом деле следующий за этой строкой кусок проблемный: он копирует stage2 altinst в свободное место на диске без учёта lowmem, когда altinst итак уже безопасно отделён в /dev/ram3. И где-то в инсталляторе должна быть ответная часть, молчаливо удаляющая этот ненужный сквош с диска.

Этот скрипт выполняется, когда method=cdrom. Соответственно, нужно понять, что плохого при установке с cd-rom может произойти от того, что он не выполняется. Я проверяю в virtualbox, и никаких проблем не наблюдаю. Вот только cd-rom не извлекается.
Параметр lowmem при загрузке altinst не назначается.
Ответная часть в postinstall:
# Eject cdrom
if [ -b "$CDROMDEV" ]; then
	sed -i "/ $(printf %s "$destdir" |sed 's,/,\\/,g')/ d" /etc/mtab >/dev/null 2>&1
	umount -fl "$image_dir" 2>/dev/null ||:
	cmdline_has_arg noeject || action 'Ejecting removable media' eject -p "$CDROMDEV" ||:
fi

она не выполняется при использовании method=disk. Пока вижу лишь одно плохое последствие, cdrom не извлекается в конце установки.
С другой стороны, что хорошего было от того, что такой код выполнялся при установке с флешки?

> 
>>> ...
>>> [ "$METHOD" = cdrom ] || exit 0
>>> ...
>>>
>>> Вообще я хотел текстом выше сказать, что что UUID можно (и нужно) привязывать к методу cdrom, а не disk. Ну, просто по логике.
>> Да не нужно. cdrom вымирают. Мы можем сразу в img в mkimage паковать (в будущем).
> 
> Как я понимаю, ранее дистрибутивы ALT поставлялись только в виде ISO-образов и даже при сетевой установке это было преимущественным методом. Сейчас мы конечно можем отличать диски по флагу съёмного устройства, но придётся вносить изменения, как минимум, в скрипт remount, где есть спотыкания, когда ставим не из ISO. Да и вообще придётся учитывать разные способы установки и развёртывания, как в первой фазе установщика, так и во второй.
> 

Нужно выявлять эти нюансы.


-- 
С уважением, Антон Мидюков <antohami �� altlinux.org>


More information about the devel-distro mailing list