diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 4 | ||||
-rw-r--r-- | memtest86-efi | 37 | ||||
-rw-r--r-- | memtest86-efi.install | 4 |
4 files changed, 36 insertions, 15 deletions
@@ -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 @@ -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 } |