summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD4
-rw-r--r--memtest86-efi37
-rw-r--r--memtest86-efi.install4
4 files changed, 36 insertions, 15 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 00b5fa26e46b..db77351e9075 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,7 @@
-# Generated by makepkg 4.2.1
-# Sat Jun 13 14:22:21 UTC 2015
pkgbase = memtest86-efi
pkgdesc = A free, thorough, stand alone memory test as an EFI application
pkgver = 6.1.0
- pkgrel = 2
+ pkgrel = 3
url = http://www.memtest86.com
install = memtest86-efi.install
arch = i686
@@ -16,7 +14,7 @@ pkgbase = memtest86-efi
source = memtest86-efi
source = memtest86-efi.conf
md5sums = b81b2090c1172cdb238fc3af415522af
- md5sums = 2e9d85634c741588f050d214137b6137
+ md5sums = 78b49495cd332023f5be6644c9e24360
md5sums = 6c096df3f55baf3e27c3bd605a418aa2
pkgname = memtest86-efi
diff --git a/PKGBUILD b/PKGBUILD
index 8787c61d491c..5ceefb2ec470 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
_pkgbasename=memtest86
pkgname=$_pkgbasename-efi
pkgver=6.1.0
-pkgrel=2
+pkgrel=3
pkgdesc="A free, thorough, stand alone memory test as an EFI application"
arch=('i686' 'x86_64')
url="http://www.memtest86.com"
@@ -15,7 +15,7 @@ source=("$_pkgbasename-$pkgver.iso.tar.gz::http://www.memtest86.com/downloads/$_
"memtest86-efi"
"memtest86-efi.conf")
md5sums=('b81b2090c1172cdb238fc3af415522af'
- '2e9d85634c741588f050d214137b6137'
+ '78b49495cd332023f5be6644c9e24360'
'6c096df3f55baf3e27c3bd605a418aa2')
prepare() {
diff --git a/memtest86-efi b/memtest86-efi
index 89423f85c95c..a672d81343fa 100644
--- a/memtest86-efi
+++ b/memtest86-efi
@@ -25,8 +25,9 @@ install() {
echo "Please, how do you want to use $0 ?"
echo -e "\033[1m1\033[0m: From \033[1mLaunch EFI Shell\033[0m (in UEFI Setup), e.g. as shellx64.efi on ESP's root (bit safe)"
echo -e "\033[1m2\033[0m: Add a new boot entry (more safe)"
- echo -e "\033[1m3: Cancel\033[0m"
- choice=0; while [[ $choice < 1 ]] || [[ $choice > 3 ]]; do
+ echo -e "\033[1m3\033[0m: Add a file for GRUB2 (untested)"
+ echo -e "\033[1m4: Cancel\033[0m"
+ choice=0; while [[ $choice < 1 ]] || [[ $choice > 4 ]]; do
read choice
echo
done
@@ -38,14 +39,29 @@ install() {
cp -v "$MEMTEST86_PATH/"* "$esp/" # Move files in ESP root
mv -v "$esp/boot$ARCH.efi" "$esp/shell$ARCH.efi" # Rename .efi file
elif [[ $choice == 2 ]]; then
- # Install MemTest86 in $esp/EFI/memtest86
+ # Install MemTest86 in $esp/EFI/memtest86 & Add a boot entry
echo -e "MemTest86 will be installed in \033[1m$esp/EFI/memtest86\033[0m."
mkdir -pv "$esp/EFI/memtest86"
cp -v "$MEMTEST86_PATH/"* "$esp/EFI/memtest86/" # Move files in memtest ESP directory
mv -v "$esp/EFI/memtest86/boot$ARCH.efi" "$esp/EFI/memtest86/memtest$ARCH.efi" # Rename .efi file
- echo
+ echo -e "\nAdd a new EFI boot entry..."
efibootmgr -c -d ${partition:0:8} -p ${partition:8} -w -L "MemTest86" -l "\EFI\memtest86\memtest$ARCH.efi" # Manage efi entry
elif [[ $choice == 3 ]]; then
+ # Install MemTest86 in $esp/EFI/memtest86 & Add a file for GRUB2
+ echo -e "MemTest86 will be installed in \033[1m$esp/EFI/memtest86\033[0m."
+ if [[ ! -d "/etc/grub.d/" ]]; then
+ echo -e "\033[1;31mGRUB2 seems not installed on your system. Aborted.\033[0m"
+ exit 2
+ fi
+ mkdir -pv "$esp/EFI/memtest86"
+ cp -v "$MEMTEST86_PATH/"* "$esp/EFI/memtest86/" # Move files in memtest ESP directory
+ mv -v "$esp/EFI/memtest86/boot$ARCH.efi" "$esp/EFI/memtest86/memtest$ARCH.efi" # Rename .efi file
+ echo -e "\nAdd a new configuration file for GRUB..."
+ echo "menuentry \"Memtest86\" {
+ search --set=root --no-floppy --fs-uuid $(blkid $partition -s UUID -o value)
+ chainloader /EFI/memtest86/memtest$ARCH.efi" > "/etc/grub.d/86_memtest"
+ grub-mkconfig -o "/boot/grub/grub.cfg"
+ elif [[ $choice == 4 ]]; then
# Do nothing and quit
echo -e "Canceled. MemTest86 will not be installed."
exit 1
@@ -70,7 +86,7 @@ update() {
echo -e "MemTest86 will be updated in \033[1m$esp\033[0m."
cp -fv "$MEMTEST86_PATH/"* "$esp/"
mv -fv "$esp/boot$ARCH.efi" "$esp/shell$ARCH.efi"
- elif [[ $choice == 2 ]]; then
+ elif [[ $choice == 2 ]] || [[ $choice == 3 ]]; then
echo -e "MemTest86 will be updated in \033[1m$esp/EFI/memtest86\033[0m."
cp -fv "$MEMTEST86_PATH/"* "$esp/EFI/memtest86/"
mv -fv "$esp/EFI/memtest86/boot$ARCH.efi" "$esp/EFI/memtest86/memtest$ARCH.efi"
@@ -92,8 +108,14 @@ remove() {
elif [[ $choice == 2 ]]; then
echo -e "MemTest86 will be removed from \033[1m$esp/EFI/memtest86\033[0m."
rm -rfv "$esp/EFI/memtest86/"
- echo
+ echo -e "\nRemove MemTest86 EFI boot entry..."
efibootmgr -b $(efibootmgr | grep MemTest86 | cut -c 5-8) -B
+ elif [[ $choice == 3 ]]; then
+ echo -e "MemTest86 will be removed from \033[1m$esp/EFI/memtest86\033[0m."
+ rm -rfv "$esp/EFI/memtest86/"
+ echo -e "\nRemove configuration file for GRUB..."
+ rm -v "/etc/grub.d/86_memtest"
+ grub-mkconfig -o "/boot/grub/grub.cfg"
fi
echo "Write configuration..."
@@ -114,5 +136,6 @@ case "$1" in
-i|--install) install; exit 0;;
-u|--update) update; exit 0;;
-r|--remove) remove; exit 0;;
- *) echo -e "Usage: $0 [argument]\n\nArgument:\n\t-i, --install\n\t-u, --update\n\t-r, --remove"; exit 1;;
+ -s|--status) exit $install;;
+ *) echo -e "Usage: $0 [argument]\n\nArgument:\n\t-i, --install\n\t-u, --update\n\t-r, --remove\n\t-s, --status"; exit 1;;
esac
diff --git a/memtest86-efi.install b/memtest86-efi.install
index 108c232bbd7d..f40d1d681834 100644
--- a/memtest86-efi.install
+++ b/memtest86-efi.install
@@ -3,11 +3,11 @@ post_install() {
}
post_upgrade() {
- [[ "$(grep install= /etc/memtest86-efi.conf)" == *"1" ]] && /usr/bin/memtest86-efi --update
+ /usr/bin/memtest86-efi --status || /usr/bin/memtest86-efi --update
exit 0
}
pre_remove() {
- [[ "$(grep install= /etc/memtest86-efi.conf)" == *"1" ]] && /usr/bin/memtest86-efi --remove
+ /usr/bin/memtest86-efi --status || /usr/bin/memtest86-efi --remove
exit 0
}