summaryrefslogtreecommitdiff
path: root/libre/grub/60_memtest86+
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2013-07-12 22:53:11 -0300
committerNicolás Reynolds <fauno@endefensadelsl.org>2013-07-12 22:53:11 -0300
commite14736ca7ac051726b587d8fdb8368be502a9109 (patch)
tree6a40b3b2de9bf45e8f31ba5fd45ee8f2615bd4ae /libre/grub/60_memtest86+
parente6e169990bdfc35fb6151f148510bf3f0da1dc1e (diff)
parent360a407f262ac47087ff29718465fbfc7765cb73 (diff)
Merge branch 'master' of ssh://gparabola/srv/git/abslibre
Diffstat (limited to 'libre/grub/60_memtest86+')
-rw-r--r--libre/grub/60_memtest86+32
1 files changed, 32 insertions, 0 deletions
diff --git a/libre/grub/60_memtest86+ b/libre/grub/60_memtest86+
new file mode 100644
index 000000000..086f0cc84
--- /dev/null
+++ b/libre/grub/60_memtest86+
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+########################################################
+# This script generates a memtest86+ entry on grub.cfg #
+# if memtest is installed on the system. #
+########################################################
+
+prefix="/usr"
+exec_prefix="${prefix}"
+
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+
+. "${datadir}/grub/grub-mkconfig_lib"
+
+MEMTEST86_IMAGE="/boot/memtest86+/memtest.bin"
+CLASS="--class memtest86 --class gnu --class tool"
+
+if [ -e "${MEMTEST86_IMAGE}" ] && is_path_readable_by_grub "${MEMTEST86_IMAGE}" ; then
+ ## image exists, create menu entry
+ echo "Found memtest86+ image: ${MEMTEST86_IMAGE}" >&2
+ _GRUB_MEMTEST_HINTS_STRING="$(${grub_probe} --target=hints_string ${MEMTEST86_IMAGE})"
+ _GRUB_MEMTEST_FS_UUID="$(${grub_probe} --target=fs_uuid ${MEMTEST86_IMAGE})"
+ _GRUB_MEMTEST_REL_PATH="$(make_system_path_relative_to_its_root ${MEMTEST86_IMAGE})"
+ cat << EOF
+if [ "\${grub_platform}" == "pc" ]; then
+ menuentry "Memory Tester (memtest86+)" ${CLASS} {
+ search --fs-uuid --no-floppy --set=root ${_GRUB_MEMTEST_HINTS_STRING} ${_GRUB_MEMTEST_FS_UUID}
+ linux16 ${_GRUB_MEMTEST_REL_PATH} ${GRUB_CMDLINE_MEMTEST86}
+ }
+fi
+EOF
+fi