Difference between revisions of "Memtest86"

From coreboot
Jump to: navigation, search
m
m (removed the "$"s from the commands to make them copy/paste-able)
Line 9: Line 9:
 
=== Memtest86 ===
 
=== Memtest86 ===
  
  $ mkdir foo
+
  mkdir foo
  $ cd foo
+
  cd foo
  $ wget http://www.memtest86.com/memtest86-3.4.tar.gz
+
  wget http://www.memtest86.com/memtest86-3.4.tar.gz
  $ tar xfvz memtest86-3.4.tar.gz
+
  tar xfvz memtest86-3.4.tar.gz
  $ cd memtest86-3.4
+
  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
+
  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 ..
+
  cd ..
  $ svn co svn://coreboot.org/repository/coreboot-v3 '''-r656'''
+
  svn co svn://coreboot.org/repository/coreboot-v3 '''-r656'''
  $ cp memtest86-3.4/memtest coreboot-v3/payload.elf
+
  cp memtest86-3.4/memtest coreboot-v3/payload.elf
  $ cd coreboot-v3
+
  cd coreboot-v3
  $ make menuconfig
+
  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
+
  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
+
  cd build
  $ wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip
+
  wget http://www.coreboot.org/images/0/0d/Vgabios-cirrus.zip
  $ unzip Vgabios-cirrus.zip
+
  unzip Vgabios-cirrus.zip
  $ cd ..
+
  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
+
  qemu -L build -hda /dev/zero -serial stdio
  
 
== Ready-made QEMU image ==
 
== Ready-made QEMU image ==

Revision as of 06:53, 12 September 2008

The Memtest86 payload.

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.

Public domain I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.