• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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    - gcc
27    - libavcodec59
28    - libavutil57
29    - libcap2
30    - libdbus-1-3
31    - libdrm2
32    - libepoxy0
33    - libssl3
34    - libswscale6
35    - libva2
36    - libwayland-client0
37    - libx11-6
38    - libxext6
39    - nasm
40    - ncat
41    - rsync
42
43# Commands to run once during setup
44runcmd:
45    # Append arch to hostname to make the VM easier to identify.
46    - echo "testvm-$(arch)" > /etc/hostname
47    - echo 127.0.0.1 testvm-$(arch) >> /etc/hosts
48
49    - mkdir /var/empty
50
51    # Install cargo-nextest using prebuilt binaries and validate checksum.
52{% if v1.machine == 'aarch64' %}
53    - curl -LsSf https://get.nexte.st/0.9.43/linux-arm | tar zxf - -C /usr/bin
54    - echo "59374b208807b5002f96c815a04f6bcc80d16707c2e8046471bb41043324363e /usr/bin/cargo-nextest" | sha256sum -c -
55{% else %}
56    - curl -LsSf https://get.nexte.st/0.9.43/linux | tar zxf - -C /usr/bin
57    - echo "0b100bd45bbae6e7a4fa05f8f2cee0ca231997875ec43f984cd5ffaa2e6e9a98 /usr/bin/cargo-nextest" | sha256sum -c -
58{% endif %}
59
60    # Enable core dumps for debugging crashes
61    - echo "* soft core unlimited" > /etc/security/limits.conf
62
63    # Trim some fat
64    - [apt-get, remove, --yes, vim-runtime, iso-codes, perl, grub-common]
65    - [apt-get, autoremove, --yes]
66    - [apt-get, clean, --yes]
67    - [rm, -rf, /var/lib/apt/lists]
68
69    # Fill empty space with zeros, so the image can be sparsified.
70    - [dd, if=/dev/zero, of=/mytempfile]
71    - [rm, /mytempfile]
72
73    # And shut down after first boot setup is done.
74    - [poweroff]
75