Jailhouse (Hypervisor)
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
- https://github.com/siemens/jailhouse Jailhouse bei GitHub
- Linutronix - Jailhouse Realtime Hypervisor
Quellen
- ↑ Die Neuerungen von Linux 4.16 | c't Magazin (abgerufen am 21. Februar 2018)
- ↑ Jailhouse: Noch'n Hypervisor für Linux | heise online, 19. November 2013
- ↑ Jailhouse: Weiterer Hypervisor für Linux - Pro-Linux, 20. November 2013
- ↑ LKML: Jan Kiszka: [ANNOUNCE] Jailhouse: A Linux-based Partitioning Hypervisor, 19. November 2013
- ↑ Hypervisor Jailhouse in Version 0.1 erschienen - Pro-Linux, 4. September 2014
- ↑ Hypervisor Jailhouse in Version 0.5 erschienen - Pro-Linux, 12. Mai 2015
- ↑ LKML: Jan Kiszka: [ANNOUNCE] Jailhouse 0.8 released
- ↑ Linux-Kernel 4.16 freigegeben - Pro-Linux, 2. April 2018
- ↑ Jailhouse 0.1 released [LWN.net]
- ↑ Jailhouse 0.5 released [LWN.net]
- ↑ Jailhouse 0.6 released [LWN.net]
- ↑ Jailhouse 0.7 released [LWN.net]
- ↑ Jailhouse 0.8 released [LWN.net]
- ↑ Jailhouse 0.9 released [LWN.net]
- ↑ Jailhouse 0.10 released [LWN.net]
- ↑ Jailhouse 0.11 released [LWN.net]
- ↑ Jailhouse 0.12 released [LWN.net]