Memtest86: Difference between revisions
mNo edit summary |
m (removed the "$"s from the commands to make them copy/paste-able) |
||
Line 9: | Line 9: | ||
=== Memtest86 === | === Memtest86 === | ||
mkdir foo | |||
cd foo | |||
wget http://www.memtest86.com/memtest86-3.4.tar.gz | |||
tar xfvz memtest86-3.4.tar.gz | |||
cd memtest86-3.4 | |||
(Optional: edit '''config.h''' and set '''#define SERIAL_CONSOLE_DEFAULT 1''' for serial support) | (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 (v2 or v3), either on real hardware or in a QEMU image. | The file '''memtest''' is your final payload which you can use with coreboot (v2 or v3), either on real hardware or in a QEMU image. | ||
Line 23: | Line 23: | ||
Finally, you have to build coreboot (v3 in this example) with Memtest86 as payload: | Finally, you have to build coreboot (v3 in this example) with Memtest86 as payload: | ||
cd .. | |||
svn co svn://coreboot.org/repository/coreboot-v3 '''-r656''' | |||
cp memtest86-3.4/memtest coreboot-v3/payload.elf | |||
cd coreboot-v3 | |||
make menuconfig | |||
Now enter the '''Payload''' menu and select '''Payload type''' and then '''An ELF executable payload file'''. Now exit the menu, save your settings, and build coreboot: | Now enter the '''Payload''' menu and select '''Payload type''' and then '''An ELF executable payload file'''. Now exit the menu, save your settings, and build coreboot: | ||
make | |||
The file '''build/coreboot.rom''' (or '''build/bios.bin''') is your final coreboot v3 image, which also contains the payload. | The file '''build/coreboot.rom''' (or '''build/bios.bin''') is your final coreboot v3 image, which also contains the payload. | ||
Line 39: | Line 39: | ||
For running the coreboot+Memtest86 image in QEMU, you need a patched version of '''vgabios-cirrus.bin''' in your '''build''' directory first: | 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: | You can now run coreboot and Memtest86 in QEMU: | ||
qemu -L build -hda /dev/zero -serial stdio | |||
== Ready-made QEMU image == | == Ready-made QEMU image == |
Revision as of 06:53, 12 September 2008
![](/images/thumb/3/39/Qemu_memtest.png/300px-Qemu_memtest.png)
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.4.tar.gz tar xfvz memtest86-3.4.tar.gz cd memtest86-3.4
(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 (v2 or v3), either on real hardware or in a QEMU image.
coreboot
Finally, you have to build coreboot (v3 in this example) with Memtest86 as payload:
cd .. svn co svn://coreboot.org/repository/coreboot-v3 -r656 cp memtest86-3.4/memtest coreboot-v3/payload.elf cd coreboot-v3 make menuconfig
Now enter the Payload menu and select Payload type and then An ELF executable payload file. Now exit the menu, save your settings, and build coreboot:
make
The file build/coreboot.rom (or build/bios.bin) is your final coreboot v3 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: |