diff --git a/android/TerminalApp/proguard.flags b/android/TerminalApp/proguard.flags
index 04a2140..e0c49f5 100644
--- a/android/TerminalApp/proguard.flags
+++ b/android/TerminalApp/proguard.flags
@@ -19,10 +19,22 @@
 
 # Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
 # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
--keep class * extends com.google.gson.TypeAdapter
--keep class * implements com.google.gson.TypeAdapterFactory
--keep class * implements com.google.gson.JsonSerializer
--keep class * implements com.google.gson.JsonDeserializer
+# TODO(b/373579455): Evaluate if <init> needs to be kept.
+-keep class * extends com.google.gson.TypeAdapter {
+  void <init>();
+}
+# TODO(b/373579455): Evaluate if <init> needs to be kept.
+-keep class * implements com.google.gson.TypeAdapterFactory {
+  void <init>();
+}
+# TODO(b/373579455): Evaluate if <init> needs to be kept.
+-keep class * implements com.google.gson.JsonSerializer {
+  void <init>();
+}
+# TODO(b/373579455): Evaluate if <init> needs to be kept.
+-keep class * implements com.google.gson.JsonDeserializer {
+  void <init>();
+}
 
 # Prevent R8 from leaving Data object members always null
 -keepclassmembers,allowobfuscation class * {
@@ -30,7 +42,13 @@
 }
 
 # Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
--keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
--keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
+# TODO(b/373579455): Evaluate if <init> needs to be kept.
+-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken {
+  void <init>();
+}
+# TODO(b/373579455): Evaluate if <init> needs to be kept.
+-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken {
+  void <init>();
+}
 
 ##---------------End: proguard configuration for Gson  ----------
diff --git a/android/virtmgr/src/aidl.rs b/android/virtmgr/src/aidl.rs
index 6c01a23..9ba1c04 100644
--- a/android/virtmgr/src/aidl.rs
+++ b/android/virtmgr/src/aidl.rs
@@ -1279,13 +1279,6 @@
         vm_config.teeServices.clone_from(&custom_config.teeServices);
     }
 
-    // Unfortunately specifying page_shift = 14 in bootconfig doesn't enable 16k pages emulation,
-    // so we need to provide it in the kernel cmdline.
-    // TODO(b/376901009): remove this after passing page_shift in bootconfig is supported.
-    if os_name.ends_with("_16k") && cfg!(target_arch = "x86_64") {
-        append_kernel_param("page_shift=14", &mut vm_config);
-    }
-
     if config.memoryMib > 0 {
         vm_config.memoryMib = config.memoryMib;
     }
diff --git a/build/debian/build.sh b/build/debian/build.sh
index d75c3f6..7a93349 100755
--- a/build/debian/build.sh
+++ b/build/debian/build.sh
@@ -162,7 +162,7 @@
 }
 
 download_debian_cloud_image() {
-	local ver=master
+	local ver=38da93fe
 	local prj=debian-cloud-images
 	local url="https://salsa.debian.org/cloud-team/${prj}/-/archive/${ver}/${prj}-${ver}.tar.gz"
 	local outdir="${debian_cloud_image}"
diff --git a/build/debian/kokoro/gcp_ubuntu_docker/aarch64/build.sh b/build/debian/kokoro/gcp_ubuntu_docker/aarch64/build.sh
index 3868d63..43f0338 100644
--- a/build/debian/kokoro/gcp_ubuntu_docker/aarch64/build.sh
+++ b/build/debian/kokoro/gcp_ubuntu_docker/aarch64/build.sh
@@ -2,17 +2,6 @@
 
 set -e
 
-# pyenv set up to use python 3.11
-sudo apt update; sudo apt install --no-install-recommends --assume-yes \
-  build-essential libssl-dev zlib1g-dev \
-  libbz2-dev libreadline-dev libsqlite3-dev curl git \
-  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
-git clone https://github.com/pyenv/pyenv.git ~/.pyenv
-export PYENV_ROOT="$HOME/.pyenv"
-export PATH="$PYENV_ROOT/bin:$PATH"
-pyenv install 3.11
-pyenv global 3.11
-
 cd "${KOKORO_ARTIFACTS_DIR}/git/avf/build/debian/"
 sudo losetup -D
 grep vmx /proc/cpuinfo || true
diff --git a/build/debian/kokoro/gcp_ubuntu_docker/x86_64/build.sh b/build/debian/kokoro/gcp_ubuntu_docker/x86_64/build.sh
index 1712c24..a935591 100644
--- a/build/debian/kokoro/gcp_ubuntu_docker/x86_64/build.sh
+++ b/build/debian/kokoro/gcp_ubuntu_docker/x86_64/build.sh
@@ -2,17 +2,6 @@
 
 set -e
 
-# pyenv set up to use python 3.11
-sudo apt update; sudo apt install --no-install-recommends --assume-yes \
-  build-essential libssl-dev zlib1g-dev \
-  libbz2-dev libreadline-dev libsqlite3-dev curl git \
-  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
-git clone https://github.com/pyenv/pyenv.git ~/.pyenv
-export PYENV_ROOT="$HOME/.pyenv"
-export PATH="$PYENV_ROOT/bin:$PATH"
-pyenv install 3.11
-pyenv global 3.11
-
 cd "${KOKORO_ARTIFACTS_DIR}/git/avf/build/debian/"
 sudo losetup -D
 grep vmx /proc/cpuinfo || true
diff --git a/build/microdroid/bootconfig.x86_64_16k b/build/microdroid/bootconfig.x86_64_16k
index ee01de5..964a5fc 100644
--- a/build/microdroid/bootconfig.x86_64_16k
+++ b/build/microdroid/bootconfig.x86_64_16k
@@ -1 +1 @@
-page_shift = 14
+kernel.page_shift = 14
diff --git a/libs/dice/open_dice/Android.bp b/libs/dice/open_dice/Android.bp
index 75f70c3..986f496 100644
--- a/libs/dice/open_dice/Android.bp
+++ b/libs/dice/open_dice/Android.bp
@@ -170,6 +170,7 @@
         "libopen_dice_cbor_bindgen.rust_defaults",
     ],
     whole_static_libs: ["libopen_dice_cbor"],
+    shared_libs: ["libcrypto"],
 }
 
 rust_bindgen {
diff --git a/libs/dice/sample_inputs/rules.mk b/libs/dice/sample_inputs/rules.mk
new file mode 100644
index 0000000..72caf11
--- /dev/null
+++ b/libs/dice/sample_inputs/rules.mk
@@ -0,0 +1,30 @@
+# Copyright (C) 2025 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_DIR := $(GET_LOCAL_DIR)
+
+MODULE := $(LOCAL_DIR)
+
+MODULE_SRCS := $(LOCAL_DIR)/src/lib.rs
+
+MODULE_CRATE_NAME := diced_sample_inputs
+
+MODULE_LIBRARY_DEPS += \
+	$(call FIND_CRATE,coset) \
+	$(call FIND_CRATE,ciborium) \
+	$(call FIND_CRATE,log) \
+	packages/modules/Virtualization/libs/dice/open_dice \
+
+include make/library.mk
diff --git a/libs/libvmbase/src/arch/aarch64/platform.rs b/libs/libvmbase/src/arch/aarch64/platform.rs
index 6a62f8c..b33df68 100644
--- a/libs/libvmbase/src/arch/aarch64/platform.rs
+++ b/libs/libvmbase/src/arch/aarch64/platform.rs
@@ -106,7 +106,7 @@
 ///
 /// Panics if console was not initialized by calling [`init`] first.
 pub fn uart(id: usize) -> &'static spin::mutex::SpinMutex<Uart> {
-    return CONSOLES[id].get().unwrap();
+    CONSOLES[id].get().unwrap()
 }
 
 /// Reinitializes the emergency UART driver and returns it.
diff --git a/tests/pvmfw/Android.bp b/tests/pvmfw/Android.bp
index e124e55..7f5f2af 100644
--- a/tests/pvmfw/Android.bp
+++ b/tests/pvmfw/Android.bp
@@ -45,7 +45,7 @@
     ],
     per_testcase_directory: true,
     data: [
-        "assets/bcc.dat",
+        ":test_avf_bcc_dat",
     ],
     device_common_data: [
         ":MicrodroidTestApp",
@@ -59,3 +59,10 @@
     ],
     data_device_bins_first: ["dtc_static"],
 }
+
+filegroup {
+    name: "test_avf_bcc_dat",
+    srcs: [
+        "assets/bcc.dat",
+    ],
+}
