Android-x86 qube installation guide

1. Get the Android-x86 iso file

On your web browser visit https://www.android-x86.org/ and click “Download” button on their homepage.

It will take you to Download | Android-x86 which will present you with two big green buttons “Download Now SourceForge” and “Download From FOSSHUB”.

Click on “Download Now SourceForge” button. It will take you to android-x86 - Browse Files at SourceForge.net page.

On that page you click on “Download Latest Version” green button. At the time of writing, the downloaded iso file is named android-x86_64-9.0-r2.iso. Download that file and move it to one of your qubes for storing.

2. Create the Android qube

On your QubesOS Application Menu (the Q icon on the lower left side of the screen) select “Qube Manager”. It will open a new window. Click on “Create a new qube”:

01_create_qube

Name: Android
Type: StandaloneVM (fully persistent)
Template: (none)
Networking: default (sys-firewall)
Tick the “Launch settings after creation” option.
Clikc OK.

Basic Settings window for the Android qube will be opened.

Increase “System storage max size”. I set it to 128 GB. Leave the “Private storage max size” at its default value. Click on the “Advanced” tab above:

Here, increase the initial memory to 4096 MB, and uncheck the “Include in memory balancing”. Make sure the “Mode” is set to “HVM (current)”. Then, click “Apply” and then “OK”.

This will close the Android qube settings window. Now, go back to the Qube Manager, locate the Android qube, and click on “Qube Settings”. At this step, Qube Manager may warn you about memory settings. Simply click OK, and then move to the Advanced tab again. Make sure your “Include in memory balancing” setting is unchecked and the initial memory is still at 4096 MB. Then, click on “Boot qube from CD-ROM”. On the opened window, pick “from file in qube”, pick the qube you are storing the android-x86 iso file that you downloaded on step 1. Then click on the ... to navigate to the iso file’s location, and select that. Click OK to boot android qube from that iso file.

3. Install the ISO

You will be presented with the following window:

Move your cursor to the “Advanced options…” and press Enter.

On the new menu, move your cursor down to “Auto installation”, and press Enter.

Next, you will be presented which drive to install android-x86 into. Pick your drive:

The installer will ask for confirmation about doing the auto install.

The rest of the installation is pretty straightforward. You will be presented with the following windows:



After that, installation will finish. You will be presented with the following screen:

Here, pick “Reboot”. The qube will shutdown. Back on the Qube Manager, locate the Android qube again, and click on “Start/Resume”. You will be presented with the following grub menu:


On this screen, press e. We will edit the grub to change the resolution of this HVM to 1280x720.

Press on e again to edit the selected command:

use the cursor buttons on the keyboard to move the cursor back and forth on the command line. Move the cursor to the “quiet” flag, and before that flag, add the following options: nomodeset vga=911. Press Enter.

You are back on the previous grub screen. Now press b in order to boot into Android.

This screen will show up for a few seconds up to a minute, and then you will see the Android splash screen


Do the initial setup by pressing on “START”

Pick the “VirtWifi”, and let your android qube connect to the internet.

After that, just follow along the installation steps. And you will be done:


A few points to keep in mind:

  1. you will have to do the nomodeset vga=911 modification to the grub at each start. If there is a way to get that mod persistent, I would like to know.

  2. the internal storage stuff is wonky. When you check from within the android settings, it shows that it uses 128 GB of storage and a total of 256 GB of storage is available. That’s nonsensical, and I don’t understand the cause of this mismatch. I would like to understand this as well.

Lastly, if this guide helped you, consider sending a tip:

xmr: 85BsYQLX9RZGWrhXjErQg9VNpwCq7tpi4eSjR2MAbywBNKVxEd1aUEyHpZ5pFjfNaHie5xdLF5XbdjSTDuPDRESZ42V7CMC
8 Likes

Thanks a lot for this amazing guide. The resolution setting can be made permanent by editing the file “menu.lst” that holds the grub configuration. I think it can be edited directly from within Android, although that might require root.

1 Like

You can mount the android qube storage in some disposable qube and edit its GRUB config there:

2 Likes

Wouldn’t something like:

[user@dom0 ~]$ qvm-prefs -s Android kernelopts “nomodeset vga=911

help? Not sure about android, it works for Linux qubes

Is there a list somewhere with all of the available resolution options?

awesome guide! Do you know how to get the camera working? I have done it on windows host with android x86 vm in virtualbox. But i get errors when trying to attach my camera via the devices icon in the panel

check out this link: How to Change the Screen Resolution + DPI on Android x86 – Help Ahoy!

Unfortunately not. Let me know in this thread if you get it working.

1 Like

Use the doc to save your changes:
https://www.qubes-os.org/doc/mount-lvm-image/

Briefly:

[user@dom0]$ dev=$(basename $(readlink /dev/qubes_dom0/vm-<Android_Qube_Name>-root))
[user@dom0]$ qubesdb-write /qubes-block-devices/$dev/desc "vm-<Android_Qube_Name>-root"

Start a terminal in a new disposable VM - dispXXXX

[user@dom0]$ qvm-block attach dispXXXX dom0:$dev

In dispXXXX:

user@dispXXXX:~$ sudo mount /dev/xvdi1 /mnt/
user@dispXXXX:~$ sudo vim /mnt/grub/menu.lst

edit

/mnt/grub/menu.lst
default=0
timeout=6
splashimage=/grub/android-x86.xpm.gz
root (hd0,0)

title Android-x86 9.0-r2
        kernel /android-9.0-r2/kernel nomodeset xforcevesa vga=837 root=/dev/ram0 SRC=/android-9.0-r2
        initrd /android-9.0-r2/initrd.img

title Android-x86 9.0-r2 (Debug mode)
        kernel /android-9.0-r2/kernel root=/dev/ram0 DEBUG=2 SRC=/android-9.0-r2
        initrd /android-9.0-r2/initrd.img

title Android-x86 9.0-r2 (Debug nomodeset)
        kernel /android-9.0-r2/kernel nomodeset root=/dev/ram0 DEBUG=2 SRC=/android-9.0-r2
        initrd /android-9.0-r2/initrd.img

title Android-x86 9.0-r2 (Debug video=LVDS-1:d)
        kernel /android-9.0-r2/kernel video=LVDS-1:d root=/dev/ram0 DEBUG=2 SRC=/android-9.0-r2
        initrd /android-9.0-r2/initrd.img

as root. For the resolution 1280x1024x32 enter:

nomodeset xforcevesa vga=837

Umount and kill dispXXXX:

user@dispXXXX:~$ sudo umount /mnt/

Remove the image from qubesdb:

[user@dom0]$ qubesdb-rm /qubes-block-devices/$dev/
2 Likes

For the reasons stated on other topics, the qube will not start probably due to xen.xml is patched with max-ram-below-4g=2G

I am presented with “No bootable device” after installation.

It works on my QubesOS 4.2.

I don’t understand this point. At what step of the guide do you get this?

After successful installing and “restarting” (shutting down and starting again) android qube. I can start installation with any given amount of RAM, but later cannot start with any after installation when asked to restart android.

Well, if you want someone to be able to help you, please provide more details that lead up to your error. Because I am using the guide, and I have a working Android qube on my system.

Thanks, but that’s all I get. No bootable device after installing with any giving amount of RAM. Please refer to my edit in previous message.

Can you post your qube settings screen? The “Advanced” tab?

I set RAM to 1848MB RAM at the moment (tried with 4096 too), “Run in debug Mode” (tried without it too), HVM, kernel provided by qube, no memory balancing. It’s quicker this way. No kernelopts.

Do you use 3,5GB patch instead 2GB patch? Do you use it at all? I could bet it’s that, nothing about android itself.

I don’t think I understand what this “patch” is.

for GPU passthrough. So, most probably you don’t use it. Then it’s good my remark to be here, so people with similar issue to be aware it might be the cause.

1 Like

I just updated to 4.2 but its not working for me. Right before step 3, im supposed to attach the ISO and it should boot. But its not even booting :confused:

what error are you getting, what do you see.