Automated Android OS deployment with the openQRM IaaS Cloud (page 2)

<- back to page 1

 

 

When the Android installation is finished please select "reboot".

Please remember that the VM configuration is still set to boot from the installation iso!

Therefore it is now recommended to stop the automated boot of the Android installation iso since this will boot into a live-system from the iso but not from the disk.

We are going to update the VM configuration to boot from local disk in the next step.

In the server list please stop the server.

Confirm stopping the server.

Now please go to

Plugins -> Virtualization -> KVM -> VMs

select the KVM Host and click on "edit"

In the VM overview please click on "update" of the server's VM.

Now set the boot sequence to boot from "local" and click on submit. After that please go back to the server list and start the server. When the server is started click again on the "NoVNC" action button of the server.

Here the first boot screen of the Android OS running in the KVM VM.

In the Wifi selection please click on "skip".

In the "Got Google" dialog please click on "No" and "remind me later".

In the next "Google location" dialog use the right arrow to go on.

Set date and time.

And create a user.

The Android OS will now further boot up.

Here the Android startup screen. Go to the application by the middle button in the Android UI.

Click on the "terminal emulator" app icon to start a terminal session.

In the terminal you can use "su" to get root access.

Please follow the next steps to configure SSH access and install the "openQRM client for Android" in the image.

Enable sshd

To get access the the Android OS filesystem use "kpartx" to mount the first partition of the logical volume. This should be only done when the image is not in use by an active VM, so the first thing is to stop the server.

Please go to the server list and stop the "android44" server.

Then please run on your KVM host in a root terminal:

kpartx -av /dev/lvols/android44
mount /dev/mapper/lvols-android44p1 /mnt/
ssh-keygen -b 2048 -C android44 -t rsa -f ssh_host_rsa_key 

(when it asks for a passphrase just press return)

ssh-keygen -b 1024 -C android44 -t dsa -f ssh_host_dsa_key

(when it asks for a passphrase just press return)

Now copy all generated file to /mnt/android-4.4-RC2/data/ssh/

cp ssh_host* /mnt/android-4.4-RC2/data/ssh/

Also download the "sshd_config" file for the Android OS from the Android plugin's usage page and copy it to /mnt/android-4.4-RC2/data/ssh/

cp sshd_config /mnt/android-4.4-RC2/data/ssh/

Finally add your personal public key to /mnt/android-4.4-RC2/data/.authorized_keys

cat /root/.ssh/id_rsa.pub > /mnt/android-4.4-RC2/data/.authorized_keys

The sshd service on the Android OS will be automatically started by the openQRM Client for Android which is explained as the next step.

Install the openQRM Client for Android OS

Download the openQRM Client for Android OS from the Android plugin's usage page.

Copy it to /mnt/android-4.4-RC2/data/openqrm-client-android.sh

cp openqrm-client-android.sh /mnt/android-4.4-RC2/data/

To automatically start the openQRM Client for Android follow the steps below:

1) Create a directory /mnt/android-4.4-RC2/system/vendor/etc

mkdir -p /mnt/android-4.4-RC2/system/vendor/etc

2) Create a file "init.sh" in this directory with the following command:

echo "sh -x /data/openqrm-client-android.sh" > /mnt/android-4.4-RC2/system/vendor/etc/init.sh


Now please umount the Android filesystem and release kpartx with the following commands:

umount /mnt
kpartx -dv /dev/lvols/android44 

Now please start the server again.

After the above configuration we can now passwordless login to the Android system by ssh.

The Android "master image" for Cloud deployment is now configured and ready to use. Please go the the server list again and stop the server.

Then go to

Plugins -> Cloud -> Configuration -> Private Images

And set the Android "master image" to be used by "Everybody".

Go to the openQRM Cloud login page

Plugins -> Cloud -> Portal

and login to the Cloud.

Please notice that enabling the Cloud automatically creates an "admin" project with the "openqrm" user and the same password as set for the openQRM adminstration UI.

In the Cloud user dashboard please click on "new instance".

In the "instance create" form please select the "android44" image and adjust cpu, disk, memory and network according to your needs.

The instance is now going to start. While starting it goes through the following phases:

  • approve
  • create
  • start
  • active

Here the permission and limits overview while the instance is still starting.

Here the permissions and limits overview when the instance is fully up and running.

In the Instance overview in the Cloud portal please click on "NoVNC" to gain console access to the Android OS.

Here again the Android UI after fully started up in the openQRM Cloud, requested and cloned from the "master image" on demand.

Please open up the "terminal emulator" app again.

In the terminal run

su

to get root access

Here the network configuration of the Android OS started in the openQRM Cloud. Please notice the correctly configured external IP address to be accessible by the Cloud users "remotely".

Congratulations!!

You have successfully made it through this openQRM-Android Cloud Howto.

We hope you enjoy openQRM's "magic potion".

Please notice again!

The Android OS support in openQRM is only available in the openQRM Enterprise Edition >= 5.1.4!

If you are interested in this feature please contact us for a free openQRM Enterprise evaluation edition!

Links