Bug 33113 - Boot menu entry for the ELF memtest86+ version
Summary: Boot menu entry for the ELF memtest86+ version
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: grub-common (show other bugs)
Version: unstable
Hardware: all Linux
: P3 enhancement
Assignee: Egor Ignatov
QA Contact: qa-sisyphus
URL: https://bugzilla.altlinux.org/show_bu...
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-14 16:49 MSK by Nikolay A. Fetisov
Modified: 2023-11-17 17:13 MSK (History)
8 users (show)

See Also:


Attachments
Adding menu entries for elf-memtest* binaries (787 bytes, patch)
2017-02-14 16:55 MSK, Nikolay A. Fetisov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolay A. Fetisov 2017-02-14 16:49:19 MSK
Для memtest86+ >5.0 есть два варианта сборки - традиционный в виде ядра (memtest-%version.bin), и в формате ELF (elf-memtest-%version).
Оба варианта в пакете memtest86+ есть и размещаются в /boot/ .

На некоторых актуальных системных платах, как минимум на части SuperMicro,
загрузка memtest*.bin невозможна из-за недостаточного объёма low memory, с
выдачей ошибки загрузчиком вида (для Grub2):
"ошибка: too small lower memory (0x99100 > 0x98c00)"
Также см.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319837
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549429

Решается это использованием ELF-версии, Grub2 поддерживает загрузку файлов ELF 
через knetbsd вместо linux16. 

В текущем grub.d/39_memtest генерится только пункт меню для memtest*.bin .

Вопрос, не имеет ли смысл добавить в меню ещё и elf-memtest* ?
Не то, чтобы было сложно при необходимости добавить его руками, но для этого
нужно знать/помнить, что и где добавлять.
Comment 1 Nikolay A. Fetisov 2017-02-14 16:55:25 MSK
Created attachment 6974 [details]
Adding menu entries for elf-memtest* binaries
Comment 2 Michael Shigorin 2017-02-15 12:24:35 MSK
Спасибо; см. тж. https://bugzilla.altlinux.org/show_bug.cgi?id=27174

Правда, загрузчики стараюсь пересобирать как можно реже во избежание лишних тревог пользователям.
Comment 3 Anton Farygin 2021-09-09 13:36:01 MSK
надо понять, актуален ли этот FR.
Comment 4 Nikolay Strelkov 2023-10-01 11:38:55 MSK
Только что столкнулся с этой проблемой. 
Меня удивил вот какой момент - в стартерките alt-p10-mate-20230910-x86_64.iso при загрузке в режиме UEFI в меню GRUB присутствует строка "Memory Test (may not work with Secure Boot)" с командой "linux /boot/memtest.efi", вызывающая Memtest86+ v6.20. 
Создается эта строка на этапе формирования носителя с помощью mkimage:

```
# grep -r "memtest.efi" /usr/share/mkimage /usr/share/mkimage-profiles/ --line-number 
/usr/share/mkimage-profiles/features.in/memtest/stage1/scripts.d/02-memtest:11:	cp -f "$MEMTEST_EFI" "$WORKDIR"/boot/memtest.efi
/usr/share/mkimage-profiles/features.in/grub/cfg.in/90memtest.cfg:8:    linux /boot/memtest.efi
```

А в системе, установленной с указанного выше носителя строки запуска Memtest86 в GRUB нет даже после ручного запуска update-grub из-за текущей реализации /etc/grub.d/39_memtest т.к. в строке https://git.altlinux.org/gears/g/grub.git?p=grub.git;a=blob;f=alt/39_memtest;h=4f4496e0cbf001cbe2681b5b79060b88a47fcb75;hb=refs/heads/p10#l19 явно указан выход из скрипта при обнаружении EFI.

Насколько я понимаю, современные материнские платы начиная с 2020 года (см., например, статью https://www.anandtech.com/show/12068/intel-to-remove-bios-support-from-uefi-by-2020 ) в большинстве своем идут только с UEFI, поэтому наличие Memtest86+ в меню GRUB на таких системах будет очень полезным.

Пожалуйста, обеспечьте запуск Memtest86+ из меню GRUB на системах с UEFI. 
Можете адаптировать имеющиеся наработки из mkimage или подсмотреть решение в Debian - https://salsa.debian.org/debian/memtest86plus/-/blob/debian/6.20-3/debian/grub?ref_type=tags .
Comment 5 Egor Ignatov 2023-10-02 18:05:22 MSK
В сизифе запуск Memtest86+ на efi системах уже есть.

https://git.altlinux.org/gears/g/grub.git?p=grub.git;a=commit;h=1b1a41fbe8e34745e8aa2b42bf5b058ebb45f8be

В p10 будет после тестирования задания 323459.

https://packages.altlinux.org/en/tasks/323459/
Comment 6 Egor Ignatov 2023-11-17 17:13:31 MSK
Исправлено начиная с grub-2.06-alt16