Jailhouse (Hypervisor)

Aus InkluPedia
Version vom 6. August 2024, 07:56 Uhr von InkluPedia.de - Frank Küster (Diskussion | Beiträge) (+)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Jailhouse ist ein Hypervisor für Linux von Siemens. Jailhouse unterstützt ARMv7-, ARMv8- und x86-64-Prozessoren. Der Hypervisor ist auf Virtualisierungsfunktionen im Hauptprozessor angewiesen und arbeitet autark, bootet aber mit Hilfe von Linux. Der Hypervisor hievt bei seiner Initialisierung das Linux in die "root cell" hievt. Dadurch verliert das Linux dann die Kontrolle über Hardware-Ressourcen, welche den VMs zugeteilt werden.[1]

Funktion & Lizenz

Jailhouse partitioniert Multicore-Systeme so, dass das Linux-System und Echtzeit-Anwendungen in isolierten Zellen laufen. Jailhouse übernimmt dazu die volle Kontrolle über die Hardware und wird aus dem laufenden Linux-System heraus gestartet, die Hardwarekonfiguration übernimmt der Kernel.[2] Der Code steht unter den Bedingungen der GNU General Public License Version 2 (GNU GPLv2).[3]

Geschichte

Der Hypervisor Jailhouse wurde am 19. November 2013 von Jan Kiszka auf der Linux Kernel Mailing List der breiteren Öffentlichkeit bekanntgegeben.[4] Die Ende August 2014 veröffentlichte Version 0.1 unterstützt ausschließlich x86-Systeme mit 64 Bit und Hardware-Virtualisierung.[5] Mit der im Mai 2015 veröffentlichten Version 0.5 läuft Jailhouse auch auf ARMv7-Systemen. Unterstützte ARM-Boards sind Banana Pi, NVIDIA Jetson TK1 und Versatile Express.[6] Am 28. Dezember 2017 wurde Jailhouse 0.8 veröffentlicht. Damit werden nun auch Marvell ESPRESSOBin, emtrion emCON-RZ/G1E und emCON-RZ/G1M sowie die QEMU ARM64 Virtual Machine unterstützt.[7] Mit dem Linux Kernel 4.16 vom 1. April 2018 erfolgte die anfängliche Unterstützung von Jailhouse im Linux-Kernel bei x86-64. Damit kann Linux in einer Nicht-Root-Zelle unter Jailhouse laufen.[8]

Versionen

Version Datum Neue/entfernte Zielplattformen
0.1 29. August 2014[9]
0.5 11. Mai 2015[10] AMD64 Unterstützung; ARMv7 Unterstützung, damit auch von Banana Pi, NVIDIA Jetson TK1 und Versatile Express
0.6 9. Januar 2017[11] ARMv8 Unterstützung, damit auch von AMD Seattle / SoftIron Overdrive 3000, LeMaker HiKey, NVIDIA Jetson TX1, Xilinx ZCU102 (ZynqMP Evaluation Board)
0.7 2. Mai 2017[12]
0.8 28. Dezember 2017[13] Unterstützung für Marvell ESPRESSOBin, emtrion emCON-RZ/G1E, emCON-RZ/G1M und QEMU ARM64 Virtual Machine
0.9 4. Juni 2018[14] Unterstützung für emtrion emCON-RZ/G1H, NXP MCIMX8M-EVK, NVIDIA Jetson TX2
0.10 24. September 2018[15] Unterstützung für VExpress (Virtual ARMv7) wurde entfernt
0.11 8. Juli 2019[16] Unterstützung für Marvell MACCHIATObin, Xilinx Ultra96, Microsys miriac SBC-LS1046A, Texas Instruments AM654 IDK
0.12 4. Februar 2020[17] Unterstützung für Texas Instruments J721E-EVM, Raspberry Pi 4 Model B

Weblinks

Quellen