ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Антон Мидюков" <midyukov-anton@ya.ru>
To: devel@lists.altlinux.org
Subject: Re: [devel] Fwd: Политика установки и обновления grub-efi
Date: Tue, 20 Feb 2024 12:27:29 +0700
Message-ID: <8b01a466-95f3-4e08-885b-b97313fdcbbb@ya.ru> (raw)
In-Reply-To: <17a386d6-8600-4a53-a4ff-fac07c5014f1@basealt.ru>

20.02.2024 11:45, Anton Farygin пишет:
> On 20.02.2024 02:58, Leonid Krivoshein wrote:
>> Для обсуждения. С небольшими добавками...
>>
>> п.1 -- только intel.
>>
>> п.6 -- при обновлении grub-efi NVRAM вообще не надо трогать, за исключением ситуации отсутсвия в ней записи $EFI_DISTRIBUTOR, если мы её создавали при установке. В этом случае её надо создать заново.
> 
> nvram надо трогать иногда, когда меняются правила работы с nvram.
> 
> Пункт 1 - ты предлагаешь конвертировать NTFS в VFAT ? Думаю что это плохая идея
> 
> Пункт 2 - вычищать раздел ESP нельзя, мы должны сосуществовать с другими системами.
> 
> И из предложенного непонятно что делать с кривыми BIOS'ами, которые трактуют установленные системы в режиме removable как хотят.
> 
> С записью nvram хотя бы есть шанс ими управлять
> 

На некоторых кривых UEFI мы сейчас получаем следующее.
Мы устанавливаем в каталог EFI/altlinux/ shim + grub + grub.cfg и в дополнение к этому в EFI/BOOT/ shim + grub без grub.cfg
На кривом UEFI пропадает запись altlinux, а наш EFI/BOOT/ определяется как некий Linpus, который грузится, но не находит grub.cfg, поэтому выпадает в grub-rescue.
Выход мне видится в том, чтобы в параллель ставить EFI/altlinux/ shim + grub + grub.cfg и EFI/BOOT/ shim + grub + grub.cfg
Тогда EFI/BOOT/ будет запасным вариантом полноценным. Мне изначально было непонятно почему мы сделали так, как сделали. Скорее всего изначально grub.cfg встраивался в неподписанный grub.
Но теперь то он подписанный всегда и ему нужен внешний grub.cfg

Таким образом, я предложил бы оставить два варианта установки:
- EFI/altlinux/ + EFI/BOOT/ (отличие от сейчас, что в EFI/BOOT создаётся всегда grub.cfg)
- EFI/BOOT/

Второй вариант предлагать дефолтом, когда ESP раздел в RAID1 с суперблоком 0.9 или 1.0. Потому что:
- grub создать записи в nvram для каждого диска у нас в инсталляторе не может, выдаёт ошибку
- после замены диска потребуется создавать запись в NVRAM для заменённого диска
 
Также я предлагаю сделать опцией поддержку Secure Boot. У shim могут быть проблемы с загрузкой на некоторых UEFI, поэтому было бы не плохо иметь возможность при установке его поддержку выключить, сняв галочку.

>>
>>
>> -------- Forwarded Message --------
>> Subject:     [Bug 41959] grub-efi-autoupdate для removable
>> Date:     Mon, 19 Feb 2024 22:56:54 +0000
>> From:     Leonid Krivoshein (ALT Linux Bugzilla) <bugzilla-daemon@altlinux.ru>
>> To:     klark@altlinux.org
>>
>>
>>
>> https://bugzilla.altlinux.org/41959
>> Component: Sisyphus/grub-efi
>>
>> --- #21 from Leonid Krivoshein <klark@altlinux.org> ---
>> grub-efi-autoupdate для removable -- лишь часть политики установки и обновления grub-efi, которую имеет смысл поменять накануне 11.0. Детали ("зачем, почему?") можно обсудить в devel@, тут коротко предлагаю такой план:
>>
>> 1. На шагах разметки и установки загрузчика имеющийся ESP проверяется на предмет не только FAT, но и NTFS. Последнее нарушает стандарт и требует обязательного конвертирования в FAT.
>>
>> 2. Нужно проверять, есть ли раздел ESP. Если нет, только тогда его создаём. А если есть, я бы очищал его полностью. Но можно спросить пользователя, нужно ли его сохранить? По мне, так лучше его молча бэкапить.
>>
>> 3. Ориентироваться на EFI/<efi_distributor> по умолчанию не следует, если только пользователь об этом явно не попросит. Очень сильно этого могут захотеть лишь те, кто, во-первых, понимает, зачем им это надо, во-вторых, используют несколько ОС на машине, в-третьих, знает, что их UEFI Firmware очень хорошо справляется с задачей управляения записями NVRAM, включая вывод более удобных меню, нежели это делает grub-efi.
>>
>> 4. Исходя из вышесказанного, вариант установки grub-efi по умолчанию только в EFI/BOOT, т.е. как в сабже c --removable, как у всех Linux-дистрибутивов и главное, как у Windows. С полной перезаписью того, что там есть. Не важно, наше оно, чьё-то ещё или ядро EFI STUB, ставится с нуля или обновляется, grub-efi сам найдёт всё, что было на диске, и сделает своё меню, обычно более юзабельное, чем во встроенной firmware.
>>
>> 5. Значимые переменные конфигурации grub-efi хранятся в /etc/sysconfig/grub2 (grub-common), наши grub'овские скрипты патчены под него всё равно, так что не надо придумывать никаких контрольных сумм. Всё, что мы установили, с какими параметрами, сохраняется тут, и если включено автообновление (по умолчанию д.б. включено), то берётся снова отсюда. grub-efi не всегда реально удалить из-за цепочки зависимостей, так что любителям под себя перезаточить содержимое /EFI/BOOT -- велкам на ВиКи и руками лопатить данный конфиг.
>>
>>
> 
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel

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



  reply	other threads:[~2024-02-20  5:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-19 23:58 ` Leonid Krivoshein
2024-02-20  4:45   ` Anton Farygin
2024-02-20  5:27     ` Антон Мидюков [this message]
2024-02-20  8:39       ` Leonid Krivoshein
2024-02-20  8:18     ` Leonid Krivoshein
2024-02-20  5:54   ` Ivan A. Melnikov
2024-02-20  6:27     ` Антон Мидюков
2024-02-20  8:47     ` Leonid Krivoshein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8b01a466-95f3-4e08-885b-b97313fdcbbb@ya.ru \
    --to=midyukov-anton@ya.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git