10 votos

¿Existe algún software de virtualización que funcione con Android en un dispositivo x86?

Tengo un dispositivo Android (Dell Venue 8) que se ejecuta en una CPU Intel x86, y me preguntaba si había alguna aplicación como VirtualBox o VMware que pudiera ejecutar una distros linux de 32 bits, Windows XP de 32 bits, etc, a través de la virtualización. Conozco varios softwares de emulación como Qemu y Bochs, pero quería algo que pudiera virtualizar directamente en lugar de emular, ya que tanto el dispositivo anfitrión como el SO invitado son de la misma arquitectura.

0 votos

Me encantaría algo así. He encontrado un par de puertos qemu para Android, pero son todos muy dudosos y no me fiaría de ellos (descargar apks de foros misteriosos)...

0 votos

2voto

user15234 Puntos 11

Me encontré tropezando en la vecindad general de estos foros con algunas preguntas similares y decidí compartir un poco de información en la posibilidad de que cualquier otro entusiasta de la informática curioso errante pase por allí.

Método nº 1: EMULACIÓN

Un chico consiguió hacer funcionar XP en Android usando las herramientas que mencionaste al principio. Puedes ver en sus comentarios cómo hubo una pérdida de rendimiento significativa. Uno de los problemas clave aquí es la incapacidad de traducir los drivers. También habrá un montón de cuellos de botella que se producen cuando se cuelan algunas cosas no soportadas.

Método #2: ROOTING Y FLASHING

Requería ganar Root, desbloquear el bootloader, flashear un custom recovery, entre otras muchas cosas. Me las arreglé para conseguir multiboot de los sistemas operativos compatibles con ARM Ubuntu Touch, Cyanogen, y stock. Probablemente podría lanzar Windows 10 en él si quisiera.

Método 3: VIRTUALIZACIÓN DEL NÚCLEO

linux-kvm.org/page/Main_Page

Asumiendo que tu hardware soporta la virtualización, KVM es una opción para las cosas del back-end si no necesitas una GUI.

Método nº 4: HIPERVISOR BAREMETAL

Hay un libro blanco sobre esto, pero no puedo publicar el enlace debido a mi nueva cuenta, así que aquí hay una copia de la conclusión:

La virtualización de una plataforma móvil moderna implica tratar con dispositivos como la cámara, la brújula, el gps, etc., para los que no existen hoy en día controladores de frontend y backend. Si sólo una VM necesita acceder a uno de estos dispositivos a la vez, puede simplemente asignar el dispositivo a la VM, reasignando las regiones MMIO y las interrupciones correspondientes. Si varias máquinas virtuales necesitan acceder al dispositivo simultáneamente, hay que escribir un nuevo par de controladores de frontend y backend de PV. Afortunadamente, ya existen muchas implementaciones de código abierto de frontends y backends PV para diferentes clases de dispositivos en Linux y otros sistemas operativos. Es probable que ya exista algo similar. La dificultad de escribir un nuevo par de frontends y backends PV aumenta con la complejidad del dispositivo que se intenta compartir. Si el dispositivo es simple, como la brújula, escribir el nuevo par de controladores va a ser muy fácil. Si el dispositivo es complejo, como un acelerador gráfico 3d, escribir el nuevo par de frontends y backends va a ser difícil.

Aquí hay otro documento sobre la dinámica KVM/ARM:

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

Parece que por ahora estamos atascados con lo que los desarrolladores de software están dispuestos a escribir para nosotros, o con lo que estamos dispuestos a escribir para nosotros mismos. Estos sistemas estaban destinados a ser en gran medida propietarios, por lo que es de esperar cierta frustración.

0 votos

Utilice puntos suspensivos (``) alrededor de los enlaces para evitar la nueva restricción. Los usuarios pueden corregir el formato más tarde. También puede publicar los enlaces en los comentarios.

1voto

frosty Puntos 155

Puedes probar LinuxonAndroid .

4 votos

Así que esto podría ser una respuesta a la pregunta. Pero, ¿podría explicar por qué es una respuesta? ¿Qué hace linux en Android para responder a esta pregunta?

0voto

Hamza Puntos 16

Rootear el teléfono da la oportunidad de arrancar varias distribuciones de Linux. En teoría deberías poder hacerlo con Despliegue de Linux o herramientas similares.

Sin embargo, incluso sin rootear, podrás ejecutar binarios de Linux e incluso simular una distribución de Linux. Existe una herramienta llamada Termux en Google Play Store. Pero no sé si ya está disponible para dispositivos X86. (Hay alternativas que tampoco requieren Rooting: GNURoot Debian y un montón de aplicaciones GNURoot por Corbin Champion, Debian No-Root etc.) Estos están disponibles para los dispositivos ARM y creo que están disponibles para X86 también.

Sin embargo, si no está disponible, puedes hacerlo con un tiempo decente para hackear y una buena aplicación de emulador de terminal. Ver Proot-me en github - Una implementación de chroot en el espacio de usuario que puede crear falsos rootfs donde puedes instalar binarios nativos, usando busybox que proporciona dpkg y rpm ..

Se sabe que los emuladores de terminal funcionan con binarios simples y pequeños como busybox. Sin embargo, PRoot es la forma en que las aplicaciones no Root mencionadas anteriormente implementan la gestión de paquetes de Linux. Por lo tanto, incluso si estas aplicaciones no están disponibles para su plataforma, no es muy difícil para un geek dentro de ti para configurar un entorno nativo de Linux con la gestión de paquetes en cualquier plataforma..

Nota: Para ejecutar los binarios desde un intérprete de comandos de terminal, será necesario añadir el $path variable.

0voto

DDomjosa Puntos 100

Aparte de todas las opciones mencionadas, también se puede intentar utilizar UserLand aplicación. La aplicación está disponible en Google play-store para una fácil descarga. Tiene una configuración fácil para Ubuntu. El usuario no necesita tener acceso Root para poder usar esta aplicación, lo que es una ventaja. Para más información, se puede ir a su página de producto: https://userland.tech/

-2voto

Robert Puntos 1

La virtualización ya es posible en Android, gracias a varias actualizaciones y parches del SDK. Actualmente, hay una aplicación que ofrece virtualización en Android en la ejecución de múltiples "mismas aplicaciones" en un solo teléfono llamada Parallel. Funciona sin manipular los archivos del sistema y sin acceso Root. Búscalo en Google. Este artículo también lo explica.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X