This question is very specifically about virtualising the operating system from a system.img file (designed to be flashed to a device) in software like VMWare or VirtualBox. It is not about running Android in a virtual machine in a generic sense.
Google doesn't give me anything for this topic, so before I type out what doesn't work I'm going to leave the thread open and see what advice we can assemble. I do have a specific ROM in mind, but this would be vastly more useful for the world as a whole if the solution was generic. Even if it's very complicated. I imagine it is complicated because there's no installer and no driver pack for VMWare or VirtualBox. I would prefer a solution that uses one of these, even if performance isn't wonderful.
Notes: We're talking about virtualisation, so the ROM is of course for an x86 device, but I do not have the device yet to flash this ROM to. So solutions can't involve flashing to the real device in order to get the filesystem.
Related
This isn't a guide, more an informative post and discussion for Android application and platform developers, AND regular users. Maybe a guide in the future will be a goal of mine.
Some of you may or may not know what VMware is, what it is for, or never used it. Trying to keep the OP brief; VMware is a virtualization solution(s) for desktops and servers. In layman's terms it allows an operating system to be run inside another operating system, instead of setting your desktop to dual boot (have an option at startup to load either windows or Mac as example). There are many applications and benefits to this kind of solution that I won't get into in the OP.
Currently there are solutions available and being built, but are not yet completely optimized, but you can do it. For a developer this means you can be developing Android applications or platforms on whatever OS you want by virtualizing the OS and software currently supported. It also means that you can replace the Android virtual emulator with an Android OS inside VMware for application development, but also means you can load your Android platform into VMware for testing while you develop. Why would you want to do this? Well we all know how painful slow the emulator is, and it is just made worse if your hardware is slow. Because the emulator emulates software running on an arm processor inside an x86 environment things are slow, which means your development is slowed. Using VMware however you are using binary translation to "port" your platform to x86 processing. Currently this solution is not completely optimized, or "official" but it will be. That means less development time, more support, and a more convenient option!
The other edge of the sword is also a VMware virtual machine environment inside Android's Dalvik virtual machine. For users, and developers in certain scenarios this opens even more possibilities. Imagine having the ability to use your personal Android, and that pesky dumbed down corporate phone running together, the corporate advice running inside your personal device, or vice versa. Also, the ability to run any other OS in your device. Windows, Linux and UNIX distributions, solaris, Mac, whatever you wish. This opens lots more doors for Android devices.
Now not everything is complete, but it will be. It sounds like VMware will end up and be the de facto standard for virtualization for Android, as the solution is in the works for google to put VMware into the Android core, in the kernel. Now that would be sweet, because if you have used VMware you probably agree with me that it is THE virtualization solution in any application or solution you need it in.
Maybe this isn't as exciting to others as it is for me. What do you guys think? Let the topic begin!
The following links are meant more to cite my sources, but each one of them is a more detailed read into the topic, and well worth reading to inform yourself and see what is in the works:
http://i.downloadsquad.switched.com/2011/02/15/android-dalvik-vmware-virtualization/
http://gigaom.com/2011/09/27/vmware-mobilize-201/
http://www.android-x86.org/
Run ICS in x86!
gborn said:
Currently a thread about running ICS x86 in Virtualbox is spreaded here:
http://forum.xda-developers.com/showthread.php?p=19815659#post19815659
And I managed at least to create a version of ice cream sandwich running in VMware workstation 7 (should run also in VMware player 3 and 4 and in Workstation 8 as well). The steps to convert the Virtualbox image to VMware are described here.
http://www.borncity.com/blog/2011/11/29/running-ice-cream-sandwich-in-vmware/
Click to expand...
Click to collapse
I use VMware and vSphere at work to manage a bunch of our servers. I'll have to check in with the guy at work who actually implements/sells this to customers to see what he thinks. It seems interesting for sure though.
DoctorComrade said:
I use VMware and vSphere at work to manage a bunch of our servers. I'll have to check in with the guy at work who actually implements/sells this to customers to see what he thinks. It seems interesting for sure though.
Click to expand...
Click to collapse
I don't know if it applies to what your doing, but it is pretty cool to be able to use VMware on your mobile device. If you are managing virtual servers there is already an official solution from VMware you can download from the Android market. It is called VMware view, for Android. Pretty cool.
There is a thread currently at top, with 30 people saying the solution wanted is impossible. You are wrong guys, not impossible at all. You can have windows and Android booting on the same device. Arm processor, x86, doesn't matter with this solution.
Sad Panda said:
There is a thread currently at top, with 30 people saying the solution wanted is impossible. You are wrong guys, not impossible at all. You can have windows and Android booting on the same device. Arm processor, x86, doesn't matter with this solution.
Click to expand...
Click to collapse
Nothing is impossible, but where are you going to get a bootloader, Windows binaries, and SoC drivers?
EGOvoruhk said:
Nothing is impossible, but where are you going to get a bootloader, Windows binaries, and SoC drivers?
Click to expand...
Click to collapse
Well in terms of doing dual boot natively, I agree, probably never going to happen...ever. However if you run it in a virtual machine, just like Android runs in the Dalvik virtual machine, it can be done.
The bootloader and drivers are already built and would be taken care of by VMware. You make or hint at a valid point, there would never be enough desire for anyone to do it natively. It isn't impossible, but just would never see anyone take the time to do it
Ice Cream Sandwich x86 in VMware
Currently a thread about running ICS x86 in Virtualbox is spreaded here:
http://forum.xda-developers.com/showthread.php?p=19815659#post19815659
And I managed at least to create a version of ice cream sandwich running in VMware workstation 7 (should run also in VMware player 3 and 4 and in Workstation 8 as well). The steps to convert the Virtualbox image to VMware are described here.
http://www.borncity.com/blog/2011/11/29/running-ice-cream-sandwich-in-vmware/
gborn said:
Currently a thread about running ICS x86 in Virtualbox is spreaded here:
http://forum.xda-developers.com/showthread.php?p=19815659#post19815659
And I managed at least to create a version of ice cream sandwich running in VMware workstation 7 (should run also in VMware player 3 and 4 and in Workstation 8 as well). The steps to convert the Virtualbox image to VMware are described here.
http://www.borncity.com/blog/2011/11/29/running-ice-cream-sandwich-in-vmware/
Click to expand...
Click to collapse
Bingo! Awesome contribution! Yeah this is one of the two examples I speak of, Android running on an x86 CPU (instead of arm like our phones and tablets) running as virtualization of hardware. Great reply to back me up, and even a guide to boot, AND ics!! If you must play with ICS before it gets to evo 3D
Added the ICS in VMware to OP.
I have tried this a few way and in no way can i get it to work on VMWARE gets stuck on found androidx86
Sad Panda said:
Added the ICS in VMware to OP.
Click to expand...
Click to collapse
works fine, just make sure you follow the steps to the t and convert the .vdi images to .vmdk to run smoothly in vmwareplayer (the link to instructions is kinda hidden away)
i used virtualbox to convert, then vmplayer to run the vmdk
thanks for the info... fun to play around with
digitaljeff said:
works fine, just make sure you follow the steps to the t and convert the .vdi images to .vmdk to run smoothly in vmwareplayer (the link to instructions is kinda hidden away)
i used virtualbox to convert, then vmplayer to run the vmdk
thanks for the info... fun to play around with
Click to expand...
Click to collapse
No problemo
heres some links to the vmdk images to work in vmplayer, dont thank me, thank the guy who wrote the guide on converting vdi to vmdk
ICS vmdk
http://www.megaupload.com/?d=FZWH3G20
SD card vmdk
http://www.megaupload.com/?d=15TLJZ87
Hi all,
I am wondering if it it would be possible with a kind of light virtualization tool, to run some very simple Windows applications (a .exe file with no installation required, no registry, no .dll, etc.) within Android.
Of course it would'nt be to use it on a smartphone but on a tablet.
Does it already exist ?
Use Bosch (I think that's what it's called) and install windows 95/xp.
Sent from my GT-I9100 using XDA
There are emulators like Bochs and DosBox that will emulate an x86 system. But its going to be pretty slow feeling. ARM and x86 use different instruction sets so everything has to basically be translated between the two which slows things down. If its a modern or big program you'll be better off running through a remote desktop program.
Thanks Guys,
In fact it is only simple .exe files which don't need powerful calculations.
But you mean that it will need to install a full Window OS ?
I'll have a look to these two softwares you mentionned.
Limerick_fr said:
Thanks Guys,
In fact it is only simple .exe files which don't need powerful calculations.
But you mean that it will need to install a full Window OS ?
I'll have a look to these two softwares you mentionned.
Click to expand...
Click to collapse
Yeah, but you might be able to use a slimmed down version of the OS though.
Sent from my GT-I9100 using XDA
Yes you would need to install a emulated OS which is probably limited to Windows 9x or older. I don't think there is anything out there that can emulate the newer non DOS based versions of Windows like 2000, XP, etc.
WINE works without installing an OS since its x86 on x86. Makes you wonder if it would be possible to build WINE for Android x86.
Well then, these solutions are too heavy for what I want to do.
I don't want to emulate a full OS.
Maybe later, if there are more and more needs like mine, some developpers (or Google itself) will create such a too to run some simple Windows apps on Android without installing Windows...
I'd like to start developing apps and was wondering whether it's easier to develop with Windows or Linux. (Mac is out of the question as I don't have access to one.) I'm not a Linux guru, but I'm not a noob either. What are the advantages and disadvantages of either OS over the other?
Actually, it doesn't matter. The result wil be the same, and the steps to install the necessary tools are pretty similar between SO.
Simply install the tools on your primary SO, for convenience
as many of you know, android and Linux kernels started re-merging at version 3.3. People said that a short way down the road, android apps would be able to run natively in linux. the kernel is now version 3.6 and I've heard nothing more about running android apps in linux. people on these and other forums put a lot of great work into getting linux running on android devices. now with windows 8 coming out, the market will be full of both ARM and x86 based touch devices of all sizes and shapes. I for one would love to be able to boot up ubuntu on one of these devices, and use either traditional linux apps or android touch apps as my mood and situation dictate. so- any new word on when we will be able to run android apps in linux?
we are exploring this possibility, and did some work, but nothing to release yet.
I assume you already know that for now, you can run Android as a virtual machine on Linux host.
cool to hear the work is progressing, good luck!
I heard about using a VM but was never able to find where to get it.
nothing substantial yet, we wanted to run android apps directly on desktops, Linux or Windows. Using a virtual machine is really an over kill.
You can download a prebuilt vm from ours:
http://www.vmlite.com/index.php?option=com_kunena&Itemid=158&func=view&catid=9&id=8838
it has been downloaded millions of times. You can search "Android vm" on google to find instructions.
interesed
I am also hoping to see a solution to this question also. I understand that Debian, fedora and Arch Linux all have different packaging systems i always thought is was a smiler difference with android with more Java worked into the core of things. So i would think that adding the proper Java support to any Linux distro to support the apk package it should work but i am not a programmer.
This might be a weird one, but has anyone has come up with the notion of chrooting android x86 inside a pc linux distro. The reverse is quite common ( linux deploy, lil debi etc bundling a debian environment inside a linux device ). I was googling my day to something describing this as something common yet, nothing ( it can be done almost casually on android devices an likewise on major linux distros ).
Has it crossed anyone else's mind ? Whould anybody be interested in postinge something I might have missed or stopping me from trying ( providing sound reasons for not doing so or shouting "this is madness" for maximum drama effect ) .
Whould anyone find it interresting if..... should..... maybe.... provided that i succeeded I post the proccess ?
Hi, yes I thought about this too and spend way too much time looking for a solution like that Plase post if you find anything or even manage to do something on your own. This would totally rock, as I don't want to use any proprietary OS but would like to play some Android games on my computer.
I found a thread where someone managed to do this, but running on the Android kernel. It's still different from running GNU+Linux chrooted, because on the Android kernel runs GNU+Linux and then Android chrooted (kinda complicated ). I asked whether it's possible to have the GNU+Linux kernel running isntead of Android's, you can check it out here: http://forum.xda-developers.com/showthread.php?t=1780378
Also, maybe we can just copy from Chromium/ Chrome OS when they are done implementing support for natively running Android Apps on the OS (which they announcend on Google IO 2014). Hmm, probably not so great (fast) since it will run inside the browser...
A google search got me here. What you guys what to do is a lil different then what i want. I have a really neat device an ASUS TRIO an intel atom powered device.
It has android 4.3 and a windows 10 in the keyboard. The problem is the android 4.3 is so dang old. Id love if it had an update available but only the french tablet asus made that copied the trio tablet only (not dock) got an update to android 4.4. So it got me thinking could I run chrome os on this tablet and gain back more of the support ive lost since the android is so old. That led me to chroot and I know I can run debian but like I said Id love to run chrome os but no one is working on this or I cant find it. Suggestions?
I do not get why this should be a problem. You simply can not chroot into different architectiute (PC is x86 or x86_64). But you can use emulator to provide "bridge" between those architectures. Its called Qemu. You can use qemu binaries for chroot into another architecture. But I do not think that what you want, you area talking about gaming a android games on PC. Thats possible too but I think its not called chroot but its again emulator (not qemu but android emulator) for example AnBox.