Add Memtest86+ to x86_64 UEFI GRUB boot menu

Implements #203.
This commit is contained in:
Jonathan Liu 2022-12-03 20:56:18 +11:00
parent 477294955a
commit 9d391c0925
4 changed files with 18 additions and 0 deletions

View file

@ -7,6 +7,7 @@ Changelog
Added
-----
- Add Memtest86+ to x86_64 UEFI GRUB boot menu.
Changed
-------

View file

@ -712,6 +712,14 @@ _make_bootmode_uefi-x64.grub.esp() {
mcopy -i "${efibootimg}" "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" ::/shellx64.efi
fi
# Add other aditional/extra files to ${install_dir}/boot/
if [[ -e "${pacstrap_dir}/boot/memtest86+/memtest.efi" ]]; then
install -m 0644 -- "${pacstrap_dir}/boot/memtest86+/memtest.efi" "${isofs_dir}/${install_dir}/boot/memtest.efi"
install -d -m 0755 -- "${isofs_dir}/${install_dir}/boot/licenses/memtest86+/"
install -m 0644 -- "${pacstrap_dir}/usr/share/licenses/common/GPL2/license.txt" \
"${isofs_dir}/${install_dir}/boot/licenses/memtest86+/"
fi
_msg_info "Done! GRUB set up for UEFI booting successfully."
}
@ -997,6 +1005,9 @@ _validate_requirements_bootmode_uefi-x64.grub.esp() {
if [[ ! " ${pkg_list[*]} " =~ ' edk2-shell ' ]]; then
_msg_info "'edk2-shell' is not in the package list. The ISO will not contain a bootable UEFI shell."
fi
if [[ ! " ${pkg_list[*]} " =~ ' memtest86+-efi ' ]]; then
_msg_info "Validating '${bootmode}': 'memtest86+-efi' is not in the package list. Memory testing will not be available from GRUB."
fi
}
_validate_requirements_bootmode_uefi-x64.grub.eltorito() {

View file

@ -46,6 +46,11 @@ menuentry "Arch Linux install medium with speakup screen reader (x86_64, UEFI)"
if [ "${grub_platform}" == "efi" ]; then
if [ "${grub_cpu}" == "x86_64" ]; then
menuentry "Run Memtest86+ (RAM test)" --class memtest86 --class gnu --class tool {
set gfxpayload=800x600,1024x768
search --fs-uuid --no-floppy --set=root --label %ARCHISO_LABEL%
linux /%INSTALL_DIR%/boot/memtest.efi
}
menuentry "UEFI Shell" {
insmod chain
search --no-floppy --set=root --label %ARCHISO_LABEL%

View file

@ -60,6 +60,7 @@ man-pages
mc
mdadm
memtest86+
memtest86+-efi
mkinitcpio
mkinitcpio-archiso
mkinitcpio-nfs-utils