crosvm/docs/book/src/onboarding.md
Dennis Kempin 6b06f405ff docs: Use mdformat to format markdown files
The tool is added to ./tools/fmt which will be called during
./tools/presubmit as well as by Kokoro during testing.

This requires a new dev container version to bundle the mdformat
tool in the container.

Note: mdformat does not have any IDE integrations, but the prettier
plugin with prose-wrap enabled and a line length of 100 provides
almost identical results.

BUG=None
TEST=./tools/fmt --check

Change-Id: I0ae5659eff8555df7c85c70e62095a1e116b98da
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3416098
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2022-01-27 21:29:11 +00:00

3.8 KiB
Raw Blame History

Onboarding Resources

Various links to useful resources for learning about virtual machines and the technology behind crosvm.

Talks

Chrome University by zachr (2018, 30m)

  • Life of a Crostini VM (user click -> terminal opens)
  • All those French daemons (Concierge, Maitred, Garcon, Sommelier)

NYULG: Crostini by zachr / reveman (2018, 50m)

  • Overlaps Chrome University talk
  • More details on wayland / sommelier from reveman
  • More details on crostini integration of app icons, files, clipboard
  • Lots of demos

Introductory Resources

OS Basics

Rust

KVM Virtualization

Virtio (device emulation)

VFIO (Device passthrough)

Virtualization History and Basics

  • By the end of this section you should be able to answer the following questions
    • What problems do VMs solve?
    • What is trap-and-emulate?
    • Why was the x86 instruction set not “virtualizable” with just trap-and-emulate?
    • What is binary translation? Why is it required?
    • What is a hypervisor? What is a VMM? What is the difference? (If any)
    • What problem does paravirtualization solve?
    • What is the virtualization model we use with Crostini?
    • What is our hypervisor?
    • What is our VMM?
  • CMU slides go over motivation, why x86 instruction set wasnt “virtualizable” and the good old trap-and-emulate
  • Why Intel VMX was needed; what does it do (Link)
  • What is a VMM and what does it do (Link)
  • Building a super simple VMM blog article (Link)

Relevant Specs