Snap for 11853201 from 594749c1b03c2f9ac19dc8c2a6948b9bc058aafe to 24Q3-release
Change-Id: Ia606489a78e8b1c90955d7ff9e2863a6d5e19f31
diff --git a/apex/empty-payload-apk/Android.bp b/apex/empty-payload-apk/Android.bp
index 01bf795..d890d9a 100644
--- a/apex/empty-payload-apk/Android.bp
+++ b/apex/empty-payload-apk/Android.bp
@@ -9,6 +9,7 @@
apex_available: ["com.android.virt"],
sdk_version: "system_current",
jni_uses_platform_apis: true,
+ use_embedded_native_libs: true,
min_sdk_version: "34",
target_sdk_version: "34",
compile_multilib: "first",
diff --git a/docs/custom_vm.md b/docs/custom_vm.md
index 57a1b0d..36f5998 100644
--- a/docs/custom_vm.md
+++ b/docs/custom_vm.md
@@ -34,6 +34,21 @@
As of today (April 2024), ChromiumOS is the only officially supported guest
payload. We will be adding more OSes in the future.
+#### Download from build server
+
+ - Step 1) Go to the link https://ci.chromium.org/ui/p/chromeos/builders/chromiumos/ferrochrome-public-main/
+ - Note: I 'searched' the ferrochrome target with builder search.
+ - Step 2) Click a build number
+ - Step 3) Expand steps and find `48. upload artifacts`.
+ - Step 4) Click `gs upload dir`. You'll see Cloud storage with comprehensive artifacts (e.g. [Here](https://pantheon.corp.google.com/storage/browser/chromiumos-image-archive/ferrochrome-public/R126-15883.0.0) is the initial build of ferrochrome)
+ - Step 5) Download `image.zip`, which contains working vmlinuz.
+ - Note: DO NOT DOWNLOAD `vmlinuz.tar.xz` from the CI.
+ - Step 6) Uncompress `image.zip`, and boot with `chromiumos_test_image.bin` and `boot_images/vmlinuz`.
+ - Note: DO NOT USE `vmlinuz.bin`.
+
+IMPORTANT: DO NOT USE `vmlinuz.bin` for passing to crosvm. It doesn't pick-up the correct `init` process (picks `/init` instead of `/sbin/init`, and `cfg80211` keeps crashing (i.e. no network)
+
+
#### Build ChromiumOS for VM
First, check out source code from the ChromiumOS and Chromium projects.
@@ -122,7 +137,7 @@
You need two outputs:
* ChromiumOS disk image: ~/chromiumos/src/build/images/ferrochrome/latest/chromiumos_test_image.bin
-* The kernel: ~/chromiumos/out/build/ferrochrome/boot/vmlinuz
+* The kernel: ~/chromiumos/src/build/images/ferrochrome/latest/boot_images/vmlinuz
### Create a guest VM configuration
diff --git a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
index e7e9ded..f424ce0 100644
--- a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
+++ b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
@@ -59,6 +59,7 @@
import org.json.JSONObject;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestName;
@@ -660,6 +661,7 @@
}
@Test
+ @Ignore("b/341087884") // TODO(b/341087884): fix & re-enable
public void testTombstonesAreGeneratedUponKernelCrash() throws Exception {
assumeFalse("Cuttlefish is not supported", isCuttlefish());
assumeFalse("Skipping test because ramdump is disabled on user build", isUserBuild());
diff --git a/vm_payload/Android.bp b/vm_payload/Android.bp
index 97d4649..229f533 100644
--- a/vm_payload/Android.bp
+++ b/vm_payload/Android.bp
@@ -79,6 +79,7 @@
// Implementation is available inside a Microdroid VM.
implementation_installable: false,
},
+ visibility: ["//visibility:public"],
}
// Just the headers. Mostly useful for clients that only want the
@@ -88,6 +89,7 @@
defaults: ["avf_build_flags_cc"],
apex_available: ["com.android.compos"],
export_include_dirs: ["include"],
+ visibility: ["//visibility:public"],
}
// Restricted headers for use by internal clients & associated tests.