summaryrefslogtreecommitdiffstats
path: root/efi_memtest/README
blob: f720d98741cfab8bda352e912948d636909f6962 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
README
This is a Memtest version for UEFI, based on the code of memtest86+ for BIOS. (TODO Link)

>>Changelog<<

 -	Replace bootloader by UEFI application entry point - UefiMain()
 -	Libs and GenFW from edkII
 -	Assembly to 64 bit version
 -	Pointer to Int conversion
 -	Display
 		+ General
 		+ Config menu
 		+ Scrollbuffer (no text mode)
 -	Logger
 -	GetMemoryMap()
 -	SMBIOS Table
 -	Keyboard Input


TABLE OF CONTENTS
======================
	1) DEPENDENCIES
	2) DOWNLOAD
	3) HOW TO BUILD AND RUN
	4) OPEN TASKS
	5) CONTACT


1) DEPENDENCIES
====================

The build process is tested on
	- Ubuntu 18.04.5 LTS
	- Kernel version 5.4.0-80-generic
	- qemu-system-x86_64 version 2.11.1
	- Uefi Spec 2.8
	- gcc 7.5.0
	- GNU Make 4.1

	- System:
		Intel® Core™ i5-3470 CPU @ 3.20GHz × 4
		AMD ...


2) DOWNLOAD
================

	git clone git@git.openslx.org:openslx-ng/memtest86.git

	!! Note: If you want to make tests with Uefi's AllocatePages() function, switch to allocate-pages branch


3) HOW TO BUILD AND RUN
==================

	a) via QEMU:
		Open a Terminal, navigate into efi_memtest directory and execute

		-- sudo make
				to build and run in qemu


		-- sudo make run
				to run in qemu


		Inside QEMU:

			- type "fs0:" to switch into filesystems containing MemtestEfi.efi
			- type "MemtestEfi.efi" to run the application

	b) via USB:

		- Rename MemtestEfi.efi to BOOTX64.efi
		- Format USB drive to FAT32
		- copy the efi file into /efi/boot/BOOTX64.efi
		- If you want to use the logger, create a file "memtest_log" in efi/ directory

		I had to disable the Networkstack in BIOS,
		then enter the bootmenu via F12 during the boot process and choose the USB drive

	c) via PXE:

		Create a TFTP server, copy MemtestEfi.efi on this server
		Enable Networkboot on the test computer

4) OPEN TASKS
==================
	The MemtestEfi project is still in development so there are still a lot of open tasks.
	You can see a summary of known issues at https://lab.ks.uni-freiburg.de/projects/memtest86-efi
	with no guarantee of completeness.

	The entry point is UefiMain() in MemtestEfi.c.
	This function calls test_start() which is the entry point of the original Memtest86+ code.
	
5) CONTACT
===============
	Regina König <koenig_regina@arcor.de>