Giter VIP home page Giter VIP logo

android-x86-64-vagrant's Introduction

android-x86-vagrant

This repo contains scripts to create an android-x86_64 Virtualbox base box to use with Vagrant.

I just want an Android VM

./boot.sh

Go get some coffee, this takes a while the first run (approx 20 min).

Note: keep an eye on the VirtualBox GUI. The key-stroke sending process can be flaky, sometimes keys get stuck. If that happens abort the process and try again because otherwise packer will just be trashing around some random menu screen for 15 minutes.

Creating the base box

Because there is no sshd in a standard Android installation, creating a Vagrant box from the android_x86 iso is not as simple as booting the image and exporting a boxfile.

This repository contains a packer script that sets up an Android environment by sending keystrokes to the VM to perform the following steps:

  • Installs Android on disk in the VM
  • Remaps MENU to the f1 key
  • Boots the Linux in debug mode
  • Remove the SetupWizard .apk files
  • Boot Android
  • Allow untrusted code to run
  • Allow the browser to write files
  • Download the linux deploy apk from github
  • Install the apk
  • Initialize the environment by starting the App once
  • Write the settings to disk
  • Authorize linux deploy as root
  • Configure and install Archlinux in a chroot
  • Autostart linux deploy using the /etc/init.sh script
  • Start the services (and the sshd daemon)

Build the box:

(cd packer && packer build -force template.json)

Because there is no feedback during the sending of keystrokes there could be timing issues which cause the script to fail. If that happens you can try to increase the waits between the keys. Also keep in mind that because keystrokes are sent to the VM without any feedback you shouldn't touch the GUI while the packer script is running.

Starting the Vagrant

Once you've built the box you can start the Vagrant environment

vagrant up

android-x86-64-vagrant's People

Contributors

vdloo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.