blob: f720d98741cfab8bda352e912948d636909f6962 (
plain) (
tree)
|
|
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>
|