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