package/memtest86: bump to version 6.20

- bumped package version to 6.20
- as 6.20 prebuilt version is not available on same download site but
  source code is released at https://github.com/memtest86plus/memtest86plus/releases
  so updated mk file to download source from git release
- prebuilt binary not found in 6.20 package and also README.md
  does not mention any toolchain limitation for compilation
  so added source build command depending on 32-bit or 64-bit x86 target.
- corrected License file name
- installed memtest binaries to image folder like other bootable
  images(grub , kernel) are copied.
- updated config help as per package README.md

Signed-off-by: Kalpesh Panchal <kalpesh.panchal2@collins.com>
Signed-off-by: Abhishek Anand <abhishek.anand@collins.com>
Signed-off-by: Brandon Maier <brandon.maier@collins.com>
[yann.morin.1998@free.fr:
  - fix check-package errors
  - fix hash file
  - better install commands
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Kalpesh Panchal 2023-11-10 20:59:59 +00:00 committed by Yann E. MORIN
parent b41d4494a6
commit a743087593
3 changed files with 50 additions and 16 deletions

View File

@ -14,14 +14,33 @@ config BR2_PACKAGE_MEMTEST86
back again and verifies whether the result of the read is the
same as what was written to memory.
Memtest86+ will only work on 32-bit or 64-bit x86 targets.
It boots as an i486 program and autodetects hardware. It can
be added to the grub2 boot menu by adding the following
lines to the bottom of /boot/grub/grub.cfg - note the use of
linux16.
Memtest86+ will only work on 32-bit or 64-bit x86 targets. It
boots and autodetects hardware. Refer README.md for boot
options.
menuentry "Memtest86+" {
linux16 /boot/memtest86+.bin
It can be loaded and run either directly by a PC BIOS (legacy
or UEFI) or via an intermediate bootloader that supports the
Linux 16-bit, 32-bit, 64-bit, or EFI handover boot protocol.
It can be added to the grub2 boot menu by adding the following
lines to the bottom of grub.cfg
Example for legacy BIOS using the Linux 16-bit boot protocol,
with built-in support for USB keyboards or running on a serial
line:
menuentry "Start Memtest86+ (USB keyboards)" {
linux16 /boot/memtest.bin keyboard=both
}
menuentry "Start Memtest86+ (serial line)" {
linux16 /boot/memtest.bin console=ttyS0,115200
}
Or for UEFI BIOS using the Linux 32-bit or 64-bit boot
protocols, using USB keyboard:
menuentry "Start Memtest86+ (USB keyboards)" {
linux /EFI/BOOT/memtest.efi keyboard=both
}
Other boot loaders will have similar requirements.

View File

@ -1,3 +1,3 @@
# locally computed using sha256sum
sha256 142127b7953fbd829b1057fb64a78d3340c2b771484230a7347e94530a0d9039 memtest86+-5.01.tar.gz
sha256 2e15e2174b86640d7fbfcb62b51d9182062d9db71d66a46e5b01d736c68150ea README
sha256 463b2db66128e45c96be76136272e2ee940f1319804b1b88cc2ef04edccd01d8 memtest86-6.20.tar.gz
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE

View File

@ -4,15 +4,30 @@
#
################################################################################
MEMTEST86_VERSION = 5.01
MEMTEST86_SOURCE = memtest86+-$(MEMTEST86_VERSION).tar.gz
MEMTEST86_SITE = http://www.memtest.org/download/$(MEMTEST86_VERSION)
MEMTEST86_VERSION = 6.20
MEMTEST86_SITE = $(call github,memtest86plus,memtest86plus,v$(MEMTEST86_VERSION))
MEMTEST86_LICENSE = GPL-2.0
MEMTEST86_LICENSE_FILES = README
MEMTEST86_LICENSE_FILES = LICENSE
MEMTEST86_INSTALL_IMAGES = YES
MEMTEST86_INSTALL_TARGET = NO
# memtest86+ is sensitive to toolchain changes, use the shipped binary version
define MEMTEST86_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 -D $(@D)/precomp.bin $(TARGET_DIR)/boot/memtest86+.bin
ifeq ($(BR2_i386),y)
MEMTEST86_BUILD_DIR = build32
else
ifeq ($(BR2_x86_64),y)
MEMTEST86_BUILD_DIR = build64
endif
endif
define MEMTEST86_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/$(MEMTEST86_BUILD_DIR)
endef
define MEMTEST86_INSTALL_IMAGES_CMDS
$(foreach ext, bin efi, \
$(INSTALL) -m 0755 -D $(@D)/$(MEMTEST86_BUILD_DIR)/memtest.$(ext) \
$(BINARIES_DIR)/memtest.$(ext)
)
endef
$(eval $(generic-package))