No description
Find a file
Sebastian Hereu c1c27448a3 devices: x86_64: add bootindex
Currently, crosvm running with --bios <OVMF executable> will only boot
from available block devices if started with a clean BIOS pflash. If
crosvm is not run with a clean pflash, OVMF will get confused and refuse
to boot. The reason for this behavior is that OVMF expects a "bootorder"
file to be present in the fw_cfg device to calibrate its boot order.
This CL allows fw_cfg to specify bootorder, solving the inconsistent
booting behavior. Boot order is specified from the command line with the
bootindex=NUM argument.The bootindex argument is available for block
devices specified with the --block flag. Note that the --fw-cfg flag
must be specified w/ at least on file (can be an empty file with a
random name) on the command line for fw_cfg to actually be made
available to the guest. Also, further investigation is needed if we wish
to boot from pmem devices in the future. See crosvm run -h for more
information about the bootindex argument.

BUG=b:243051819

Change-Id: Ieae1e2cacc14c018832b228db898884281c38a96
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4755415
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Sebastian Hereu <sebastianhereu@google.com>
2023-08-18 22:11:48 +00:00
.cargo
.config
.devcontainer dev_container: Replace better toml extension 2023-07-27 23:37:15 +00:00
.github
.vscode
aarch64 acpi: x86: add support for ACPI Notify() forwarding 2023-07-27 11:30:18 +00:00
acpi_tables
arch devices: x86_64: add bootindex 2023-08-18 22:11:48 +00:00
argh_helpers
audio_streams_conformance_test Move audio_streams_conformance test to workspace 2023-07-26 18:19:15 +00:00
audio_util
base Cargo.toml: add version to chrono dependencies 2023-08-11 21:02:25 +00:00
bit_field
broker_ipc
common Replace internal p9 with crates.io versio 2023-08-14 18:34:51 +00:00
cros_async cros_async: epoll: dup FD once per source, instead of per op 2023-08-15 22:13:29 +00:00
cros_fdt
cros_tracing
cros_tracing_types
crosvm_cli devices: pci: remove AC97 codes 2023-08-11 03:29:31 +00:00
crosvm_control balloon: add optional response to adjust 2023-08-16 04:44:01 +00:00
crosvm_plugin
devices devices: x86_64: add bootindex 2023-08-18 22:11:48 +00:00
disk
docs/book docs: Add a link to how to run tryjob. 2023-08-18 02:29:55 +00:00
e2e_tests e2e_tests: Allow rootfs to be compressed and/or rw 2023-08-15 23:03:19 +00:00
fuse
fuzz devices: x86_64: add bootindex 2023-08-18 22:11:48 +00:00
gpu_display gpu_display: delete unused field and method GpuDisplay::is_x 2023-08-18 18:23:25 +00:00
hypervisor hypervisor: whpx: save/restore TSC in snapshots. 2023-08-15 19:35:28 +00:00
infra Roll recipe dependencies (trivial). 2023-08-18 21:46:06 +00:00
io_uring
jail devices: video: update jail settings to support VAAPI backend 2023-08-08 14:58:10 +00:00
kernel_cmdline
kernel_loader
kvm
kvm_sys
libcras_stub
linux_input_sys linux_input_sys: Move event code constants from virtio_input (devices 2023-08-17 21:31:24 +00:00
logo
media
metrics Cargo.toml: add version to chrono dependencies 2023-08-11 21:02:25 +00:00
net_sys
net_util net: Make slirp capture optional even if feature is on 2023-08-14 23:24:19 +00:00
perfetto
power_monitor
prebuilts
proto_build_tools
protos Reland "Reland "balloon: rename WSS to WS"" 2023-08-01 20:26:39 +00:00
qcow_utils
resources
riscv64 riscv64: update generate_pci_root return value 2023-08-01 20:22:56 +00:00
rutabaga_gfx rutabaga_gfx: expand wildcard data_model import 2023-08-16 19:35:38 +00:00
sandbox
serde_keyvalue
src devices: x86_64: add bootindex 2023-08-18 22:11:48 +00:00
swap swap: count resident pages even while vmm-swap is disabled 2023-07-26 01:23:18 +00:00
system_api system_api: Remove UserDataAuth 2023-08-15 11:08:04 +00:00
tests
third_party vmm_vhost: renumber SHARED_MEMORY_REGIONS 2023-08-07 17:41:47 +00:00
tools tools: contrib: Add memstats_chart 2023-08-10 02:17:22 +00:00
tpm2
tpm2-sys
tube_transporter
usb_sys devices: usb: Support Bulk Streams 2023-08-07 08:39:35 +00:00
usb_util devices: usb: Support Bulk Streams 2023-08-07 08:39:35 +00:00
vendor
vfio_sys acpi: x86: add support for ACPI Notify() forwarding 2023-07-27 11:30:18 +00:00
vhost
virtio_sys
vm_control balloon: add optional response to adjust 2023-08-16 04:44:01 +00:00
vm_memory
win_audio
win_util
x86_64 devices: x86_64: add bootindex 2023-08-18 22:11:48 +00:00
.dockerignore
.envrc
.gitignore
.gitmodules
.rustfmt.toml
ARCHITECTURE.md
Cargo.lock Replace internal p9 with crates.io versio 2023-08-14 18:34:51 +00:00
Cargo.toml Replace internal p9 with crates.io versio 2023-08-14 18:34:51 +00:00
CONTRIBUTING.md CONTRIBUTION.md : update incorrect command in docs 2023-08-03 19:36:52 +00:00
DIR_METADATA
LICENSE
mypy.ini
OWNERS
OWNERS_COUNCIL
PRESUBMIT.cfg
pyproject.toml
README.chromeos.md
README.md
rust-toolchain

crosvm - The ChromeOS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linuxs KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the ChromeOS platform. Compared to QEMU, crosvm doesnt emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.

crosvm is currently used to run Linux/Android guests on ChromeOS devices.

Logo