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>
|