Для 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* ? Не то, чтобы было сложно при необходимости добавить его руками, но для этого нужно знать/помнить, что и где добавлять.
Created attachment 6974 [details] Adding menu entries for elf-memtest* binaries
Спасибо; см. тж. https://bugzilla.altlinux.org/show_bug.cgi?id=27174 Правда, загрузчики стараюсь пересобирать как можно реже во избежание лишних тревог пользователям.
надо понять, актуален ли этот FR.
Только что столкнулся с этой проблемой. Меня удивил вот какой момент - в стартерките 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 .
В сизифе запуск 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/
Исправлено начиная с grub-2.06-alt16