Bug 39020 - Невнятная ошибка установки grub при отстутствии EFI system partition
Summary: Невнятная ошибка установки grub при отстутствии EFI system partition
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: alterator-vm (show other bugs)
Version: unstable
Hardware: aarch64 Linux
: P5 normal
Assignee: Олег Соловьев
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-01 15:21 MSK by Alexey Sheplyakov
Modified: 2021-04-22 16:53 MSK (History)
11 users (show)

See Also:


Attachments
скриншот ошибки (521.65 KB, image/png)
2020-10-01 15:21 MSK, Alexey Sheplyakov
no flags Details
предлагаемые (нерабочие) варианты установки GRUB (614.53 KB, image/png)
2020-10-01 15:22 MSK, Alexey Sheplyakov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Sheplyakov 2020-10-01 15:21:43 MSK
Created attachment 8986 [details]
скриншот ошибки

Действия:

1. Стартуем установку ОС
2. Выбираем ручное разбиение диска
3. НЕ создем EFI system partition (или не назначаем точку монтирования, если раздел уже существует)

Ожидаемый результат:

Установщик предупреждает, что нужно создать и/или смонтировать EFI system partition

Наблюдаемый результат:

При разбиении диска без EFI system partition никаких предупреждений не выводится.
А при установке GRUB пользователю предлагаются заведомо нерабочие варианты - установить GRUB в корневой раздел либо в MBR (которой и нет).
При выборе любого из вариантов возникает ошибка с загадочным сообщением:

Невозможно установить загрузчик на /dev/sda
:grub-install: ошибка: /usr/lib64/i386-pc/modinfo.sh не существует.
Укажите --target или --directory


(Какой-такой i386-pc на arm64?)

Такое поведение имеет право на существование на x86_64, где есть вариант загрузки через legacy BIOS. На на aarch64 системах legacy BIOS нет и никогда не было. Поэтому хорошо бы

1) При разбиении диска (даже вручную) проверять, что создан EFI system partition, на нем создана файловая система FAT32, и назначена точка монтирования (/boot/efi)
2) При установке GRUB предлагать варианты
   a) установить GRUB на EFI system partition (рекомендуемый)
   б) продолжить без загрузчика.
3) НЕ предлагать устанавливать GRUB в таблицу разделов и/или корневой раздел
Comment 1 Alexey Sheplyakov 2020-10-01 15:22:50 MSK
Created attachment 8987 [details]
предлагаемые (нерабочие) варианты установки GRUB
Comment 2 Anton Farygin 2020-10-02 15:12:51 MSK
а почему эту ошибку повесили на alterator-vm ? 
предлагаю перевесить на alterator-grub.
Comment 3 Michael Shigorin 2020-10-02 15:19:18 MSK
Когда диски разбиты, система установлена и устанавливается grub -- уже совсем-совсем поздно.  Надо именно при разбивке проверять/предупреждать, желательно сделав простым и удобным создание раздела "одной кнопкой" (благо алгоритм там в целом простой -- добавить GPT-раздел с нужным GUID, назначить форматирование под FAT32 и монтирование в /boot/efi); собственно, об этом уже есть bug 28163.
Comment 4 Michael Shigorin 2020-10-02 21:08:33 MSK
Хотя можно и так: поскольку то предложение уже висит -- это и впрямь перевесить на alterator-grub для создания эшелонированной обороны от ошибок (повторюсь, на /grub уже останется констатировать факт, что "просто так не загрузимся").
Comment 5 Leonid Krivoshein 2020-10-03 04:10:53 MSK
http://git.altlinux.org/gears/a/alterator-grub.git?p=alterator-grub.git;a=blob;f=alterator-grub/backend3/grub;h=e9ee32ad0e4c50c87a65fdaff73d26b4fa11aba6;hb=b4eebba65977cb23f989c76eae12eaf20d1bbb0e#l200

Ошибочный fallback в строках 201-205 без учёта архитектуры приводит к попытке выполнить установку принудительно для i386. С т.з. grub вообще не ошибка, т.к. он позволяет ставить для любой целевой архитектуры. С т.з. интсаллятора тоже не ошибка, т.к. выбирая ручную установку, нужно делать её правильно.

Согласен, что fallback нужно поправить в alterator-grub. И согласен, что предупреждение д.б. на стадии разбивки дисков. alterator-grub спроектирован так, это "by design".