summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorRegina König2020-07-07 09:36:18 +0200
committerRegina König2020-07-07 09:36:18 +0200
commitd27b5d7321dd3af4139b8d56a0f3b23790a0d941 (patch)
treef47c71ee4d612c37735dc9149dd8f380187409af /documentation
parentGetMemoryMap is printing all information (diff)
downloadmemtest86-d27b5d7321dd3af4139b8d56a0f3b23790a0d941.tar.gz
memtest86-d27b5d7321dd3af4139b8d56a0f3b23790a0d941.tar.xz
memtest86-d27b5d7321dd3af4139b8d56a0f3b23790a0d941.zip
finding a way to generate an efi file without edk
Diffstat (limited to 'documentation')
-rw-r--r--documentation/UEFI general/UEFI general59
-rw-r--r--documentation/pxe/pxe wiki16
2 files changed, 75 insertions, 0 deletions
diff --git a/documentation/UEFI general/UEFI general b/documentation/UEFI general/UEFI general
new file mode 100644
index 0000000..093dfdb
--- /dev/null
+++ b/documentation/UEFI general/UEFI general
@@ -0,0 +1,59 @@
+Wikipedia?
+
+Schnittstellen-Definition für Computer Firmware. Nachfolger des BIOS. Zentrale Schnittstelle zwischen der Plattform-Firmware und dem Betriebssystem.
+Ab EFI-Version 2.0 gitb wa offiziell eine 64-bit Implementierung auf x86.
+CSM: Compability Support Modul-BIOS-Kompabilitätsschicht, mit der UEFI voll zum BIOS rückwärtskompatibel bleibt. Seit ca. 2010 löst UEFI schrittweise das BIOS ab, welches daher auch als Legacy bezeichnet wird.
+
+wesentliche Merkmale: GUID-Partitionstabelle, zum vom BIOS genutzten Master-Boot Record teil-kompatibel, Framebuffer-basierte Grafikunterstützung, Netzwerkfunktionalität, seit v2.3.1 Secure Boot: beschränkt das Booten auf corher signierte Bootloader und hindert Schadsoftware + andere unerwünschte Programme am starten.
+
++-----------+
+| OS |
++-----------+
+ ^
+ | Vorteil gegenüber BIOS:
++-----------+ - Unabhängig vom Typ der CPU. Booten von verschiedenen Arten von Ssystemen, ua. ARM x64
+| EFI | - GPT (GUID-Partitionstabelle) lässt > 2TB Festplatten verwenden
++-----------+ - Alle Dateien und Programme in Form von herkömmlichen Dateien in eigener Partition im VFAT Format.
+ | Kein unveränderlicher Speicherbereich wie MBR im BIOS.
+ v - Netzwerkfähig, erlaubt direkt das Booten über Netzwerk
++-----------+ - Generell modulares, erweiterbares Desgin in Strukturen
+| Firmware | zb Aufrufen von UEFI-Shell im Rahmen des Bootvorgangs
++-----------+ - Das permanente Speichern best. Daten erfolgt im NVRAM.
+ - Skim, um nicht signierte GRUB im Secure Boot laden zu können. In praktisch allen Linux Distributionen verwendet.
++-----------+ - CSM/Compability Support Module zur Wahrung der Kompatibilität zu vorhandenen OS, die UEFI nicht unterstützen
+| HW | und ein BIOS voraussetzen
++-----------+ - Treiber können als Mpdul in das EFI integriert werden, so dass sie nicht mehr vom OS geladen werden->
+ ermöglicht systemunabhängige Treiber
+ - Sandbox Modus: Netzwerk- und Speicherverwaltung laufen auf Firmware anstatt auf OS
+ - Auswahlmöglichkeit für installierte OS
+
+wide range of functionality even before OS startsloading, modular (you can add custom code or drivers), runs on various platforms, applications and drivers for it can be written in C not in assembly (- more portable). Besides native CPU code, EDI supports custom byte-code, so drivers can be compiled st. they are portable between CPU architectures without need for compilation.
+Unified EFI because Intel, AMD, AMI, Apple, Dell, HP, IBM, Microsoft, Phoenix,... joined to create common standard
+
+Since UEFI standard defines exact binary interface, standalone UEFI drivers and applications are portable between various implementations - all versions backward compatible. UEFI standard also supports old-sytle boot via 16-bit real mode code, so it can be used with OSes that don't have UEFI support -> but in their case UEFI runtime drivers do not work.
+
+EFI Development
+----------------
+EFI Development Kit (EDK) and EFI Toolkit
+-> contains TianoCore (public part of reference UEFI implementation by Intel), along with many examples and binaries of EFI Shell
+
+EFI Toolkit
+------------
+extra applications: FTP Client, Python port, text editor,...
+
+Platform Initialization Specification
+---------------------------------------
+Implementation of UEFI initialization stages (before dirvers are loaded and applications can be executed). Interface of routines used to implement UEFI = description of Tiano UEFI Implementation. More lowlevel control than UEFI
+
+64-bit C-compiler
+
+EFI Shell
+-----------
+Enter commands to browse disk, run applications, configure system
+For 64-bit UEFI implementation, the path to file that is booted is \EFI\BOOT\BOOTx64.EFI
+UEFI bootloader searches all filesystems it can access for this file. If not found + booting continues with legacy BIOS. UEFI boot loader can reach MBR or GPT partition tables, can read only FAT32 partitions.
+-> copy binary of EFI shell to partition (it's in EDK:
+{EDK}\Other\Maintained\Application\UefiShell\bin\x64\Fhell_full.efi
+
+
+
diff --git a/documentation/pxe/pxe wiki b/documentation/pxe/pxe wiki
new file mode 100644
index 0000000..3d05dac
--- /dev/null
+++ b/documentation/pxe/pxe wiki
@@ -0,0 +1,16 @@
+Wikipedia
+
+Preboot Execution EnvironmentVon Intel entwickeltes Client-Server Modell um netzwerfähige Clients von einem Server ausgehend über ein lokales Rechnernetz zu booten. Server stellt nötigen Daten oder Bootimages zur Verfügung. Clients müssen über eine PXE-fähige Netzwerkkarte bzw PXE-Unterstützung im BIOS oder UEFI verfügen. PXE basiert auf bestehenden Netzwerkprotokollen DHCP (PXE-spezifische Erweiterungen von DHCP im RFC4578) und Trivial File Transfer Protocol (TFTP). Einsatz primär in LANs basierend auf Ethernet.
+
+ABLAUF
+========
+Serverseite: DHCP-Server und TFTP-Server
+Client: PXE-fähige Netzwerkkarte oder Unterstützung im BIOS.
+PXE Code befindet sich nur auf der Clientseite. Auf Serverseite werden von Serveradministration nur bestimmte DHCP-Konfigurationen vorgenommen und auf TFTP Server Daten bereitgestellt.
+
+- PXE Code führt am Client über DHCP eine Konfiguration der Netzwerkschnittstelle durch. Server stellt IP-Netzwerkadresse, Netzmaske ein und überträgt zusätzliche Daten zur Unterstützung xon PXE.
+- Client überträgt Daten wie Systemarchitektur, GUID
+- Server gibt eine initiale Bootloaderdatei und Netzwerkadresse von einem TFTP Server an.
+- Client bezieht initiales Network Bootstrap Programm vom TFTP Server und führt sie im Arbeitsspeicher aus. Bootloaderdatei muss zur Architektur passen und der Binärcode muss vom Prozessor ausgeführt werden können.
+
+Ein weiterer möglicher Bootloader stellt die Verwendung einer netzwerkfähigen Version von GRUB2 dar, welcher in Kombination mit Zusatzprogrammen wie dem englisch UEFI shim loader, ein Booten über PXE im Modus des Unified Extensible Firmware Interface (UEFI) erlaubt.[5] Mit entsprechenden signierten shim-Bootloader und GRUB2 ist damit im Rahmen von UEFI auch ein Secure Boot, beispielsweise von Linux über das Netzwerk, möglich.