This folder contains a basic utility that configures and uploads Cuttlefish images to remote GCE instance.
All configuration and basic deployment is covered by scripts in the host/deploy
folder. To configure remote instance for cuttlefish, execute:
python main.py config -i 123.45.67.89
The script will automatically update libvirt configuration files and user group membership, as well as create necessary folder for Cuttlefish images.
To deploy cuttlefish images from build server, execute:
python main.py deploy -i 123.45.67.89
By default, the script will pull the latest build of cf_x86_phone-userdebug
target from oc-gce-dev
branch, and latest kernel from cuttlefish kernel target and branch. Both system and kernel locations can be tuned by supplying relevant arguments via command line.
Summary of the changes applied by config stage:
libvirt
group,cuttlefish
image repository under /srv/cf
(or a different location specified using flags)abr0
that will be used to enable networking on Cuttlefish instances.libvirt-qemu
user access to /srv/cf
(or a different, user-specified location, that will later be hosting cuttlefish system images)/etc/libvirt/qemu.conf
:dynamic_ownership
to 0
to prevent libvirt from manipulating file permissions,security_driver
to none
to allow QEmu instances to connect to our ivshmem socket.libvirt
to apply changes.Deployment script requires access to Android Build repository and will not work unless access is possible.
The script pulls
system.img
and ramdisk.img
) from specified branch/target/build combinationand uploads these files to a specified instance to cuttlefish image folder.