Skip to content

insight-bit/criu

 
 

Repository files navigation

master development Codacy Badge

CRIU for Android -- A project to implement checkpoint/restore functionality for Android

CRIU (stands for Checkpoint and Restore in Userspace) is a utility to checkpoint/restore Linux tasks. http://criu.org https://github.com/checkpoint-restore/criu

However, it is not enough just support for Linux tasks, in some case, people want to use CRIU to checkpoint/restore Android tasks. Besides, for some special cases, people want to checkpoint/restore a process tree including Linux tasks and Android tasks.

Mission in the Future

  1. Release a criu variance for Android; Build a criu variance that can be run on Android. The biggest challengeThe is the dependency of original CRIU. Certainly, we could evaluate the static version of CRIU. We give this task low priority. Because construct an Android runtime on host is possible, we could checkpoint/restore it with original CRIU.

  2. Make criu to support checkpoint/restore Android runtime; Android runtime have different libc and pthread implementation compare with generic Linux runtime

  3. Make criu to support checkpoitn/restore configfs; Android use configfs for usb devices

  4. Make criu to support checkpoint/restore Android properties sharing mapping;

  5. Make criu to support checkpoint/restore binder device (Binder IPC); Kernel: Export binder information to /proc//binder CRIU: Support binder type device and support binder ops replay

  6. Upstream the feature of checkpoint/restore Android runtime to original CRIU branch. Make criu to identify the glibc-based runtime and bionic-based runtime at runtime. In some case, especially for container, maybe the root process is Linux runtime, but the child is Android runtime, Make criu to support checkpoint/restore the process tree mixed Linux runtime (Glibc-based) and Android runtime;

Licence

The project is licensed under GPLv2 (though files sitting in the lib/ directory are LGPLv2.1).

About

Checkpoint/Restore tool

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 88.7%
  • Python 5.0%
  • Shell 2.5%
  • Makefile 2.2%
  • Assembly 0.9%
  • C++ 0.6%
  • Other 0.1%