Gibt es eine Virtualisierungssoftware, die unter Android auf einem x86-Gerät ausgeführt wird?


8

Ich habe ein Android-Gerät (Dell Venue 8), das auf einer Intel x86-CPU ausgeführt wird, und ich habe mich gefragt, ob es eine Anwendung wie VirtualBox oder VMware gibt, über die 32-Bit-Linux-Distributionen, Windows XP 32-Bit usw. ausgeführt werden können Virtualisierung. Mir sind verschiedene Emulationssoftware wie Qemu und Bochs bekannt, aber ich wollte etwas, das direkt virtualisiert werden kann, anstatt zu emulieren, da sowohl das Hostgerät als auch das Gastbetriebssystem dieselbe Architektur haben.


Ich würde so etwas lieben. Ich habe ein paar Qemu-Ports für Android gefunden, aber sie sind alle sehr zwielichtig und ich würde ihnen nicht vertrauen (Download-Apks aus mysteriösen Foren) ...
David Given

Antworten:


2

Ich stolperte in der allgemeinen Umgebung dieser Foren mit einigen ähnlichen Fragen und beschloss, einige Informationen über die Möglichkeit zu teilen, dass ein anderer wandernder neugieriger Computer-Enthusiast zufällig vorbeigeht.

Methode 1: EMULATION

Ein Kind hat es geschafft, XP mit den Tools, die Sie am Anfang erwähnt haben, auf Android zum Laufen zu bringen. Sie können in seinen Kommentaren sehen, wie es zu einem signifikanten Leistungsverlust kam. Eines der Hauptprobleme hierbei ist die Unfähigkeit, Treiber zu übersetzen. Es wird auch eine Menge Flaschenhals geben, der auftritt, wenn Sie sich in nicht unterstützte Sachen schleichen.

Methode 2: WURZELN UND BLINKEN

Es war unter anderem erforderlich, root zu werden, den Bootloader zu entsperren und eine benutzerdefinierte Wiederherstellung zu flashen. Ich habe es geschafft, Multiboot von Ubuntu Touch, Cyanogen und Stock von ARM-unterstützten Betriebssystemen zu erhalten. Ich könnte wahrscheinlich Windows 10 darauf werfen, wenn ich wollte.

Methode 3: KERNEL-VIRTUALISIERUNG

linux-kvm.org/page/Main_Page

Angenommen, Ihre Hardware unterstützt Virtualisierung, ist KVM eine Option für Back-End-Inhalte, wenn Sie keine grafische Benutzeroberfläche benötigen.

Methode 4: BAREMETAL HYPERVISOR

Es gibt ein Whitepaper darüber, aber ich kann den Link wegen meines neuen Kontos nicht posten. Hier ist eine Kopie der Schlussfolgerung:

Die Virtualisierung einer modernen mobilen Plattform umfasst den Umgang mit Geräten wie Kamera, Kompass, GPS usw., für die es heute keine PV-Frontend- und Backend-Treiber gibt. Wenn jeweils nur eine VM Zugriff auf eines dieser Geräte benötigt, können Sie das Gerät einfach der VM zuweisen und die entsprechenden MMIO-Regionen und Interrupts neu zuordnen. Wenn mehrere VMs gleichzeitig auf das Gerät zugreifen müssen, müssen Sie ein neues Paar PV-Frontend- und Backend-Treiber schreiben. Glücklicherweise gibt es unter Linux und anderen Betriebssystemen bereits viele Open-Source-Implementierungen von PV-Frontends und Backends für verschiedene Geräteklassen. Ähnliches dürfte es bereits geben. Die Schwierigkeit, ein neues Paar PV-Frontends und Backends zu schreiben, steigt mit der Komplexität des Geräts, das Sie freigeben möchten. Wenn das Gerät einfach ist, wie z. B. der Kompass, Das Schreiben des neuen Treiberpaares wird sehr einfach. Wenn das Gerät komplex ist, z. B. ein 3D-Grafikbeschleuniger, ist das Schreiben des neuen Paares von Frontends und Backends schwierig.

Hier ist ein weiteres Papier zur KVM / ARM-Dynamik:

systems.cs.columbia.edu/archive/pub/2014/03/kvm-arm-the-design-and-implementation-of-the-linux-arm-hypervisor/

Es scheint, als ob wir vorerst nicht wissen, was die Softwareentwickler bereit sind, für uns zu schreiben, oder was wir bereit sind, für uns selbst zu schreiben. Diese Systeme sollten größtenteils proprietär sein, einige Frustrationen sind zu erwarten, nehme ich an.


Verwenden Sie Backticks (``) um die Links, um die neue Einschränkung zu umgehen. Benutzer hier können später die Formatierung korrigieren. Alternativ können Sie die Links in den Kommentaren veröffentlichen.
Feuerlord

1

Sie könnten LinuxonAndroid ausprobieren .


4
Dies könnte also tatsächlich eine Antwort auf die Frage sein. Aber können Sie erklären, warum dies eine Antwort ist? Was macht Linux auf Android, das diese Frage beantworten würde.
Ryan Conrad

0

Durch das Starten des Telefons können mehrere Linux-Distributionen gestartet werden. Theoretisch sollten Sie dies mit Linux Deploy oder ähnlichen Tools tun können .

Selbst ohne Rooting können Sie jedoch Linux-Binärdateien ausführen und sogar eine Linux-Distribution simulieren. Es gibt ein Tool namens Termux im Google Play Store. Ich weiß aber noch nicht, ob es für X86-Geräte verfügbar ist. (Es gibt Alternativen, für die ebenfalls kein Rooting erforderlich ist: GNURoot Debian und eine Reihe von GNURoot-Apps von Corbin Champion, Debian No-Root usw.) Diese sind für ARM-Geräte verfügbar und ich denke, sie sind auch für X86 verfügbar.

Wenn dies jedoch nicht verfügbar ist, können Sie dies mit einer angemessenen Zeit zum Hacken und einer guten Terminalemulator-App tun. Siehe Proot-me auf github - Eine Implementierung von chroot im User Space, mit der gefälschte Rootfs erstellt werden können, in denen Sie native Binärdateien mithilfe von Busybox installieren können, die dpkg & rpm bereitstellt .

Terminalemulatoren arbeiten bekanntermaßen mit einfachen, kleinen Binärdateien wie Busybox. Mit PRoot implementieren die oben genannten Nicht-Root-Apps jedoch die Linux-Paketverwaltung. Selbst wenn diese Apps für Ihre Plattform nicht verfügbar sind, ist es für einen Geek in Ihnen nicht sehr schwierig, eine native Linux-Umgebung mit Paketverwaltung auf einer beliebigen Plattform einzurichten.

Hinweis: Um Binärdateien über eine Terminal-Shell auszuführen, muss die $pathVariable angehängt werden.


Wie hängen Linux Deploy oder GNURoot oder Termux mit der Vollvirtualisierungsumgebung zusammen, in der Sie Linux oder Windows ausführen können? chrootoder prootist eine sehr einfache Virtualisierung auf Betriebssystemebene, die kein vollständiges Betriebssystem hosten kann. Termux bietet überhaupt keine Virtualisierung, sondern führt Binärdateien aus, die für die Android-Umgebung erstellt wurden.
Irfan Latif

0

Neben allen genannten Optionen kann auch die UserLand- App verwendet werden. Die App steht im Google Play Store zum einfachen Download zur Verfügung. Es hat eine einfache Einrichtung für Ubuntu. Benutzer müssen keinen Root-Zugriff haben, um diese App verwenden zu können. Dies ist hier ein Vorteil. Weitere Informationen finden Sie auf der Produktseite: https://userland.tech/


1
OP möchte eine vollständige Virtualisierungslösung, die Linux und Windows hosten kann. Sie schlagen eine PRoot- chrootbasierte Lösung (ohne Rootberechtigung ; Virtualisierung auf Betriebssystemebene) vor. Sie sind verschiedene Dinge.
Irfan Latif

-1

Dank mehrerer Upgrades und Patches für das SDK ist jetzt Virtualisierung unter Android möglich. Derzeit gibt es eine App, die Virtualisierung unter Android bietet, indem mehrere "gleiche Apps" auf einem einzigen Telefon namens Parallel ausgeführt werden. Es funktioniert ohne Manipulation der Systemdateien und ohne Root-Zugriff. Google es. Dieser Artikel erklärt es auch.


1
Das Klonen von Apps hat nichts mit Virtualisierung auf Betriebssystemebene oder vollständiger Virtualisierung oder Hardwareemulation zu tun.
Irfan Latif
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.