| ## template: jinja |
| #cloud-config |
| # |
| # This file is responsible for setting up the test VM when it is first booted. |
| # See https://cloudinit.readthedocs.io/ for details. |
| |
| users: |
| - name: crosvm |
| sudo: ALL=(ALL) NOPASSWD:ALL |
| lock_passwd: False |
| shell: /bin/bash |
| # Hashed password is 'crosvm' |
| passwd: $6$rounds=4096$os6Q9Ok4Y9a8hKvG$EwQ1bbS0qd4IJyRP.bnRbyjPbSS8BwxEJh18PfhsyD0w7a4GhTwakrmYZ6KuBoyP.cSjYYSW9wYwko4oCPoJr. |
| # Pubkey for `id_rsa` |
| ssh_authorized_keys: |
| - ssh-rsa |
| AAAAB3NzaC1yc2EAAAADAQABAAABgQCYan8oXtUm6WTIClGMsfEf3hmJe+T8p08t9O8StuuDHyAtl1lC+8hOcuXTNvbc52/HNdZ5EO4ZpP3n+N6XftfXFWQanI8OrIHVpsMATMnofHE9RBHWcR/gH0V3xKnXcTvo3S0T3ennfCYxjtL7l7EvHDMdacX8NFOaARH92qJd/YdFp73mqykmc81OCZ4ToQ5s+20T7xvRzedksfSj/wIx3z8BJK9iovkQhNGFd1o557Vq1g3Bxk1PbcIUAvFPl0SwwlFfHBi2M9kZgCVa8UfokBzu77zvxWFud+MXVrfralwKV88k9Cy9FL5QGbtCiZ7RDP5pf69xapKBK+z2L+zuVlSkvaB1CcXuqqVDjD84LXEA+io0peXQcsqbAfbLo0666P7JsweCyQ07qc4AM8gv52SzFuQTIuHLciYxbPgkZTieKgmQLJ1EgfJelOG/+60XC24LbzPIAQxcO83erC/SQ3mTUizu6BueJt7LD1V6vXHcjLfE19FecIJ8U0XDaDU= |
| crosvm@localhost |
| groups: kvm, disk, tty |
| |
| preserve_hostname: true |
| |
| # Runtime dependencies of crosvm binaries. |
| # Note: Keep in sync with ./install-[aarch64-]deps.sh |
| packages: |
| - e2fsprogs |
| - gcc |
| - libavcodec60 |
| - libavutil58 |
| - libcap2 |
| - libdbus-1-3 |
| - libdrm2 |
| - libepoxy0 |
| - libssl3 |
| - libswscale7 |
| - libva2 |
| - libwayland-client0 |
| - libx11-6 |
| - libxext6 |
| - nasm |
| - ncat |
| - rsync |
| |
| # Commands to run once during setup |
| runcmd: |
| # Append arch to hostname to make the VM easier to identify. |
| - echo "testvm-$(arch)" > /etc/hostname |
| - echo 127.0.0.1 testvm-$(arch) >> /etc/hosts |
| |
| - mkdir /var/empty |
| |
| # Install cargo-nextest using prebuilt binaries and validate checksum. |
| {% if v1.machine == 'aarch64' %} |
| - curl -LsSf https://get.nexte.st/0.9.43/linux-arm | tar zxf - -C /usr/bin |
| - echo "59374b208807b5002f96c815a04f6bcc80d16707c2e8046471bb41043324363e /usr/bin/cargo-nextest" | sha256sum -c - |
| {% else %} |
| - curl -LsSf https://get.nexte.st/0.9.43/linux | tar zxf - -C /usr/bin |
| - echo "0b100bd45bbae6e7a4fa05f8f2cee0ca231997875ec43f984cd5ffaa2e6e9a98 /usr/bin/cargo-nextest" | sha256sum -c - |
| {% endif %} |
| |
| # Enable core dumps for debugging crashes |
| - echo "* soft core unlimited" > /etc/security/limits.conf |
| |
| # Trim some fat |
| {% if v1.machine == 'aarch64' %} |
| - [apt-get, remove, --yes, --allow-remove-essential, vim-runtime, grub-common] |
| {% else %} |
| - [apt-get, remove, --yes, --allow-remove-essential, vim-runtime, grub-common, grub-efi-amd64-signed] |
| {% endif %} |
| - [apt-get, autoremove, --yes] |
| - [apt-get, clean, --yes] |
| - [rm, -rf, /var/lib/apt/lists] |
| |
| # Fill empty space with zeros, so the image can be sparsified. |
| - [dd, if=/dev/zero, of=/mytempfile] |
| - [rm, /mytempfile] |
| |
| # And shut down after first boot setup is done. |
| - [poweroff] |