Everyone knows how S-L-O-W and painful the Android emulator can be when developing. The Intel x86 system images are better, but still a bit slow, so most of us test and debug on actual devices. Still, emulators come in handy. In the past, I came across the Android x86 project and thought it would be a good option, but found the project to not be ready for prime time. With their 4.4 release earlier this month, that has changed.
Oct 13, 2020 Obviously, Ubuntu and other OS welcome screens will have different welcome screens, but you will be able to successfully create a VM using Hyper-V Manager or Hyper-V Quick Create. Windows 10 is making creating virtual machines (VM) easier and faster than ever. I'm relatively new to Hyper-V and virtualization. What I would like to know, is the best way to create a Mac OS X VM running in Windows Hyper-V host. I'm currently using a Windows 10 based desktop running Hyper-V to create a test lab. I'd like to run a Mac OS X VM in Hyper-V in my test lab.
It still isn't straight forward to install, so I am going to document the steps and some of the problems I ran into.
First, download the ISO for the 4.4 or newer release Android x86 from the downloads page.
Next fire up Hyper-V Manager. I assume you have some experience creating virtual machines using Hyper-V, so I am just going to outline the setup. If you need more info, Google it or check out this quick-start.
First, we need to make sure that a Virtual Switch is setup to enable networking. If you haven't already done it for another virtual machine, click Virtual Switch Manager on the right and create a new External Virtual Switch. Name it something like Ethernet and make sure it is linked to your Ethernet card, not your WiFi.
Back in Hyper-V Manager, at the top right, click New, Virtual Machine and name it Android 4.4.
Specify Generation 1 on the next screen, then select the startup memory. You probably want to increase it to 1024 or 2048 MB. Also, select Use Dynamic Memory.
In Configure Networking, select the Ethernet switch we setup previously.
On the Connect Virtual Hard Disk page, you can use the defaults, but you will want to decrease the size of the disk to something like 16 GB.
On the Installation Options page, select Install an operating system from a bootable CD/DVD-ROM and select the ISO you downloaded from Android-x86.
You can now click Next, check out the summary and click Finish to create your new virtual machine.
In Hyper-V Manager, click on your new Android virtual machine and click Connect in the lower right.
This will open the virtual machine in a powered off state. Press the Start button in the toolbar to power up and boot the machine. It will boot to the Live and Installation CD screen. Use the keyboard to scroll down and select Installation - Install Android-x86 to harddisk.
Select Create/Modify partitions,
Use the keyboard to highlight New and press Enter.
Select Primary, then accept the size of the partition, then click on Bootable.
Now, highlight Write, press Enter and type in yes to create the partition. You can now Quit.
You can now choose sda1 Linux Virtual Disk.
Format as ext3. confirm your selection, then wait while the partition is created. It will sit at 0% for awhile, don't worry, it will go.
Next you will be asked if you want to install GRUB. Say yes.
Also say yes to making /system read-write.
It will now install Android on your virtual disk.
After a successful installation, you will be asked if you want to run Android or reboot. Don't do either, click on the Turn Off button to shutdown the machine, then go to Media | DVD Drive and Eject the Android X86 ISO. Now press Start to boot the machine.
You will see the GRUB boot screen, then it will start booting Android and go to the initial setup. Step through as you would any Android device with a few small points.
On the Just a sec progress screen, click the screen with the mouse a couple of times so that it doesn't time out and lock the device.
Skip Wi-Fi setup. Your Ethernet card will act like cell data.
If you have a Google account and want to use it, click Yes, otherwise No.
Once you are done the setup, immediately go to Settings | Display | Sleep and set it to never. When Android x86 locks the screen, you cannot get it to wake up in Hyper-V. If anyone figures out how to do it, please post the solution in the comments.
Now for the fun stuff.
First, we need to enable debugging on the device. Go to Settings | About tablet and click on the Build number 7 times to enable the Developer Options.
Go back to settings and open Developer Options and turn on USB debugging. I also find it useful to enable Show Touches in the Input section so that you can see the mouse clicks.
Next, go back to settings and into Security and enable Unknown Sources.
In Android, run the Terminal Emulator. The font is probably way too small to see, so go into Preferences and increase the font size.
Back in the emulator window, type netcfg and take note of the IP address of eth0.
Now, back on Windows open a command prompt (with a path to your Android tools) and type adb connect [ipaddress] with the IP address from the device. Now when you do an adb devices, you should see your emulator listed.
Launch Android Studio and load your project. In the configuration dropdown in the toolbar, select Edit Configurations. In the dialog, click on your app configuration and in the Target Device section, make sure it says Show chooser dialog. Close the configuration dialog.
You can now Run or Debug your app and a Choose Device dialog will come up with your emulator listed.
So far, I haven't been able to adjust the emulator resolution to portrait mode and you can't rotate the device. From what I can tell, Hyper-V limits the available resolutions to common desktop resolutions. There is also no sound in the emulator and I haven't been able to get it working with my WiFi card yet, but it is a great option for quick debugging and testing.
That's all there is to it. If you have any solutions, questions or problems, post them in the comments.
Table of Contents:
Check Point Gaia OS can be deployed (ISO image) over Hyper-V infrastructure in Windows Server:
Software | Supported Versions |
Security Gateway, ClusterXL | R77.30 |
Security Management Server, Multi-Domain Security Management Server | R77.10 |
Note: Refer to Check Point Hardware Compatibility List - go to tab 'Virtual Machines'.
Hyper-V provides software infrastructure and basic management tools to create and manage a virtualized server computing environment. Hyper-V in Windows Server 2012 R2 enables the creation of a virtualized server computing environment. You can use a virtualized computing environment to improve the efficiency of your computing resources by utilizing more of your hardware resources. This is possible because you use Hyper-V to create and manage virtual machines and their resources. Each virtual machine is a virtualized computer system that operates in an isolated execution environment. This allows you to run multiple operating systems simultaneously on one physical computer.
Version | Status |
Windows 2019 Server | Supported (***) |
Windows 2016 Server | Supported (**) |
Windows 2012 Server R2 | Supported (*) |
Windows 2012 Server | Not supported |
Windows 2008 Server R2 | Not supported |
Windows 2008 Server | Not supported |
(*) Refer to Check Point Hardware Compatibility List - go to tab 'Virtual Machines'.
(**) R80.30 Management is supported only with Windows 2016 server.
(***) R80.40 is supported on Windows 2019 server.
Driver Type | Driver Name | Description |
Hyper-V vmbus driver | hv_vmbus | Provides the infrastructure for other Hyper-V drivers to communicate with the hypervisor |
Utility driver | hv_utils | Provides Hyper-V integration services such as shutdown, time synchronization, heartbeat and Key-Value Pair Exchange |
Network driver | hv_netvsc | Provides network performance improvements |
Storage driver | hv_storvsc | Increases performance when accessing storage (IDE and SCSI) devices |
Mouse driver | hid_hyperv | Improves user experience by allowing mouse focus changes for a virtualized guest |
Clocksource driver | Provides a stable clock source running within the Hyper-V platform |
Hyper-V supports two types of network interfaces:
Interface Type | Notes |
Synthetic network interface |
|
Emulated networks interfaces |
|
Notes:
For more details, refer to Supported CentOS and Red Hat Enterprise Linux virtual machines on Hyper-V - 'RHEL/CentOS 5.x Series'.
Generation 2 virtual machines
Hyper-V clocksource does not work on 64-bit kernel
Refer to sk105862 - In a Hyper-V environment, the Virtual Machine's clock moves faster than the hardware time.File system freeze/thaw
Some operating systems support the notion of freezing and thawing the file system (refer to http://rwmj.wordpress.com/2010/06/09/freezing-filesystems/)vRSS (Virtual Receive Side Scaling)
Hyper-V can support the notion of multi-queue. This is done by a feature in Windows called RSS (Receive Side Scaling).SR-IOV (Single Root I/O Virtualization)
SR-IOV, designed to provide VMs more direct access to the physical host's hardware, is currently not certified for use on Hyper-V.lsvmbus command
Hyper-V Sockets
TRIM support
Dynamic Memory - Hot-Add
Runtime Memory Resize
PCI Passthrough/DDA
Boot using UEFI
Secure boot
Microsoft Converged Storage
This solution has been verified for the specific scenario, described by the combination of Product, Version and Symptoms. It may not work in other scenarios. |
Give us Feedback |