Memtest86
The wiki is being retired!
Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

Memtest86 is a program which checks your RAM modules.
It can be run from within GRUB, but also as a coreboot payload (i.e. included in your ROM chip).
Building
Memtest86
$ mkdir foo $ cd foo $ wget http://www.memtest86.com/memtest86-3.5.tar.gz $ tar xfvz memtest86-3.5.tar.gz $ cd memtest86-3.5
(Optional: edit config.h and set #define SERIAL_CONSOLE_DEFAULT 1 for serial support)
$ make
The file memtest is your final payload which you can use with coreboot, either on real hardware or in a QEMU image.
Memtest86+
$ wget http://www.memtest.org/download/4.20/memtest86+-4.20.tar.gz $ tar xfvz memtest86+-4.20.tar.gz $ cd memtest86+-4.20
(Optional: edit config.h and set #define SERIAL_CONSOLE_DEFAULT 1 for serial support)
$ make
coreboot
Finally, you have to build coreboot with Memtest86 as payload:
$ cd .. $ svn co svn://coreboot.org/coreboot/trunk coreboot $ cp memtest86-3.5/memtest coreboot/payload.elf $ cd coreboot $ make menuconfig
Now enter the Payload menu and select Payload type and then An ELF executable payload file. Then, exit the menu, save your settings, and build coreboot:
$ make
The file build/coreboot.rom is your final coreboot image, which also contains the payload.
Running Memtest86 in QEMU
For running the coreboot+Memtest86 image in QEMU, you need a patched version of vgabios-cirrus.bin in your build directory first:
$ cd build $ wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip $ unzip Vgabios-cirrus.zip $ cd ..
You can now run coreboot and Memtest86 in QEMU:
qemu -L build -hda /dev/zero -serial stdio
Ready-made QEMU image
Please follow these instructions if you want to try out coreboot and Memtest86 in QEMU.
![]() |
I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.
In case this is not legally possible: |