xref: /aosp_15_r20/external/crosvm/docs/book/src/introduction.md (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker# Introduction
2*bb4ee6a4SAndroid Build Coastguard Worker
3*bb4ee6a4SAndroid Build Coastguard WorkerThe crosvm project is a hosted (a.k.a.
4*bb4ee6a4SAndroid Build Coastguard Worker[type-2](https://en.wikipedia.org/wiki/Hypervisor#Classification)) virtual machine monitor similar
5*bb4ee6a4SAndroid Build Coastguard Workerto QEMU-KVM or VirtualBox.
6*bb4ee6a4SAndroid Build Coastguard Worker
7*bb4ee6a4SAndroid Build Coastguard WorkerIt is a VMM that can run untrusted operating systems in a sandboxed environment. crosvm focuses on
8*bb4ee6a4SAndroid Build Coastguard Workersafety first and foremost, both in its language of choice (Rust) and through its
9*bb4ee6a4SAndroid Build Coastguard Worker[runtime sandbox](appendix/sandboxing.md) system. Each virtual device (disk, network, etc) is by
10*bb4ee6a4SAndroid Build Coastguard Workerdefault executed inside a [minijail](appendix/minijail.md) sandbox, isolated from the rest. In case
11*bb4ee6a4SAndroid Build Coastguard Workerof an exploit or vulnerability, this sandbox prevents an attacker from escaping and doing harmful
12*bb4ee6a4SAndroid Build Coastguard Workerthings to the host operating system. On top of that, crosvm also relies on a
13*bb4ee6a4SAndroid Build Coastguard Worker[syscall security policy](appendix/seccomp.md) that prevents unwanted system calls from being
14*bb4ee6a4SAndroid Build Coastguard Workerexecuted by a compromised device.
15*bb4ee6a4SAndroid Build Coastguard Worker
16*bb4ee6a4SAndroid Build Coastguard WorkerInitially it was intended to be used with KVM and Linux, but it now also supports
17*bb4ee6a4SAndroid Build Coastguard Worker[other types of platforms](https://github.com/google/crosvm/tree/main/hypervisor/src).
18*bb4ee6a4SAndroid Build Coastguard Worker
19*bb4ee6a4SAndroid Build Coastguard WorkerTo run crosvm all that is needed is an operating system image (a root file system plus a kernel) and
20*bb4ee6a4SAndroid Build Coastguard Workercrosvm will run it through the platform's hypervisor. See the
21*bb4ee6a4SAndroid Build Coastguard Worker[example usage](running_crosvm/example_usage.md) page to get started or visit the
22*bb4ee6a4SAndroid Build Coastguard Worker[building crosvm](building_crosvm/index.md) section to compile your own from source.
23*bb4ee6a4SAndroid Build Coastguard Worker
24*bb4ee6a4SAndroid Build Coastguard Worker- [Announcements](https://groups.google.com/a/chromium.org/g/crosvm-announce)
25*bb4ee6a4SAndroid Build Coastguard Worker- [Developer Mailing List](https://groups.google.com/a/chromium.org/g/crosvm-dev)
26*bb4ee6a4SAndroid Build Coastguard Worker- [#crosvm on matrix.org](https://matrix.to/#/#crosvm:matrix.org)
27*bb4ee6a4SAndroid Build Coastguard Worker- [Source code](https://chromium.googlesource.com/crosvm/crosvm/)
28*bb4ee6a4SAndroid Build Coastguard Worker  - [GitHub mirror](https://github.com/google/crosvm)
29*bb4ee6a4SAndroid Build Coastguard Worker  - [API documentation](https://crosvm.dev/doc/crosvm/), useful for searching API.
30*bb4ee6a4SAndroid Build Coastguard Worker  - Files for this book are under
31*bb4ee6a4SAndroid Build Coastguard Worker    [/docs/](https://chromium.googlesource.com/crosvm/crosvm/+/HEAD/docs/).
32*bb4ee6a4SAndroid Build Coastguard Worker- [Public issue tracker](https://issuetracker.google.com/issues?q=status:open%20componentid:1161302)
33*bb4ee6a4SAndroid Build Coastguard Worker  - For Googlers: See [go/crosvm#filing-bugs](https://goto.google.com/crosvm#filing-bugs).
34*bb4ee6a4SAndroid Build Coastguard Worker
35*bb4ee6a4SAndroid Build Coastguard Worker![logo](./logo.svg)
36