live-install: preserve BASE_BOOTARGS in installed system
BASE_BOOTARGS применяются при создании готовых VM-образов, но теряются при установке системы из live-образа через install2. Эта проблема проявилась когда мы поменяли метод установки на live-install.
Из-за этого параметры, предназначенные для установленной системы, например systemd.unit=setup.target, usbcore.autosuspend=-1 или psi=1, не попадали в конфигурацию GRUB.
Решение
Изменение сохраняет значение GLOBAL_BASE_BOOTARGS в live-системе и создает preinstall hook для install2.
Во время установки hook:
- открывает
/etc/sysconfig/grub2целевой системы; - сравнивает
BASE_BOOTARGSс текущимGRUB_CMDLINE_LINUX_DEFAULT; - добавляет только отсутствующие параметры;
- ничего не меняет, если
BASE_BOOTARGSпуст или конфигурация GRUB отсутствует.
Поскольку hook выполняется до генерации итоговой конфигурации загрузчика, дополнительный вызов update-grub не требуется.
Проверка
Изменение проверено сборкой и установкой Ximper GNOME из live-образа.
При первой загрузке установленной системы:
-
systemd.unit=setup.targetприсутствовал ровно один раз; -
usbcore.autosuspend=-1присутствовал ровно один раз; - уже существующие параметры GRUB не дублировались.
{{ resolvedDiscussionCount }}/{{ discussionCount }} {{ resolvedCountText }} resolved
-
-
added 3 commits
-
bbe814ff...210ded5b - 2 commits from branch
ximperlinux:next - d52d90c0 - live-install: preserve BASE_BOOTARGS in installed system
Toggle commit list -
bbe814ff...210ded5b - 2 commits from branch
-
merged
Toggle commit list
Please
register
or
sign in
to comment