martinwhitaker / pcmemtest Goto Github PK
View Code? Open in Web Editor NEWA memory tester for x86 and x86-64 computers (rewrite of memtest86+)
License: GNU General Public License v2.0
A memory tester for x86 and x86-64 computers (rewrite of memtest86+)
License: GNU General Public License v2.0
there's a rpm package of pcmemtest with a functional grub.d grub-mkconfig script
we could port that script from there
Issue #2 was closed because it's documented that keyboard only works with enabled CMS aka legacy boot.
But more and more EFI systems don't ship a CSM.
So it would be really nice if you could get the keyboard working on pure EFI systems.
Unfortunately grub2 is GPL3+ whereas pcmemtest is only GPL2. It has a working keyboard driver for pure EFI mode.
Using version 1.5 from Debian experimental.
PCMemTest doenst't seem to support ECC error polling which would be useful.
I got correctable Errors from my ECC RAM under Linux, but PCMemTest reported after a full completed pass still 0 Errors.
And there doestn't seem to be anything about ECC error polling in the configuration menu.
After I rebooted in Linux I got another one, just after 6 Minutes:
mc0: 0 Uncorrected Errors with no DIMM info
mc0: 0 Corrected Errors with no DIMM info
mc0: csrow2: 0 Uncorrected Errors
mc0: csrow2: mc#0csrow#2channel#0: 0 Corrected Errors
mc0: csrow2: mc#0csrow#2channel#1: 1 Corrected Errors
use case:
with lots of errors it will take eons to transcribe the bad blocks from photos to the /etc/default/grub
files GRUB_BADRAM
option
Hi
does the image (BIOS and EFI) get along with append parameters when loading pcmemtest?
e.g. I would like to turn off the machine once all RAM has been checked.
If I may humbly suggest supporting serial consoles. This would offer a method of user input, and I expect much easier than a USB keyboard driver. It also offers an output method for headless machines, particularly servers with IPMI serial-over-LAN.
memtest86+ supports this with the typical Linux kernel option "console". e.g. To output to both the regular console and the second serial port (at max speed), add to the boot command-line: console=tty0 console=ttyS1,115200
Once supporting boot-time command-line options to enable a serial console, you might consider allowing other options to be set there as well, e.g. enabling SMP, without needing any user input.
On an old quad-socket Opteron 6272 server (4x16 cores but every pair of cores shares a FPU), which produced several corrected ECC errors overnight, I tried to use PCMemTest 1.5, under the form of the recently added Debian experimental package, in legacy BIOS mode, and forcing SMP enable at start. Well, pcmemtest had worked (UP and SMP modes) on several 32-bit-only computers recently, but not on this computer :)
I can test the latest Git version of pcmemtest later, but for now, memtest86+ 5.31b (again under the form of a Debian experimental package, which contains a bugfix over upstream memtest86+ 5.31b to avoid memory corruption and often a crash on most computers equipped with > 16 RAM slots...) has neither bug: after forcing SMP mode as well, the memory test started properly in 32-core mode:
Hello, may I ask you to make your software available for the aarch64 platform? if you have nothing to test on, I am ready to play the role of a tester.
ADD a secondary OK
button in addition to Esc
use case:
my usb keyboard does not work in UEFI with compability enabled AND the internal kb is missing the Esc
key ๐ก๏ธ
Unbootable using uefi pxe or uefi ipxe, made via cd build64; make
Hi,
I tried to build this with linux mint 20.3 64bit but first it was missing memory.h and did ln -s at pcmemtest/system for /usr/src/linux-headers-5.4.0-104-generic/include/config/memory.h
then it started building but again for limits.h did etc. ln -s for /usr/include/linux/limits.h
but it goes errer later on.
How should I properly set build environment for this, any pointers would be apreceated. (btw. tnx for the work on really good tool have been using it for years :))
Today I tried to build 32 and 64bit pcmemtest binaries.
Both fail with the same error
size: Invalid Option -- G
Tried to build it on a debian 10 system
objcopy -O binary memtest_shared memtest_shared.bin
gcc -E -traditional -I../boot -o boot/bootsect.s ../boot/bootsect.S
as -64 boot/bootsect.s -o boot/bootsect.o
gcc -E -traditional -I../boot -o boot/setup.s ../boot/setup.S
as -64 boot/setup.s -o boot/setup.o
size: Invalid Option -- G
Usage: size [option(s)] [file(s)]
Displays the sizes of sections inside binary files
If no input file(s) are specified, a.out is assumed
The options are:
-A|-B --format={sysv|berkeley} Select output style (default is berkeley)
-o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex
-t --totals Display the total sizes (Berkeley only)
--common Display total size for *COM* syms
--target=<bfdname> Set the binary file format
@<file> Read options from <file>
-h --help Display this information
-v --version Display the program's version
size: supported targets: elf64-x86-64 elf32-i386 elf32-iamcu elf32-x86-64 pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big pe-x86-64 pe-bigobj-x86-64 pe-i386 plugin srec symbolsrec verilog tekhex binary ihex
ld --defsym=_bss_size= -T ldscripts/memtest_bin.lds boot/bootsect.o boot/setup.o -b binary memtest_shared.bin -o memtest.bin
ld:--defsym:0: syntax error
make: *** [Makefile:104: memtest.bin] Error 1
rm boot/setup.s boot/bootsect.s
Could you post an ISO version? So users could use pcmemtest.
void *first_word_mapping(uintptr_t page)
{
void *result;
if (page < PAGE_C(2,GB)) {
// If the address is less than 2GB, it is directly mapped.
result = (void *)(page << PAGE_SHIFT);
} else {
// Otherwise it is mapped to the third GB.
uintptr_t alias = PAGE_C(2,GB) + page % PAGE_C(1,GB);
result = (void *)(alias << PAGE_SHIFT);
}
return result;
}
The documentation currently states "Either image can be booted by an intermediate bootloader using the Linux 32-bit, 64-bit, or 64-bit EFI handover boot protocols," but I have been unable to successfully load pcmemtest.efi from GRUB2. GRUB2 will report that it is loading the image, and then appears to halt with that message on screen. Perhaps I'm not setting the required graphics settings? Would you provide an example GRUB2 stanza for UEFI to the documentation?
It would be nice to have SMP mode enabled by default.
There are not many EFI systems with only 1 CPU
And because keyboard isn't working I can't enable it myself
Hi! Thank you for pcmemtest. I'm excited to get another piece of non-free software off my machine.
Just an FYI, there's work in NixOS to add an option for users to have a pcmemtest added to our grub: NixOS/nixpkgs#156884
But when I ran it, I was a bit confused by the output. It says "pass complete", but it's not at 100% and it kept going?
A wonderful Memtest tool, easy to build and run on USB disk.
but, USB Keyboard is not powered on when running this tool on Z490 mother board, (while it is on and work during BIOS stage, and get off when PCMemtest start run), so I can't control PCMemtest mannually.
I am a newbie in iverilog. I am really want to learn how to write a verilog systhsis tool, but I don't know how to start.Could you please show me the way to write a compiler and the essential base knowledge I need to acquire.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.