Add crashdump kernel

microdroid_crashdump_kernel is a very small kernel that is executed when
a kernel panic occurs. Since it's only use case is to run the crashdump
binary, the kernel is very minimal. In addition, it has to be as small
as possible because the kernel has to be loaded (using kexec) in the VM
RAM before a panic occurs.

To support these needs, it is built with most configuration options
turned off, except for the followings needed for dumping the RAM:

* CONFIG_CRASH_DUMP
* CONFIG_PROC_VMCORE
* CONFIG_RELOCATABLE

This is basically following the guideline at [1].

In addition, the following device drivers are enabled.

* CONFIG_SERIAL_8250 // for use as the earlycon
* CONFIG_VIRTIO_CONSOLE // for use as the dump target

[1] https://www.kernel.org/doc/html/latest/admin-guide/kdump/kdump.html#dump-capture-kernel-config-options-arch-independent

These kernel prebuilts are for now locally built. It will soon be
replaced with the prebuilts from the build bot when the kernel config is
uploaded to the Android common kernel repo.

Bug: 237380607
Test: N/A (follow-up CLs needed)

Change-Id: I238e1dbb74c0fc47fd4bb926b7d09caef4b90e78
5 files changed
tree: 0f8cd296ed3a4b14d7099466199196260060e4d0
  1. .prebuilt_info/
  2. apex/
  3. apkdmverity/
  4. authfs/
  5. compos/
  6. demo/
  7. docs/
  8. javalib/
  9. launcher/
  10. libs/
  11. microdroid/
  12. microdroid_manager/
  13. pvmfw/
  14. tests/
  15. virtualizationservice/
  16. vm/
  17. vmbase/
  18. vmclient/
  19. zipfuse/
  20. .clang-format
  21. .gitignore
  22. Android.bp
  23. OWNERS
  24. PREUPLOAD.cfg
  25. README.md
  26. TEST_MAPPING
README.md

Virtualization

This repository contains userspace services related to running virtual machines on Android, especially protected virtual machines. See the getting started documentation and Microdroid README for more information.