#!/bin/sh set -e if [ -f /usr/lib/grub/grub-mkconfig_lib ]; then . /usr/lib/grub/grub-mkconfig_lib LX=linux16 elif [ -f /usr/lib/grub/update-grub_lib ]; then . /usr/lib/grub/update-grub_lib LX=linux else # no grub file, so we notify and exit gracefully echo "Cannot find grub config file, exiting." >&2 exit 0 fi # We can't cope with loop-mounted devices here. case ${GRUB_DEVICE_BOOT} in /dev/loop/*|/dev/loop[0-9]) exit 0 ;; esac prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")" if test -e /boot/memtest86+.bin ; then MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.bin" ) echo "Found memtest86+ image: $MEMTESTPATH" >&2 cat << EOF menuentry "Memory test (memtest86+)" { EOF printf '%s\n' "${prepare_boot_cache}" cat << EOF $LX $MEMTESTPATH } menuentry "Memory test (memtest86+, serial console 115200)" { EOF printf '%s\n' "${prepare_boot_cache}" cat << EOF $LX $MEMTESTPATH console=ttyS0,115200n8 } EOF fi #if test -e /boot/memtest86+_multiboot.bin ; then # MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+_multiboot.bin" ) # echo "Found memtest86+ multiboot image: $MEMTESTPATH" >&2 # cat << EOF #menuentry "Memory test (memtest86+, experimental multiboot)" { #EOF # printf '%s\n' "${prepare_boot_cache}" # cat << EOF # multiboot $MEMTESTPATH #} #menuentry "Memory test (memtest86+, serial console 115200, experimental multiboot)" { #EOF # printf '%s\n' "${prepare_boot_cache}" # cat << EOF # multiboot $MEMTESTPATH console=ttyS0,115200n8 #} #EOF #fi