@Sven: Please provide output of ls -l /home/skoehler/aur/memtest86-efi/src/
.
Search Criteria
Package Details: memtest86-efi 1:11.1build1000-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/memtest86-efi.git (read-only, click to copy) |
---|---|
Package Base: | memtest86-efi |
Description: | A free, thorough, stand alone memory test as an EFI application |
Upstream URL: | https://www.memtest86.com |
Licenses: | GPL2, custom:PassMark |
Submitter: | UnicornDarkness |
Maintainer: | UnicornDarkness |
Last Packager: | UnicornDarkness |
Votes: | 113 |
Popularity: | 0.121911 |
First Submitted: | 2013-10-29 10:25 (UTC) |
Last Updated: | 2024-10-31 09:57 (UTC) |
Dependencies (3)
- p7zipAUR (p7zip-natspecAUR, p7zip-full-binAUR, 7-zip-fullAUR, 7zip) (make)
- efibootmgr (efibootmgr-gitAUR) (optional) – to add a new EFI boot entry
- grub (grub-coreosAUR, grub-xen-gitAUR, grub-luks-keyfileAUR, grub-silentAUR, grub-gitAUR, grub-improved-luks2-gitAUR, grub-grubenv-btrfsAUR, grub-libzfsAUR) (optional) – to add MemTest86 entry in GRUB2 menu
Required by (0)
Sources (4)
Latest Comments
« First ‹ Previous 1 2 3 4 5 6 7 .. 15 Next › Last »
UnicornDarkness commented on 2022-10-01 12:30 (UTC)
Sven commented on 2022-10-01 11:46 (UTC) (edited on 2022-10-02 13:07 (UTC) by Sven)
Latest version doesn't build:
$ LANG=C makepkg -sic
==> Making package: memtest86-efi 1:10.0build1000-2 (Sat Oct 1 13:46:30 2022)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found memtest86-efi-10.0build1000.zip
-> Found memtest86-efi
-> Found memtest86-efi.conf
-> Found memtest86-efi-update.hook
==> Validating source files with sha512sums...
memtest86-efi-10.0build1000.zip ... Passed
memtest86-efi ... Passed
memtest86-efi.conf ... Passed
memtest86-efi-update.hook ... Passed
==> Extracting sources...
-> Extracting memtest86-efi-10.0build1000.zip with bsdtar
==> Starting prepare()...
ERROR: errno=2 : No such file or directory
/home/skoehler/aur/memtest86-efi/src/EFI System Partition.img
UnicornDarkness commented on 2022-10-01 09:22 (UTC) (edited on 2022-10-01 09:23 (UTC) by UnicornDarkness)
@Gadgethm: Sorry I didn't see your comment earlier. Prompting for memtest86_esp_path
but ignoring the value if user selects choice #1 is not optimal anyway. I updated choice #1 to not hardcode the path in ESP in 6c4590b3a543, so it will act like your choice #5.
Old behavior of choice #1 can still feasible by giving /
during memtest86_esp_path
prompt. It will add a trailing /
at the end but it is not an issue.
Gadgethm commented on 2022-02-06 05:22 (UTC)
@Xorg: Thank you for the fast update! I was still having issues due to the fact that I don't set entries in grub or in efibootmgr (I use refind), and option 1 was hardcoding the path to the root of the esp instead of the user specified path.
I went ahead and made some local changes to add an option to install without adding entries, but to the user specified location; let me know your thoughts.
Here's the diff:
diff --git a/memtest86-efi b/memtest86-efi
index 0e4c54b..ff6f42b 100755
--- a/memtest86-efi
+++ b/memtest86-efi
@@ -154,7 +154,8 @@ install() {
echo -e "${CB}2${CR}: Add a new EFI boot entry (more safe)"
echo -e "${CB}3${CR}: Add a boot entry for GRUB2 menu"
echo -e "${CB}4${CR}: Add a boot entry for systemd-boot menu"
- echo -e "${CB}5${CR}: Cancel"
+ echo -e "${CB}5${CR}: Copy shellx64.efi file on ESP to user specified directory (bit safe)"
+ echo -e "${CB}6${CR}: Cancel"
choice=0
while [[ $choice -lt 1 ]] || [[ $choice -gt 5 ]]; do
read -r choice
@@ -211,6 +212,11 @@ install() {
bootctl --path="$esp_mount_path" update
;;
+ 5) # Install MemTest86 in ${esp_mount_path}${memtest86_esp_path}/
+ memtest86_esp_bin="shell$ARCH.efi"
+ _common_install "${esp_mount_path}${memtest86_esp_path}" "$memtest86_esp_bin"
+ ;;
+
*) # Do nothing and quit
echo -e "Canceled. MemTest86 will not be installed."
exit $CODE_OK
@@ -242,7 +248,7 @@ update() {
_common_install "$esp_mount_path" "$memtest86_esp_bin"
;;
- 2|3|4) # Update files in ${esp_mount_path}${memtest86_esp_path}/
+ 2|3|4|5) # Update files in ${esp_mount_path}${memtest86_esp_path}/
_common_install "${esp_mount_path}${memtest86_esp_path}" "$memtest86_esp_bin"
;;
esac
@@ -298,6 +304,12 @@ remove() {
rm -v "$esp_mount_path/loader/entries/memtest86-efi.conf"
bootctl --path="$esp_mount_path" update
;;
+
+ 5) # Remove files in ${esp_mount_path}${memtest86_esp_path}
+ echo -e "MemTest86 will be removed from ${CB}${esp_mount_path}${memtest86_esp_path}/${CR}."
+ rm -rfv "${esp_mount_path:?}${memtest86_esp_path:?}"
+ ;;
+
esac
echo "Writting configuration..."
UnicornDarkness commented on 2022-02-05 11:49 (UTC)
@Gadgethm: Fixed in 0933d59e69d9. I improved a bit _mount_esp()
function.
Please note it is up to user to update configuration file if ESP mount point change after installation.
In your case, I recommend a memtest86-efi -r
, then update package to 1:9.4build1000-4
, then reinstall like you want with memtest86-efi -i
.
Gadgethm commented on 2022-02-04 04:40 (UTC) (edited on 2022-02-04 05:06 (UTC) by Gadgethm)
The latest update 600ab3bcaead broke my install setup. The auto mount feature is not really implemented well; it just blindly mounts and installs memtest to a hardcoded location, but my setup is to have my esp mounted at /boot/efi, and memtest installed at /boot/efi/EFI/tools/memtest86. As a result, the install script instead mounts my EFI directory to itself at /boot/efi/EFI/tools/memtest86, and then installs to the ESP root (since that's hardcoded in)
A better solution would be to have an option to have the script install to a specific, user specified directory. This way you're not auto mounting to whatever directory the user specified and resulting in nested mounts.
My config for reference:
#
# /etc/memtest86-efi.conf
#
MEMTEST86_PATH=/usr/share/memtest86-efi
partition=/dev/nvme0n1p1
esp=/boot/efi/EFI/tools/memtest86
choice=1
install=1
Here's an example config of a better way to implement:
#
# /etc/memtest86-efi.conf
#
MEMTEST86_PATH=/usr/share/memtest86-efi
partition=/dev/nvme0n1p1
esp=/boot/efi/
install=/boot/efi/EFI/tools/memtest86
choice=1
install=5
[EDIT] Another note: On further testing and investigation, the _mount_esp()
function does not correctly detect that my EFI partition is already mounted at /boot/efi when I change the esp directory to be /boot/efi. As a result, the mount fails due to already being mounted and the script bombs out. The issue is with the way the not character is processed.
Relevant lines in the script:
if ! mount | grep "$partition" | grep -q "$esp"; then
echo -e "ESP ${CB}$partition${CR} is not mounted, mounting..."
Should be changed to
if [! mount | grep "$partition" | grep -q "$esp"]; then
echo -e "ESP ${CB}$partition${CR} is not mounted, mounting..."
UnicornDarkness commented on 2022-02-01 19:06 (UTC)
@mokkurkalve: Please manually edit /etc/memtest86-efi/memtest86-efi.conf
configuration file to fix the issue.
mokkurkalve commented on 2022-01-31 23:40 (UTC) (edited on 2022-01-31 23:47 (UTC) by mokkurkalve)
The change in 1:9.4build1000-2 makes my update fail:
sudo memtest86-efi -s
Default MemTest86 directories:
Configuration directory: /etc/memtest86-efi/
Data directory: /usr/share/memtest86-efi/
MemTest86 is installed on your system with following parameters:
ESP device name: /dev/sdb1
ESP mount point: /boot
Type of installation: 3
sudo memtest86-efi -u
ESP /dev/sdb1 is not mounted, mounting...
mount: /boot: special device /dev/sdb1 does not exist.
Fail to mount /dev/sdb1 on /boot. Aborted.
The EFI partition is not on /dev/sdb1, it's on /dev/nvme0n1p1. I have migrated this system (with dd, and reinstall Grub) from an older machine on which the EFI partition was on /dev/sdb1. I have however not noticed any problems with this before, and "sudo memtest86-efi -u" worked fine before this change. (Updating Grub has also worked flawlessly. Booting. And anything else.) EDIT: Can I just replace "partition=/dev/sdb1" with "partition=/dev/nvme0n1p1" in /etc/memtest86-efi/memtest86-efi.conf to solve this?
UnicornDarkness commented on 2022-01-31 18:46 (UTC)
@hamelg: Added in 600ab3bcaead, thanks.
hamelg commented on 2022-01-30 16:58 (UTC) (edited on 2022-01-30 17:00 (UTC) by hamelg)
the update hook doesn't work here because my efi partition is not permanently mounted. A check could be added in the memtest86-efi script.
diff --git a/memtest86-efi b/memtest86-efi
index 45a7fb7..4080189 100644
--- a/memtest86-efi
+++ b/memtest86-efi
@@ -211,6 +211,14 @@ update() {
;;
2|3|4) # Update files in $esp/EFI/memtest86/
+ ## Check if efi partition is mounted, if not mount it
+ if ! mount | grep "$partition" | grep -q "$esp"; then
+ echo -e "ESP ${CB}$partition${CR} is not mounted, mounting..."
+ if ! mount "$partition" "$esp"; then
+ echo -e "${CE}Fail to mount $partition on $esp. Aborted.${CR}" > /dev/stderr
+ exit $CODE_FATAL
+ fi
+ fi
_common_install "$esp/EFI/memtest86" "memtest$ARCH.efi"
;;
esac
Pinned Comments
UnicornDarkness commented on 2019-06-08 08:52 (UTC) (edited on 2019-06-08 08:53 (UTC) by UnicornDarkness)
As you probably know, the
<https://www.memtest86.com/downloads/memtest86-usb.zip>
URL is likely to cause problems, like this error:To avoid this problem, I prefer to reupload
memtest86-usb.zip
archive somewhere else, where this kind of breakage will not appear.I can't upload this archive on AUR directly (archive is 8 MB but AUR accepts 250 KiB maximum), so I decide to put this archive on my Git repository to avoid future breakages.
I hope it suits you.