diff --git a/scripts/build/binary_grub_cfg b/scripts/build/binary_grub_cfg index 9af07a74c..c41a4fba4 100755 --- a/scripts/build/binary_grub_cfg +++ b/scripts/build/binary_grub_cfg @@ -232,8 +232,13 @@ fi # Assembling memtest configuration MEMTEST_DIR="/${INITFS}" -MEMTEST_BIN="${MEMTEST_DIR}/memtest" -if [ -f "binary/${MEMTEST_BIN}" ]; then +if [ -f "binary/${MEMTEST_DIR}/memtest.bin" ] +then + MEMTEST_BIN="${MEMTEST_DIR}/memtest.bin" +else + MEMTEST_BIN="${MEMTEST_DIR}/memtest" +fi +if [ -f "binary/${MEMTEST_DIR}/memtest" ] || [ -f "binary/${MEMTEST_DIR}/memtest.bin" ] || [ -f "binary/${MEMTEST_DIR}/memtest.efi" ]; then ENABLE_MEMTEST="true" MEMTEST="source /boot/grub/memtest.cfg" #for backwards compatibility else diff --git a/scripts/build/binary_memtest b/scripts/build/binary_memtest index 4644fdd03..eabc63829 100755 --- a/scripts/build/binary_memtest +++ b/scripts/build/binary_memtest @@ -43,9 +43,11 @@ then exit 0 fi +_PREFIX="" if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] then + _PREFIX="chroot" if [ -f chroot/usr/sbin/grub ] && [ ! -f chroot/boot/grub/menu.lst ] then GRUB="yes" @@ -57,6 +59,7 @@ fi # Checking depends _MEMTEST_BIN="${LB_MEMTEST}" +_MEMTEST_BIOS_FN="memtest" case "${LB_MEMTEST}" in memtest86) Check_package chroot /boot/memtest86.bin memtest86 @@ -83,15 +86,11 @@ case "${LB_MEMTEST}" in _MEMTEST_ARCH=x32 ;; esac - case "${LB_BUILD_WITH_CHROOT}" in - true) - [ -e "chroot/boot/${LB_MEMTEST}${_MEMTEST_ARCH}.bin" ] && _MEMTEST_BIN="${LB_MEMTEST}${_MEMTEST_ARCH}" - ;; - false) - [ -e "/boot/${LB_MEMTEST}${_MEMTEST_ARCH}.bin" ] && _MEMTEST_BIN="${LB_MEMTEST}${_MEMTEST_ARCH}" - ;; - esac - ;; + if [ -e "${_PREFIX}/boot/${LB_MEMTEST}${_MEMTEST_ARCH}.bin" ] + then + _MEMTEST_BIN="${LB_MEMTEST}${_MEMTEST_ARCH}" + _MEMTEST_BIOS_FN="memtest.bin" + fi esac # Setting destination directory @@ -109,17 +108,8 @@ esac mkdir -p "${DESTDIR}" # Installing memtest -case "${LB_BUILD_WITH_CHROOT}" in - true) - cp -a "chroot/boot/${_MEMTEST_BIN}.bin" "${DESTDIR}"/memtest - [ -e "chroot/boot/${_MEMTEST_BIN}.efi" ] && cp -a "chroot/boot/${_MEMTEST_BIN}.efi" "${DESTDIR}"/memtest.efi - ;; - - false) - cp -a "/boot/${_MEMTEST_BIN}.bin" "${DESTDIR}"/memtest - [ -e "/boot/${_MEMTEST_BIN}.efi" ] && cp -a "/boot/${_MEMTEST_BIN}.efi" "${DESTDIR}"/memtest.efi - ;; -esac +cp -a "${_PREFIX}/boot/${_MEMTEST_BIN}.bin" "${DESTDIR}/${_MEMTEST_BIOS_FN}" +[ -e "${_PREFIX}/boot/${_MEMTEST_BIN}.efi" ] && cp -a "${_PREFIX}/boot/${_MEMTEST_BIN}.efi" "${DESTDIR}/memtest.efi" # Saving cache Save_package_cache binary diff --git a/scripts/build/binary_syslinux b/scripts/build/binary_syslinux index 780f11c96..4d51d9841 100755 --- a/scripts/build/binary_syslinux +++ b/scripts/build/binary_syslinux @@ -280,7 +280,12 @@ sed -i \ -e "s|@INITRD_DI@|${INITRD_DI}|" \ "${_TARGET}"/install.cfg -MEMTEST_PATH="${_INITRAMFS}/memtest" +if [ -e "binary/${_INITRAMFS}/memtest.bin" ] +then + MEMTEST_PATH="${_INITRAMFS}/memtest.bin" +else + MEMTEST_PATH="${_INITRAMFS}/memtest" +fi sed -i -e "s#@MEMTEST_VERSION@#${LB_MEMTEST}#g" -e "s#@MEMTEST@#/${MEMTEST_PATH}#g" "${_TARGET}"/memtest.cfg # Replace placeholder for optional install menu entries include diff --git a/share/bootloaders/grub-pc/memtest.cfg b/share/bootloaders/grub-pc/memtest.cfg index 7edee9ab5..48697a5d5 100644 --- a/share/bootloaders/grub-pc/memtest.cfg +++ b/share/bootloaders/grub-pc/memtest.cfg @@ -1,10 +1,14 @@ -if [ "${grub_platform}" = "pc" ]; then +if [ "${grub_platform}" = "pc" ] -a [ -e @MEMTEST_DIR@/memtest ]; then + # Legacy 16-bit memtest menuentry "Memory Diagnostic Tool (@MEMTEST_VERSION@)" --hotkey=m { - linux16 @MEMTEST_BIN@ + linux16 @MEMTEST_DIR@/memtest + } +elif [ "${grub_platform}" = "pc" ] -a [ -e @MEMTEST_DIR@/memtest.bin ]; then + menuentry "Memory Diagnostic Tool (@MEMTEST_VERSION@)" --hotkey=m { + linux @MEMTEST_DIR@/memtest.bin } elif [ "${grub_platform}" = "efi" ] -a [ -e @MEMTEST_DIR@/memtest.efi ]; then menuentry "Memory Diagnostic Tool (@MEMTEST_VERSION@)" --hotkey=m { - insmod chain - chainloader @MEMTEST_DIR@/memtest.efi + linux @MEMTEST_DIR@/memtest.efi } fi