Merge "Update owners list" into cuttlefish-testing
diff --git a/Android.bp b/Android.bp
index 4455a5e..4282147 100644
--- a/Android.bp
+++ b/Android.bp
@@ -19,3 +19,31 @@
     srcs: ["x86_64/bin/crosvm"],
     defaults: ["cuttlefish_host_only"],
 }
+
+cc_prebuilt_library_shared {
+  name: "libepoxy-for-crosvm",
+  srcs: ["x86_64/lib64/crosvm/libepoxy.so.0"],
+  relative_install_path: "crosvm",
+  defaults: ["cuttlefish_host_only"],
+}
+
+cc_prebuilt_library_shared {
+  name: "libgbm-for-crosvm",
+  srcs: ["x86_64/lib64/crosvm/libgbm.so.1"],
+  relative_install_path: "crosvm",
+  defaults: ["cuttlefish_host_only"],
+}
+
+cc_prebuilt_library_shared {
+  name: "libminijail-for-crosvm",
+  srcs: ["x86_64/lib64/crosvm/libminijail.so"],
+  relative_install_path: "crosvm",
+  defaults: ["cuttlefish_host_only"],
+}
+
+cc_prebuilt_library_shared {
+  name: "libvirglrenderer-for-crosvm",
+  srcs: ["x86_64/lib64/crosvm/libvirglrenderer.so.0"],
+  relative_install_path: "crosvm",
+  defaults: ["cuttlefish_host_only"],
+}
diff --git a/rebuild.sh b/rebuild.sh
new file mode 100755
index 0000000..7911bd6
--- /dev/null
+++ b/rebuild.sh
@@ -0,0 +1,86 @@
+#!/bin/bash
+
+# Common code to build a host image on GCE
+
+# INTERNAL_extra_source may be set to a directory containing the source for
+# extra package to build.
+
+# INTERNAL_IP can be set to --internal-ip run on a GCE instance
+# The instance will need --scope compute-rw
+
+source "${ANDROID_BUILD_TOP}/external/shflags/src/shflags"
+
+DEFINE_string build_instance \
+  "${USER}-build" "Instance name to create for the build" "i"
+DEFINE_string build_user cuttlefish_crosvm_builder \
+  "User name to use on GCE when doing the build"
+DEFINE_string project "$(gcloud config get-value project)" "Project to use" "p"
+DEFINE_string source_image_family debian-9 "Image familty to use as the base" \
+  "s"
+DEFINE_string source_image_project debian-cloud \
+  "Project holding the base image" "m"
+DEFINE_string zone "$(gcloud config get-value compute/zone)" "Zone to use" "z"
+
+SSH_FLAGS=(${INTERNAL_IP})
+
+wait_for_instance() {
+  alive=""
+  while [[ -z "${alive}" ]]; do
+    sleep 5
+    alive="$(gcloud compute ssh "${SSH_FLAGS[@]}" "$@" -- uptime || true)"
+  done
+}
+
+main() {
+  set -o errexit
+  set -x
+  fail=0
+  source_files=(rebuild_gce.sh)
+  if [[ -z "${FLAGS_project}" ]]; then
+    echo Must specify project 1>&2
+    fail=1
+  fi
+  if [[ -z "${FLAGS_zone}" ]]; then
+    echo Must specify zone 1>&2
+    fail=1
+  fi
+  if [[ "${fail}" -ne 0 ]]; then
+    exit "${fail}"
+  fi
+  project_zone_flags=(--project="${FLAGS_project}" --zone="${FLAGS_zone}")
+  delete_instances=("${FLAGS_build_instance}")
+  gcloud compute instances delete -q \
+    "${project_zone_flags[@]}" \
+    "${delete_instances[@]}" || \
+      echo Not running
+  gcloud compute instances create \
+    "${project_zone_flags[@]}" \
+    --machine-type=n1-standard-4 \
+    --image-family="${FLAGS_source_image_family}" \
+    --image-project="${FLAGS_source_image_project}" \
+    "${FLAGS_build_instance}"
+  wait_for_instance "${FLAGS_build_instance}"
+  # beta for the --internal-ip flag that may be passed via SSH_FLAGS
+  gcloud beta compute scp "${SSH_FLAGS[@]}" \
+    "${project_zone_flags[@]}" \
+    "${source_files[@]}" \
+    "${FLAGS_build_user}@${FLAGS_build_instance}:"
+  gcloud compute ssh "${SSH_FLAGS[@]}" \
+    "${project_zone_flags[@]}" \
+    "${FLAGS_build_user}@${FLAGS_build_instance}" -- \
+      ./rebuild_gce.sh
+  gcloud beta compute scp --recurse "${SSH_FLAGS[@]}" \
+    "${project_zone_flags[@]}" \
+    "${FLAGS_build_user}@${FLAGS_build_instance}":x86_64 \
+    "${ANDROID_BUILD_TOP}/device/google/cuttlefish_vmm"
+  gcloud compute disks describe \
+    "${project_zone_flags[@]}" "${FLAGS_build_instance}" | \
+      grep ^sourceImage: > x86_64/builder_image.txt
+  exit 0
+  gcloud compute instances delete -q \
+    "${project_zone_flags[@]}" \
+    "${FLAGS_build_instance}"
+}
+
+FLAGS "$@" || exit 1
+main "${FLAGS_ARGV[@]}"
diff --git a/rebuild_gce.sh b/rebuild_gce.sh
new file mode 100755
index 0000000..655e568
--- /dev/null
+++ b/rebuild_gce.sh
@@ -0,0 +1,165 @@
+#!/bin/bash
+
+ARCH="$(uname -m)"
+pushd "$(dirname "$0")" > /dev/null 2>&1
+OUT_DIR="$(pwd)/${ARCH}"
+popd > /dev/null 2>&1
+LIB_PATH="${OUT_DIR}/lib64/crosvm"
+mkdir -p "${LIB_PATH}"
+
+BUILD_DIR=${HOME}/build
+export THIRD_PARTY_ROOT="${BUILD_DIR}/third_party"
+export PATH="${PATH}:${HOME}/bin"
+mkdir -p "${THIRD_PARTY_ROOT}"
+
+set -o errexit
+set -x
+
+sudo apt-get update
+sudo apt-get install -y \
+    autoconf \
+    automake \
+    curl \
+    gcc \
+    g++ \
+    git \
+    libcap-dev \
+    libdrm-dev \
+    libfdt-dev \
+    libegl1-mesa-dev \
+    libgl1-mesa-dev \
+    libgles1-mesa-dev \
+    libgles2-mesa-dev \
+    libssl1.0-dev \
+    libtool \
+    libusb-1.0-0-dev \
+    libwayland-dev \
+    make \
+    nasm \
+    ninja-build \
+    pkg-config \
+    protobuf-compiler \
+    python3 \
+    xutils-dev
+
+export RUST_VERSION=1.32.0 RUSTFLAGS='--cfg hermetic'
+
+curl -LO "https://static.rust-lang.org/rustup/archive/1.14.0/x86_64-unknown-linux-gnu/rustup-init"
+echo "0077ff9c19f722e2be202698c037413099e1188c0c233c12a2297bf18e9ff6e7 *rustup-init" | sha256sum -c -
+chmod +x rustup-init
+./rustup-init -y --no-modify-path --default-toolchain $RUST_VERSION
+source $HOME/.cargo/env
+rustup component add rustfmt-preview
+rm rustup-init
+
+cd "${THIRD_PARTY_ROOT}"
+# minijail does not exist in upstream linux distros.
+git clone https://android.googlesource.com/platform/external/minijail
+cd minijail
+make -j
+mkdir -p "${HOME}/lib"
+cp libminijail.so "${HOME}/lib/"
+cp libminijail.so "${LIB_PATH}/"
+
+cd "${THIRD_PARTY_ROOT}"
+# The gbm used by upstream linux distros is not compatible with crosvm, which must use Chrome OS's
+# minigbm.
+git clone https://android.googlesource.com/platform/external/minigbm \
+  -b upstream-master
+cd minigbm
+sed 's/-Wall/-Wno-maybe-uninitialized/g' -i Makefile
+ln -s "${HOME}" "${HOME}/usr"
+DESTDIR="${HOME}" make -j install
+cp ${HOME}/lib/libgbm.so.1 "${LIB_PATH}/"
+
+# TODO(b/129364579): add as 3p depenedency
+cd "${THIRD_PARTY_ROOT}"
+set -x
+# New libepoxy has EGL_KHR_DEBUG entry points needed by crosvm.
+git clone https://github.com/anholt/libepoxy.git
+cd libepoxy
+git checkout 707f50e680ab4f1861b1e54ca6e2907aaca56c12
+./autogen.sh --prefix="${HOME}"
+make -j install
+cp "${HOME}"/lib/libepoxy.so.0 "${LIB_PATH}"/
+
+# Note: depends on libepoxy
+cd "${THIRD_PARTY_ROOT}"
+git clone https://android.googlesource.com/platform/external/virglrenderer \
+  -b upstream-master
+cd virglrenderer
+./autogen.sh --prefix=${HOME} PKG_CONFIG_PATH=${HOME}/lib/pkgconfig
+make -j install
+cp "${HOME}/lib/libvirglrenderer.so.0" "${LIB_PATH}"/
+
+cd "${THIRD_PARTY_ROOT}"
+git clone https://android.googlesource.com/platform/external/adhd \
+  -b upstream-master
+
+#cd "${THIRD_PARTY_ROOT}"
+# Install libtpm2 so that tpm2-sys/build.rs does not try to build it in place in
+# the read-only source directory.
+#git clone https://chromium.googlesource.com/chromiumos/third_party/tpm2 \
+#    && cd tpm2 \
+#    && git checkout 15260c8cd98eb10b4976d2161cd5cb9bc0c3adac \
+#    && make -j24
+
+# Install librendernodehost
+#RUN git clone https://chromium.googlesource.com/chromiumos/platform2 \
+#    && cd platform2 \
+#    && git checkout 226fc35730a430344a68c34d7fe7d613f758f417 \
+#    && cd rendernodehost \
+#    && gcc -c src.c -o src.o \
+#    && ar rcs librendernodehost.a src.o \
+#    && cp librendernodehost.a /lib
+
+# Inform pkg-config where libraries we install are placed.
+#COPY pkgconfig/* /usr/lib/pkgconfig
+
+# Reduces image size and prevents accidentally using /scratch files
+#RUN rm -r /scratch /usr/bin/meson
+
+# The manual installation of shared objects requires an ld.so.cache refresh.
+#RUN ldconfig
+
+# Pull down repositories that crosvm depends on to cros checkout-like locations.
+#ENV CROS_ROOT=/
+#ENV THIRD_PARTY_ROOT=$CROS_ROOT/third_party
+#RUN mkdir -p $THIRD_PARTY_ROOT
+#ENV PLATFORM_ROOT=$CROS_ROOT/platform
+#RUN mkdir -p $PLATFORM_ROOT
+
+
+
+mkdir -p "${BUILD_DIR}/platform"
+cd "${BUILD_DIR}/platform"
+# TODO(b/129365885): add as 3p depenedency
+git clone https://chromium.googlesource.com/chromiumos/platform/crosvm || true
+
+cd "${BUILD_DIR}/platform/crosvm"
+
+RUSTFLAGS="-C link-arg=-Wl,-rpath,\$ORIGIN/../lib64/crosvm -C link-arg=-L${HOME}/lib" \
+  cargo build --features gpu
+
+# Save the outputs
+mkdir -p "${OUT_DIR}"
+cp Cargo.lock "${OUT_DIR}"
+mkdir -p "${OUT_DIR}/bin/"
+cp target/debug/crosvm "${OUT_DIR}/bin/"
+
+
+cargo --version --verbose > "${OUT_DIR}/cargo_version.txt"
+rustup show > "${OUT_DIR}/rustup_show.txt"
+dpkg-query -W > "${OUT_DIR}/builder-packages.txt"
+
+cd "${HOME}"
+for i in $(find . -name .git -type d -print); do
+  dir="$(dirname "$i")"
+  pushd "${dir}" > /dev/null 2>&1
+  echo "${dir}" \
+    "$(git remote get-url "$(git remote show)")" \
+    "$(git rev-parse HEAD)"
+  popd > /dev/null 2>&1
+done > "${OUT_DIR}/BUILD_INFO"
+
+echo Results in ${OUT_DIR}
diff --git a/x86_64/BUILD_INFO b/x86_64/BUILD_INFO
new file mode 100644
index 0000000..443f57e
--- /dev/null
+++ b/x86_64/BUILD_INFO
@@ -0,0 +1,7 @@
+./build/third_party/minijail https://android.googlesource.com/platform/external/minijail 29c72343333ef5218d5ed3cdab2ab21e51458056
+./build/third_party/virglrenderer https://android.googlesource.com/platform/external/virglrenderer 9f67d5e5d69d3821ebcf0cf6388a3276894210f7
+./build/third_party/libepoxy https://github.com/anholt/libepoxy.git 707f50e680ab4f1861b1e54ca6e2907aaca56c12
+./build/third_party/minigbm https://android.googlesource.com/platform/external/minigbm 6ac299f3d3fe2220a73442372616496dc97b652a
+./build/third_party/adhd https://android.googlesource.com/platform/external/adhd 0cfcc3861631250743adac893b84ad0e5255ff02
+./build/platform/crosvm https://chromium.googlesource.com/chromiumos/platform/crosvm cb5573ba198ddfaa2f41ce72a8de95a75f0393f2
+./.cargo/registry/index/github.com-1ecc6299db9ec823  HEAD
diff --git a/x86_64/Cargo.lock b/x86_64/Cargo.lock
new file mode 100644
index 0000000..b6a1360
--- /dev/null
+++ b/x86_64/Cargo.lock
@@ -0,0 +1,582 @@
+[[package]]
+name = "aarch64"
+version = "0.1.0"
+dependencies = [
+ "arch 0.1.0",
+ "data_model 0.1.0",
+ "devices 0.1.0",
+ "io_jail 0.1.0",
+ "kernel_cmdline 0.1.0",
+ "kvm 0.1.0",
+ "kvm_sys 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "resources 0.1.0",
+ "sync 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "arch"
+version = "0.1.0"
+dependencies = [
+ "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "devices 0.1.0",
+ "io_jail 0.1.0",
+ "kernel_cmdline 0.1.0",
+ "kvm 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "resources 0.1.0",
+ "sync 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "assertions"
+version = "0.1.0"
+
+[[package]]
+name = "audio_streams"
+version = "0.1.0"
+
+[[package]]
+name = "bit_field"
+version = "0.1.0"
+dependencies = [
+ "bit_field_derive 0.1.0",
+]
+
+[[package]]
+name = "bit_field_derive"
+version = "0.1.0"
+dependencies = [
+ "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "byteorder"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "cc"
+version = "1.0.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "cras-sys"
+version = "0.1.0"
+dependencies = [
+ "data_model 0.1.0",
+]
+
+[[package]]
+name = "crosvm"
+version = "0.1.0"
+dependencies = [
+ "aarch64 0.1.0",
+ "arch 0.1.0",
+ "audio_streams 0.1.0",
+ "bit_field 0.1.0",
+ "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crosvm_plugin 0.17.0",
+ "data_model 0.1.0",
+ "devices 0.1.0",
+ "enumn 0.1.0",
+ "gpu_buffer 0.1.0",
+ "io_jail 0.1.0",
+ "kernel_cmdline 0.1.0",
+ "kernel_loader 0.1.0",
+ "kvm 0.1.0",
+ "kvm_sys 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libcras 0.1.0",
+ "msg_socket 0.1.0",
+ "net_util 0.1.0",
+ "p9 0.1.0",
+ "plugin_proto 0.17.0",
+ "protobuf 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "qcow 0.1.0",
+ "rand_ish 0.1.0",
+ "render_node_forward 0.1.0",
+ "resources 0.1.0",
+ "sync 0.1.0",
+ "sys_util 0.1.0",
+ "vhost 0.1.0",
+ "vm_control 0.1.0",
+ "x86_64 0.1.0",
+]
+
+[[package]]
+name = "crosvm_plugin"
+version = "0.17.0"
+dependencies = [
+ "kvm 0.1.0",
+ "kvm_sys 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "plugin_proto 0.17.0",
+ "protobuf 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "data_model"
+version = "0.1.0"
+dependencies = [
+ "assertions 0.1.0",
+]
+
+[[package]]
+name = "devices"
+version = "0.1.0"
+dependencies = [
+ "audio_streams 0.1.0",
+ "bit_field 0.1.0",
+ "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "data_model 0.1.0",
+ "enumn 0.1.0",
+ "gpu_buffer 0.1.0",
+ "gpu_display 0.1.0",
+ "gpu_renderer 0.1.0",
+ "io_jail 0.1.0",
+ "kvm 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "msg_on_socket_derive 0.1.0",
+ "msg_socket 0.1.0",
+ "net_sys 0.1.0",
+ "net_util 0.1.0",
+ "p9 0.1.0",
+ "resources 0.1.0",
+ "sync 0.1.0",
+ "sys_util 0.1.0",
+ "tpm2 0.1.0",
+ "usb_util 0.1.0",
+ "vhost 0.1.0",
+ "virtio_sys 0.1.0",
+ "vm_control 0.1.0",
+]
+
+[[package]]
+name = "enumn"
+version = "0.1.0"
+dependencies = [
+ "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "gpu_buffer"
+version = "0.1.0"
+dependencies = [
+ "data_model 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "gpu_display"
+version = "0.1.0"
+dependencies = [
+ "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
+ "data_model 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "gpu_renderer"
+version = "0.1.0"
+dependencies = [
+ "data_model 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "io_jail"
+version = "0.1.0"
+dependencies = [
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "kernel_cmdline"
+version = "0.1.0"
+dependencies = [
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "kernel_loader"
+version = "0.1.0"
+dependencies = [
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "kvm"
+version = "0.1.0"
+dependencies = [
+ "kvm_sys 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "msg_socket 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "kvm_sys"
+version = "0.1.0"
+dependencies = [
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "libcras"
+version = "0.1.0"
+dependencies = [
+ "audio_streams 0.1.0",
+ "cras-sys 0.1.0",
+ "data_model 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "log"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "msg_on_socket_derive"
+version = "0.1.0"
+dependencies = [
+ "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "msg_socket"
+version = "0.1.0"
+dependencies = [
+ "data_model 0.1.0",
+ "msg_on_socket_derive 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "net_sys"
+version = "0.1.0"
+dependencies = [
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "net_util"
+version = "0.1.0"
+dependencies = [
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "net_sys 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "p9"
+version = "0.1.0"
+dependencies = [
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "wire_format_derive 0.1.0",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "plugin_proto"
+version = "0.17.0"
+dependencies = [
+ "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
+ "kvm_sys 0.1.0",
+ "protobuf 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "protoc-rust 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "poll_token_derive"
+version = "0.1.0"
+dependencies = [
+ "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "protobuf"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "protoc"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "protoc-rust"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "protobuf 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "protoc 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tempdir 0.3.7",
+]
+
+[[package]]
+name = "qcow"
+version = "0.1.0"
+dependencies = [
+ "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "qcow_utils"
+version = "0.1.0"
+dependencies = [
+ "getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "qcow 0.1.0",
+ "qcow_utils_test 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "qcow_utils_test"
+version = "0.1.0"
+dependencies = [
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "qcow_utils 0.1.0",
+ "tempdir 0.3.7",
+]
+
+[[package]]
+name = "quote"
+version = "0.6.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "rand_ish"
+version = "0.1.0"
+
+[[package]]
+name = "render_node_forward"
+version = "0.1.0"
+dependencies = [
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "resources"
+version = "0.1.0"
+dependencies = [
+ "gpu_buffer 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "msg_socket 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "syn"
+version = "0.15.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "sync"
+version = "0.1.0"
+
+[[package]]
+name = "sys_util"
+version = "0.1.0"
+dependencies = [
+ "data_model 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "poll_token_derive 0.1.0",
+ "sync 0.1.0",
+ "syscall_defines 0.1.0",
+]
+
+[[package]]
+name = "syscall_defines"
+version = "0.1.0"
+
+[[package]]
+name = "tempdir"
+version = "0.3.7"
+dependencies = [
+ "rand_ish 0.1.0",
+]
+
+[[package]]
+name = "tpm2"
+version = "0.1.0"
+dependencies = [
+ "tpm2-sys 0.1.0",
+]
+
+[[package]]
+name = "tpm2-sys"
+version = "0.1.0"
+dependencies = [
+ "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "unicode-xid"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "usb_util"
+version = "0.1.0"
+dependencies = [
+ "assertions 0.1.0",
+ "data_model 0.1.0",
+ "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sync 0.1.0",
+]
+
+[[package]]
+name = "vhost"
+version = "0.1.0"
+dependencies = [
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "net_util 0.1.0",
+ "sys_util 0.1.0",
+ "virtio_sys 0.1.0",
+]
+
+[[package]]
+name = "virtio_sys"
+version = "0.1.0"
+dependencies = [
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "vm_control"
+version = "0.1.0"
+dependencies = [
+ "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "data_model 0.1.0",
+ "kvm 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "msg_socket 0.1.0",
+ "resources 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[[package]]
+name = "wire_format_derive"
+version = "0.1.0"
+dependencies = [
+ "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "x86_64"
+version = "0.1.0"
+dependencies = [
+ "arch 0.1.0",
+ "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
+ "data_model 0.1.0",
+ "devices 0.1.0",
+ "io_jail 0.1.0",
+ "kernel_cmdline 0.1.0",
+ "kernel_loader 0.1.0",
+ "kvm 0.1.0",
+ "kvm_sys 0.1.0",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "resources 0.1.0",
+ "sync 0.1.0",
+ "sys_util 0.1.0",
+]
+
+[metadata]
+"checksum byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff81738b726f5d099632ceaffe7fb65b90212e8dce59d518729e7e8634032d3d"
+"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16"
+"checksum cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4e7bb64a8ebb0d856483e1e682ea3422f883c5f5615a90d51a2c82fe87fdd3"
+"checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797"
+"checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311"
+"checksum log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f"
+"checksum num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238"
+"checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f"
+"checksum proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)" = "ab2fc21ba78ac73e4ff6b3818ece00be4e175ffbef4d0a717d978b48b24150c4"
+"checksum protobuf 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bec26e67194b7d991908145fdf21b7cae8b08423d96dcb9e860cd31f854b9506"
+"checksum protoc 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5379c34ea2f9c69b99e6f25f6d0e6619876195ae7a3dcaf69f66bdb6c2e4dceb"
+"checksum protoc-rust 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e211a7f56b2d020a59d483f652cfdfa6fd42e37bf544c0231e373807aa316c45"
+"checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c"
+"checksum syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)" = "816b7af21405b011a23554ea2dc3f6576dc86ca557047c34098c1d741f10f823"
+"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
diff --git a/x86_64/bin/crosvm b/x86_64/bin/crosvm
index 1433dff..78d24be 100755
--- a/x86_64/bin/crosvm
+++ b/x86_64/bin/crosvm
Binary files differ
diff --git a/x86_64/builder-packages.txt b/x86_64/builder-packages.txt
new file mode 100644
index 0000000..d61ff4f
--- /dev/null
+++ b/x86_64/builder-packages.txt
@@ -0,0 +1,422 @@
+acpi-support-base	0.142-8
+acpid	1:2.0.28-1+b1
+adduser	3.115
+apt	1.4.9
+apt-utils	1.4.9
+autoconf	2.69-10
+automake	1:1.15-6
+autotools-dev	20161112.1
+base-files	9.9+deb9u8
+base-passwd	3.5.43
+bash	4.4-5
+binutils	2.28-5
+bsdmainutils	9.0.12+nmu1
+bsdutils	1:2.29.2-1+deb9u1
+busybox	1:1.22.0-19+b3
+bzip2	1.0.6-8.1
+ca-certificates	20161130+nmu1+deb9u1
+cloud-guest-utils	0.29-1
+coreutils	8.26-3
+cpio	2.11+dfsg-6
+cpp	4:6.3.0-4
+cpp-6	6.3.0-18+deb9u1
+cron	3.0pl1-128+deb9u1
+curl	7.52.1-5+deb9u9
+dash	0.5.8-2.4
+debconf	1.5.61
+debconf-i18n	1.5.61
+debian-archive-keyring	2017.5
+debianutils	4.8.1.1
+dh-python	2.20170125
+diffutils	1:3.5-3
+distro-info-data	0.36
+dmidecode	3.0-4
+dmsetup	2:1.02.137-2
+dpkg	1.18.25
+e2fslibs:amd64	1.43.4-2
+e2fsprogs	1.43.4-2
+ethtool	1:4.8-1+b1
+file	1:5.30-1+deb9u2
+findutils	4.6.0+git+20161106-2
+g++	4:6.3.0-4
+g++-6	6.3.0-18+deb9u1
+gcc	4:6.3.0-4
+gcc-6	6.3.0-18+deb9u1
+gcc-6-base:amd64	6.3.0-18+deb9u1
+gdisk	1.0.1-1
+gettext-base	0.19.8.1-2
+git	1:2.11.0-3+deb9u4
+git-man	1:2.11.0-3+deb9u4
+gnupg	2.1.18-8~deb9u4
+gnupg-agent	2.1.18-8~deb9u4
+google-cloud-packages-archive-keyring	1.2-1
+google-cloud-sdk	237.0.0-0
+google-compute-engine	2.8.13-1
+google-compute-engine-oslogin	1.5.0-1
+gpgv	2.1.18-8~deb9u4
+grep	2.27-2
+groff-base	1.22.3-9
+grub-common	2.02~beta3-5+deb9u1
+grub-pc	2.02~beta3-5+deb9u1
+grub-pc-bin	2.02~beta3-5+deb9u1
+grub2-common	2.02~beta3-5+deb9u1
+gzip	1.6-5+b1
+hostname	3.18+b1
+ifupdown	0.8.19
+init	1.48
+init-system-helpers	1.48
+initramfs-tools	0.130
+initramfs-tools-core	0.130
+iproute2	4.9.0-1+deb9u1
+iptables	1.6.0+snapshot20161117-6
+iputils-ping	3:20161105-1
+isc-dhcp-client	4.3.5-3+deb9u1
+isc-dhcp-common	4.3.5-3+deb9u1
+klibc-utils	2.0.4-9
+kmod	23-2
+kpartx	0.6.4-5+deb9u1
+less	481-2.1
+libacl1:amd64	2.2.52-3+b1
+libapparmor1:amd64	2.11.0-3+deb9u2
+libapt-inst2.0:amd64	1.4.9
+libapt-pkg5.0:amd64	1.4.9
+libasan3:amd64	6.3.0-18+deb9u1
+libassuan0:amd64	2.4.3-2
+libatomic1:amd64	6.3.0-18+deb9u1
+libattr1:amd64	1:2.4.47-2+b2
+libaudit-common	1:2.6.7-2
+libaudit1:amd64	1:2.6.7-2
+libblkid1:amd64	2.29.2-1+deb9u1
+libbsd0:amd64	0.8.3-1
+libbz2-1.0:amd64	1.0.6-8.1
+libc-bin	2.24-11+deb9u4
+libc-dev-bin	2.24-11+deb9u4
+libc-l10n	2.24-11+deb9u4
+libc6:amd64	2.24-11+deb9u4
+libc6-dev:amd64	2.24-11+deb9u4
+libcap-dev:amd64	1:2.25-1
+libcap-ng0:amd64	0.7.7-3+b1
+libcap2:amd64	1:2.25-1
+libcc1-0:amd64	6.3.0-18+deb9u1
+libcilkrts5:amd64	6.3.0-18+deb9u1
+libcomerr2:amd64	1.43.4-2
+libcryptsetup4:amd64	2:1.7.3-4
+libcurl3:amd64	7.52.1-5+deb9u9
+libcurl3-gnutls:amd64	7.52.1-5+deb9u9
+libdb5.3:amd64	5.3.28-12+deb9u1
+libdebconfclient0:amd64	0.227
+libdevmapper1.02.1:amd64	2:1.02.137-2
+libdns-export162	1:9.10.3.dfsg.P4-12.3+deb9u4
+libdpkg-perl	1.18.25
+libdrm-amdgpu1:amd64	2.4.74-1
+libdrm-dev:amd64	2.4.74-1
+libdrm-intel1:amd64	2.4.74-1
+libdrm-nouveau2:amd64	2.4.74-1
+libdrm-radeon1:amd64	2.4.74-1
+libdrm2:amd64	2.4.74-1
+libedit2:amd64	3.1-20160903-3
+libegl1-mesa:amd64	13.0.6-1+b2
+libegl1-mesa-dev:amd64	13.0.6-1+b2
+libelf1:amd64	0.168-1
+liberror-perl	0.17024-1
+libestr0	0.1.10-2
+libexpat1:amd64	2.2.0-2+deb9u1
+libfastjson4:amd64	0.99.4-1
+libfdisk1:amd64	2.29.2-1+deb9u1
+libfdt-dev	1.4.2-1
+libfdt1:amd64	1.4.2-1
+libffi6:amd64	3.2.1-6
+libfile-fcntllock-perl	0.22-3+b2
+libfreetype6:amd64	2.6.3-3.2
+libfuse2:amd64	2.9.7-1+deb9u2
+libgbm1:amd64	13.0.6-1+b2
+libgcc-6-dev:amd64	6.3.0-18+deb9u1
+libgcc1:amd64	1:6.3.0-18+deb9u1
+libgcrypt20:amd64	1.7.6-2+deb9u3
+libgdbm3:amd64	1.8.3-14
+libgl1-mesa-dev:amd64	13.0.6-1+b2
+libgl1-mesa-dri:amd64	13.0.6-1+b2
+libgl1-mesa-glx:amd64	13.0.6-1+b2
+libglapi-mesa:amd64	13.0.6-1+b2
+libgles1-mesa:amd64	13.0.6-1+b2
+libgles1-mesa-dev:amd64	13.0.6-1+b2
+libgles2-mesa:amd64	13.0.6-1+b2
+libgles2-mesa-dev:amd64	13.0.6-1+b2
+libglib2.0-0:amd64	2.50.3-2
+libglib2.0-data	2.50.3-2
+libgmp10:amd64	2:6.1.2+dfsg-1
+libgnutls30:amd64	3.5.8-5+deb9u4
+libgomp1:amd64	6.3.0-18+deb9u1
+libgpg-error0:amd64	1.26-2
+libgpm2:amd64	1.20.4-6.2+b1
+libgssapi-krb5-2:amd64	1.15-1+deb9u1
+libhogweed4:amd64	3.3-1+b2
+libicu57:amd64	57.1-6+deb9u2
+libidn11:amd64	1.33-1
+libidn2-0:amd64	0.16-1+deb9u1
+libip4tc0:amd64	1.6.0+snapshot20161117-6
+libip6tc0:amd64	1.6.0+snapshot20161117-6
+libiptc0:amd64	1.6.0+snapshot20161117-6
+libisc-export160	1:9.10.3.dfsg.P4-12.3+deb9u4
+libisl15:amd64	0.18-1
+libitm1:amd64	6.3.0-18+deb9u1
+libjson-c3:amd64	0.12.1-1.1
+libk5crypto3:amd64	1.15-1+deb9u1
+libkeyutils1:amd64	1.5.9-9
+libklibc	2.0.4-9
+libkmod2:amd64	23-2
+libkrb5-3:amd64	1.15-1+deb9u1
+libkrb5support0:amd64	1.15-1+deb9u1
+libksba8:amd64	1.3.5-2
+libldap-2.4-2:amd64	2.4.44+dfsg-5+deb9u2
+libldap-common	2.4.44+dfsg-5+deb9u2
+libllvm3.9:amd64	1:3.9.1-9
+liblocale-gettext-perl	1.07-3+b1
+liblogging-stdlog0:amd64	1.0.5-2+b2
+liblognorm5:amd64	2.0.1-1.1+b1
+liblsan0:amd64	6.3.0-18+deb9u1
+libltdl-dev:amd64	2.4.6-2
+libltdl7:amd64	2.4.6-2
+liblz4-1:amd64	0.0~r131-2+b1
+liblzma5:amd64	5.2.2-1.2+b1
+libmagic-mgc	1:5.30-1+deb9u2
+libmagic1:amd64	1:5.30-1+deb9u2
+libmnl0:amd64	1.0.4-2
+libmount1:amd64	2.29.2-1+deb9u1
+libmpc3:amd64	1.0.3-1+b2
+libmpdec2:amd64	2.4.2-1
+libmpfr4:amd64	3.1.5-1
+libmpx2:amd64	6.3.0-18+deb9u1
+libncurses5:amd64	6.0+20161126-1+deb9u2
+libncursesw5:amd64	6.0+20161126-1+deb9u2
+libnetfilter-conntrack3:amd64	1.0.6-2
+libnettle6:amd64	3.3-1+b2
+libnewt0.52:amd64	0.52.19-1+b1
+libnfnetlink0:amd64	1.0.1-3
+libnghttp2-14:amd64	1.18.1-1
+libnpth0:amd64	1.3-1
+libopts25:amd64	1:5.18.12-3
+libp11-kit0:amd64	0.23.3-2
+libpam-modules:amd64	1.1.8-3.6
+libpam-modules-bin	1.1.8-3.6
+libpam-runtime	1.1.8-3.6
+libpam0g:amd64	1.1.8-3.6
+libparted2:amd64	3.2-17
+libpciaccess0:amd64	0.13.4-1+b2
+libpcre3:amd64	2:8.39-3
+libperl5.24:amd64	5.24.1-3+deb9u5
+libpipeline1:amd64	1.4.1-2
+libpng16-16:amd64	1.6.28-1
+libpopt0:amd64	1.16-10+b2
+libprocps6:amd64	2:3.3.12-3+deb9u1
+libprotobuf10:amd64	3.0.0-9
+libprotoc10:amd64	3.0.0-9
+libpsl5:amd64	0.17.0-3
+libpthread-stubs0-dev:amd64	0.3-4
+libpython-stdlib:amd64	2.7.13-2
+libpython2.7-minimal:amd64	2.7.13-2+deb9u3
+libpython2.7-stdlib:amd64	2.7.13-2+deb9u3
+libpython3-stdlib:amd64	3.5.3-1
+libpython3.5-minimal:amd64	3.5.3-1+deb9u1
+libpython3.5-stdlib:amd64	3.5.3-1+deb9u1
+libquadmath0:amd64	6.3.0-18+deb9u1
+libreadline7:amd64	7.0-3
+librtmp1:amd64	2.4+20151223.gitfa8646d.1-1+b1
+libsasl2-2:amd64	2.1.27~101-g0780600+dfsg-3
+libsasl2-modules-db:amd64	2.1.27~101-g0780600+dfsg-3
+libseccomp2:amd64	2.3.1-2.1+deb9u1
+libselinux1:amd64	2.6-3+b3
+libsemanage-common	2.6-2
+libsemanage1:amd64	2.6-2
+libsensors4:amd64	1:3.4.0-4
+libsepol1:amd64	2.6-2
+libsigsegv2:amd64	2.10-5
+libslang2:amd64	2.3.1-5
+libsmartcols1:amd64	2.29.2-1+deb9u1
+libsqlite3-0:amd64	3.16.2-5+deb9u1
+libss2:amd64	1.43.4-2
+libssh2-1:amd64	1.7.0-1
+libssl1.0-dev:amd64	1.0.2r-1~deb9u1
+libssl1.0.2:amd64	1.0.2r-1~deb9u1
+libssl1.1:amd64	1.1.0j-1~deb9u1
+libstdc++-6-dev:amd64	6.3.0-18+deb9u1
+libstdc++6:amd64	6.3.0-18+deb9u1
+libsystemd0:amd64	232-25+deb9u9
+libtasn1-6:amd64	4.10-1.1+deb9u1
+libtext-charwidth-perl	0.04-7+b5
+libtext-iconv-perl	1.7-5+b4
+libtext-wrapi18n-perl	0.06-7.1
+libtinfo5:amd64	6.0+20161126-1+deb9u2
+libtool	2.4.6-2
+libtsan0:amd64	6.3.0-18+deb9u1
+libtxc-dxtn-s2tc:amd64	1.0+git20151227-2
+libubsan0:amd64	6.3.0-18+deb9u1
+libudev1:amd64	232-25+deb9u9
+libunistring0:amd64	0.9.6+really0.9.3-0.1
+libusb-1.0-0:amd64	2:1.0.21-1
+libusb-1.0-0-dev:amd64	2:1.0.21-1
+libusb-1.0-doc	2:1.0.21-1
+libustr-1.0-1:amd64	1.0.4-6
+libuuid1:amd64	2.29.2-1+deb9u1
+libwayland-bin	1.12.0-1+deb9u1
+libwayland-client0:amd64	1.12.0-1+deb9u1
+libwayland-cursor0:amd64	1.12.0-1+deb9u1
+libwayland-dev:amd64	1.12.0-1+deb9u1
+libwayland-egl1-mesa:amd64	13.0.6-1+b2
+libwayland-server0:amd64	1.12.0-1+deb9u1
+libwrap0:amd64	7.6.q-26
+libx11-6:amd64	2:1.6.4-3+deb9u1
+libx11-data	2:1.6.4-3+deb9u1
+libx11-dev:amd64	2:1.6.4-3+deb9u1
+libx11-doc	2:1.6.4-3+deb9u1
+libx11-xcb-dev:amd64	2:1.6.4-3+deb9u1
+libx11-xcb1:amd64	2:1.6.4-3+deb9u1
+libxapian30:amd64	1.4.3-2+deb9u3
+libxau-dev:amd64	1:1.0.8-1
+libxau6:amd64	1:1.0.8-1
+libxcb-dri2-0:amd64	1.12-1
+libxcb-dri2-0-dev:amd64	1.12-1
+libxcb-dri3-0:amd64	1.12-1
+libxcb-dri3-dev:amd64	1.12-1
+libxcb-glx0:amd64	1.12-1
+libxcb-glx0-dev:amd64	1.12-1
+libxcb-present-dev:amd64	1.12-1
+libxcb-present0:amd64	1.12-1
+libxcb-randr0:amd64	1.12-1
+libxcb-randr0-dev:amd64	1.12-1
+libxcb-render0:amd64	1.12-1
+libxcb-render0-dev:amd64	1.12-1
+libxcb-shape0:amd64	1.12-1
+libxcb-shape0-dev:amd64	1.12-1
+libxcb-sync-dev:amd64	1.12-1
+libxcb-sync1:amd64	1.12-1
+libxcb-xfixes0:amd64	1.12-1
+libxcb-xfixes0-dev:amd64	1.12-1
+libxcb1:amd64	1.12-1
+libxcb1-dev:amd64	1.12-1
+libxdamage-dev:amd64	1:1.1.4-2+b3
+libxdamage1:amd64	1:1.1.4-2+b3
+libxdmcp-dev:amd64	1:1.1.2-3
+libxdmcp6:amd64	1:1.1.2-3
+libxext-dev:amd64	2:1.3.3-1+b2
+libxext6:amd64	2:1.3.3-1+b2
+libxfixes-dev:amd64	1:5.0.3-1
+libxfixes3:amd64	1:5.0.3-1
+libxml2:amd64	2.9.4+dfsg1-2.2+deb9u2
+libxshmfence-dev:amd64	1.2-1+b2
+libxshmfence1:amd64	1.2-1+b2
+libxtables12:amd64	1.6.0+snapshot20161117-6
+libxxf86vm-dev:amd64	1:1.1.4-1+b2
+libxxf86vm1:amd64	1:1.1.4-1+b2
+linux-base	4.5
+linux-image-4.9.0-8-amd64	4.9.144-3.1
+linux-image-amd64	4.9+80+deb9u6
+linux-libc-dev:amd64	4.9.144-3.1
+locales	2.24-11+deb9u4
+login	1:4.4-4.1
+logrotate	3.11.0-0.1
+lsb-base	9.20161125
+lsb-release	9.20161125
+m4	1.4.18-1
+make	4.1-9.1
+man-db	2.7.6.1-2
+manpages	4.10-2
+manpages-dev	4.10-2
+mawk	1.3.3-17+b3
+mesa-common-dev:amd64	13.0.6-1+b2
+mime-support	3.60
+mount	2.29.2-1+deb9u1
+multiarch-support	2.24-11+deb9u4
+nano	2.7.4-1
+nasm	2.12.01-1+b1
+ncurses-base	6.0+20161126-1+deb9u2
+ncurses-bin	6.0+20161126-1+deb9u2
+net-tools	1.60+git20161116.90da8a0-1
+netbase	5.4
+ninja-build	1.7.2-1
+ntp	1:4.2.8p10+dfsg-3+deb9u2
+openssh-client	1:7.4p1-10+deb9u6
+openssh-server	1:7.4p1-10+deb9u6
+openssh-sftp-server	1:7.4p1-10+deb9u6
+openssl	1.1.0j-1~deb9u1
+parted	3.2-17
+passwd	1:4.4-4.1
+patch	2.7.5-1+deb9u1
+perl	5.24.1-3+deb9u5
+perl-base	5.24.1-3+deb9u5
+perl-modules-5.24	5.24.1-3+deb9u5
+pinentry-curses	1.0.0-2
+pkg-config	0.29-4+b1
+procps	2:3.3.12-3+deb9u1
+protobuf-compiler	3.0.0-9
+python	2.7.13-2
+python-apt-common	1.4.0~beta3
+python-boto	2.44.0-1
+python-chardet	2.3.0-2
+python-crcmod	1.7-2+b2
+python-google-compute-engine	2.8.13-1
+python-minimal	2.7.13-2
+python-pkg-resources	33.1.1-1
+python-requests	2.12.4-1
+python-six	1.10.0-3
+python-urllib3	1.19.1-1
+python2.7	2.7.13-2+deb9u3
+python2.7-minimal	2.7.13-2+deb9u3
+python3	3.5.3-1
+python3-apt	1.4.0~beta3
+python3-boto	2.44.0-1
+python3-chardet	2.3.0-2
+python3-distro	1.0.1-2
+python3-google-compute-engine	2.8.13-1
+python3-minimal	3.5.3-1
+python3-pkg-resources	33.1.1-1
+python3-requests	2.12.4-1
+python3-six	1.10.0-3
+python3-urllib3	1.19.1-1
+python3.5	3.5.3-1+deb9u1
+python3.5-minimal	3.5.3-1+deb9u1
+readline-common	7.0-3
+rename	0.20-4
+rsync	3.1.2-1+deb9u1
+rsyslog	8.24.0-1
+screen	4.5.0-6
+sed	4.4-1
+sensible-utils	0.0.9+deb9u1
+sgml-base	1.29
+shared-mime-info	1.8-1+deb9u1
+sudo	1.8.19p1-2.1
+systemd	232-25+deb9u9
+systemd-sysv	232-25+deb9u9
+sysvinit-utils	2.88dsf-59.9
+tar	1.29b-1.1
+tasksel	3.39
+tasksel-data	3.39
+tzdata	2018i-0+deb9u1
+ucf	3.0036
+udev	232-25+deb9u9
+unattended-upgrades	0.93.1+nmu1
+util-linux	2.29.2-1+deb9u1
+uuid-runtime	2.29.2-1+deb9u1
+vim	2:8.0.0197-4+deb9u1
+vim-common	2:8.0.0197-4+deb9u1
+vim-runtime	2:8.0.0197-4+deb9u1
+vim-tiny	2:8.0.0197-4+deb9u1
+wget	1.18-5+deb9u2
+whiptail	0.52.19-1+b1
+x11proto-core-dev	7.0.31-1
+x11proto-damage-dev	1:1.2.1-2
+x11proto-dri2-dev	2.8-2
+x11proto-fixes-dev	1:5.0-2
+x11proto-gl-dev	1.4.17-1
+x11proto-input-dev	2.3.2-1
+x11proto-kb-dev	1.0.7-1
+x11proto-xext-dev	7.3.0-1
+x11proto-xf86vidmode-dev	2.3.1-2
+xdg-user-dirs	0.15-2+b1
+xml-core	0.17
+xorg-sgml-doctools	1:1.11-1
+xtrans-dev	1.3.5-1
+xutils-dev	1:7.7+5+b1
+xxd	2:8.0.0197-4+deb9u1
+xz-utils	5.2.2-1.2+b1
+zlib1g:amd64	1:1.2.8.dfsg-5
diff --git a/x86_64/builder_image.txt b/x86_64/builder_image.txt
new file mode 100644
index 0000000..15c3410
--- /dev/null
+++ b/x86_64/builder_image.txt
@@ -0,0 +1 @@
+sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-9-stretch-v20190312
diff --git a/x86_64/cargo_version.txt b/x86_64/cargo_version.txt
new file mode 100644
index 0000000..c7be81e
--- /dev/null
+++ b/x86_64/cargo_version.txt
@@ -0,0 +1,4 @@
+cargo 1.32.0 (8610973aa 2019-01-02)
+release: 1.32.0
+commit-hash: 8610973aaf48615ba7dc9a38a9a2795ba6f36a31
+commit-date: 2019-01-02
diff --git a/x86_64/lib64/crosvm/libepoxy.so.0 b/x86_64/lib64/crosvm/libepoxy.so.0
new file mode 100755
index 0000000..299dc0e
--- /dev/null
+++ b/x86_64/lib64/crosvm/libepoxy.so.0
Binary files differ
diff --git a/x86_64/lib64/crosvm/libgbm.so.1 b/x86_64/lib64/crosvm/libgbm.so.1
new file mode 100755
index 0000000..5498c0f
--- /dev/null
+++ b/x86_64/lib64/crosvm/libgbm.so.1
Binary files differ
diff --git a/x86_64/lib64/crosvm/libminijail.so b/x86_64/lib64/crosvm/libminijail.so
new file mode 100755
index 0000000..41e790c
--- /dev/null
+++ b/x86_64/lib64/crosvm/libminijail.so
Binary files differ
diff --git a/x86_64/lib64/crosvm/libvirglrenderer.so.0 b/x86_64/lib64/crosvm/libvirglrenderer.so.0
new file mode 100755
index 0000000..6f38fc6
--- /dev/null
+++ b/x86_64/lib64/crosvm/libvirglrenderer.so.0
Binary files differ
diff --git a/x86_64/rustup_show.txt b/x86_64/rustup_show.txt
new file mode 100644
index 0000000..66bb2b7
--- /dev/null
+++ b/x86_64/rustup_show.txt
@@ -0,0 +1,4 @@
+Default host: x86_64-unknown-linux-gnu
+
+1.32.0-x86_64-unknown-linux-gnu (overridden by '/home/cuttlefish_crosvm_builder/build/platform/crosvm/rust-toolchain')
+rustc 1.32.0 (9fda7c223 2019-01-16)