Implement kexec

To support ramdump of VMs, implement a kexec binary and add it to
Microdroid. The binary will be used to preload the kernel and the init
ramdisk that the system will boot into when a kernel panic occurs.

The binary is very minimal. It has much less functionalities than the
upstream kexec-tools. It has a different cmdline interface, and is just
a thin wrapper around the kexec_file_load syscall. It supports loading
the kernel and the ramdisk only for the exec-on-crash use case.

Bug: 237380224
Test: run kexec on Microdroid
Change-Id: I75610d4f55c97a79a7200ecf9e8aa7fc7b12c010
3 files changed
tree: af86bea30212d0976aeeacb65040548e5c11aa09
  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.