1*bb4ee6a4SAndroid Build Coastguard Worker## template: jinja 2*bb4ee6a4SAndroid Build Coastguard Worker#cloud-config 3*bb4ee6a4SAndroid Build Coastguard Worker# 4*bb4ee6a4SAndroid Build Coastguard Worker# This file is responsible for setting up the test VM when it is first booted. 5*bb4ee6a4SAndroid Build Coastguard Worker# See https://cloudinit.readthedocs.io/ for details. 6*bb4ee6a4SAndroid Build Coastguard Worker 7*bb4ee6a4SAndroid Build Coastguard Workerusers: 8*bb4ee6a4SAndroid Build Coastguard Worker - name: crosvm 9*bb4ee6a4SAndroid Build Coastguard Worker sudo: ALL=(ALL) NOPASSWD:ALL 10*bb4ee6a4SAndroid Build Coastguard Worker lock_passwd: False 11*bb4ee6a4SAndroid Build Coastguard Worker shell: /bin/bash 12*bb4ee6a4SAndroid Build Coastguard Worker # Hashed password is 'crosvm' 13*bb4ee6a4SAndroid Build Coastguard Worker passwd: $6$rounds=4096$os6Q9Ok4Y9a8hKvG$EwQ1bbS0qd4IJyRP.bnRbyjPbSS8BwxEJh18PfhsyD0w7a4GhTwakrmYZ6KuBoyP.cSjYYSW9wYwko4oCPoJr. 14*bb4ee6a4SAndroid Build Coastguard Worker # Pubkey for `id_rsa` 15*bb4ee6a4SAndroid Build Coastguard Worker ssh_authorized_keys: 16*bb4ee6a4SAndroid Build Coastguard Worker - ssh-rsa 17*bb4ee6a4SAndroid Build Coastguard Worker AAAAB3NzaC1yc2EAAAADAQABAAABgQCYan8oXtUm6WTIClGMsfEf3hmJe+T8p08t9O8StuuDHyAtl1lC+8hOcuXTNvbc52/HNdZ5EO4ZpP3n+N6XftfXFWQanI8OrIHVpsMATMnofHE9RBHWcR/gH0V3xKnXcTvo3S0T3ennfCYxjtL7l7EvHDMdacX8NFOaARH92qJd/YdFp73mqykmc81OCZ4ToQ5s+20T7xvRzedksfSj/wIx3z8BJK9iovkQhNGFd1o557Vq1g3Bxk1PbcIUAvFPl0SwwlFfHBi2M9kZgCVa8UfokBzu77zvxWFud+MXVrfralwKV88k9Cy9FL5QGbtCiZ7RDP5pf69xapKBK+z2L+zuVlSkvaB1CcXuqqVDjD84LXEA+io0peXQcsqbAfbLo0666P7JsweCyQ07qc4AM8gv52SzFuQTIuHLciYxbPgkZTieKgmQLJ1EgfJelOG/+60XC24LbzPIAQxcO83erC/SQ3mTUizu6BueJt7LD1V6vXHcjLfE19FecIJ8U0XDaDU= 18*bb4ee6a4SAndroid Build Coastguard Worker crosvm@localhost 19*bb4ee6a4SAndroid Build Coastguard Worker groups: kvm, disk, tty 20*bb4ee6a4SAndroid Build Coastguard Worker 21*bb4ee6a4SAndroid Build Coastguard Workerpreserve_hostname: true 22*bb4ee6a4SAndroid Build Coastguard Worker 23*bb4ee6a4SAndroid Build Coastguard Worker# Runtime dependencies of crosvm binaries. 24*bb4ee6a4SAndroid Build Coastguard Worker# Note: Keep in sync with ./install-[aarch64-]deps.sh 25*bb4ee6a4SAndroid Build Coastguard Workerpackages: 26*bb4ee6a4SAndroid Build Coastguard Worker - e2fsprogs 27*bb4ee6a4SAndroid Build Coastguard Worker - gcc 28*bb4ee6a4SAndroid Build Coastguard Worker - libavcodec60 29*bb4ee6a4SAndroid Build Coastguard Worker - libavutil58 30*bb4ee6a4SAndroid Build Coastguard Worker - libcap2 31*bb4ee6a4SAndroid Build Coastguard Worker - libdbus-1-3 32*bb4ee6a4SAndroid Build Coastguard Worker - libdrm2 33*bb4ee6a4SAndroid Build Coastguard Worker - libepoxy0 34*bb4ee6a4SAndroid Build Coastguard Worker - libssl3 35*bb4ee6a4SAndroid Build Coastguard Worker - libswscale7 36*bb4ee6a4SAndroid Build Coastguard Worker - libva2 37*bb4ee6a4SAndroid Build Coastguard Worker - libwayland-client0 38*bb4ee6a4SAndroid Build Coastguard Worker - libx11-6 39*bb4ee6a4SAndroid Build Coastguard Worker - libxext6 40*bb4ee6a4SAndroid Build Coastguard Worker - nasm 41*bb4ee6a4SAndroid Build Coastguard Worker - ncat 42*bb4ee6a4SAndroid Build Coastguard Worker - rsync 43*bb4ee6a4SAndroid Build Coastguard Worker 44*bb4ee6a4SAndroid Build Coastguard Worker# Commands to run once during setup 45*bb4ee6a4SAndroid Build Coastguard Workerruncmd: 46*bb4ee6a4SAndroid Build Coastguard Worker # Append arch to hostname to make the VM easier to identify. 47*bb4ee6a4SAndroid Build Coastguard Worker - echo "testvm-$(arch)" > /etc/hostname 48*bb4ee6a4SAndroid Build Coastguard Worker - echo 127.0.0.1 testvm-$(arch) >> /etc/hosts 49*bb4ee6a4SAndroid Build Coastguard Worker 50*bb4ee6a4SAndroid Build Coastguard Worker - mkdir /var/empty 51*bb4ee6a4SAndroid Build Coastguard Worker 52*bb4ee6a4SAndroid Build Coastguard Worker # Install cargo-nextest using prebuilt binaries and validate checksum. 53*bb4ee6a4SAndroid Build Coastguard Worker{% if v1.machine == 'aarch64' %} 54*bb4ee6a4SAndroid Build Coastguard Worker - curl -LsSf https://get.nexte.st/0.9.43/linux-arm | tar zxf - -C /usr/bin 55*bb4ee6a4SAndroid Build Coastguard Worker - echo "59374b208807b5002f96c815a04f6bcc80d16707c2e8046471bb41043324363e /usr/bin/cargo-nextest" | sha256sum -c - 56*bb4ee6a4SAndroid Build Coastguard Worker{% else %} 57*bb4ee6a4SAndroid Build Coastguard Worker - curl -LsSf https://get.nexte.st/0.9.43/linux | tar zxf - -C /usr/bin 58*bb4ee6a4SAndroid Build Coastguard Worker - echo "0b100bd45bbae6e7a4fa05f8f2cee0ca231997875ec43f984cd5ffaa2e6e9a98 /usr/bin/cargo-nextest" | sha256sum -c - 59*bb4ee6a4SAndroid Build Coastguard Worker{% endif %} 60*bb4ee6a4SAndroid Build Coastguard Worker 61*bb4ee6a4SAndroid Build Coastguard Worker # Enable core dumps for debugging crashes 62*bb4ee6a4SAndroid Build Coastguard Worker - echo "* soft core unlimited" > /etc/security/limits.conf 63*bb4ee6a4SAndroid Build Coastguard Worker 64*bb4ee6a4SAndroid Build Coastguard Worker # Trim some fat 65*bb4ee6a4SAndroid Build Coastguard Worker{% if v1.machine == 'aarch64' %} 66*bb4ee6a4SAndroid Build Coastguard Worker - [apt-get, remove, --yes, --allow-remove-essential, vim-runtime, grub-common] 67*bb4ee6a4SAndroid Build Coastguard Worker{% else %} 68*bb4ee6a4SAndroid Build Coastguard Worker - [apt-get, remove, --yes, --allow-remove-essential, vim-runtime, grub-common, grub-efi-amd64-signed] 69*bb4ee6a4SAndroid Build Coastguard Worker{% endif %} 70*bb4ee6a4SAndroid Build Coastguard Worker - [apt-get, autoremove, --yes] 71*bb4ee6a4SAndroid Build Coastguard Worker - [apt-get, clean, --yes] 72*bb4ee6a4SAndroid Build Coastguard Worker - [rm, -rf, /var/lib/apt/lists] 73*bb4ee6a4SAndroid Build Coastguard Worker 74*bb4ee6a4SAndroid Build Coastguard Worker # Fill empty space with zeros, so the image can be sparsified. 75*bb4ee6a4SAndroid Build Coastguard Worker - [dd, if=/dev/zero, of=/mytempfile] 76*bb4ee6a4SAndroid Build Coastguard Worker - [rm, /mytempfile] 77*bb4ee6a4SAndroid Build Coastguard Worker 78*bb4ee6a4SAndroid Build Coastguard Worker # And shut down after first boot setup is done. 79*bb4ee6a4SAndroid Build Coastguard Worker - [poweroff] 80