pub struct Boot {
pub kernel: Option<String>,
pub initrd: Option<String>,
pub cmdline: Option<String>,
pub dtb: Option<String>,
pub firmware: Option<Firmware>,
pub loader: Option<String>,
pub nvram: Option<String>,
pub firmware_format: Option<FirmwareFormat>,
pub order: Vec<BootDevice>,
pub network: Option<NetworkBoot>,
}Expand description
How a VM boots, instead of the way its image does. Paths are on the hypervisor’s host (the
hypervisor reads them, not Isoloom), so they are absolute. Vagrant’s libvirt provider boots
every field and its QEMU provider firmware_format; the other targets refuse a machine with
one.
Fields§
§kernel: Option<String>A kernel to boot directly, instead of the image’s boot loader.
initrd: Option<String>The initial RAM disk booted with kernel.
cmdline: Option<String>The command line passed to kernel (console=ttyS0 root=/dev/vda1).
dtb: Option<String>A device tree blob for kernel (ARM boards).
firmware: Option<Firmware>The firmware the VM boots through: bios, or uefi (on libvirt, with its file in
loader; Proxmox and QEMU bring their own).
loader: Option<String>A UEFI firmware file the VM boots through (OVMF’s OVMF_CODE.fd).
nvram: Option<String>The file that keeps the firmware’s variables between boots (with loader).
firmware_format: Option<FirmwareFormat>The format of the UEFI firmware files the hypervisor loads: raw (QEMU’s own, as
Homebrew ships them) or qcow2 (some distributions’). Vagrant’s QEMU provider needs it
to load them; libvirt reads the format from the file itself.
order: Vec<BootDevice>The devices to boot from, in order ([network, hd] tries a network boot first).
network: Option<NetworkBoot>A network boot served on the machine’s first network: its TFTP folder and the file
DHCP hands out. order must list network.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Boot
impl<'de> Deserialize<'de> for Boot
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Boot
Source§impl JsonSchema for Boot
impl JsonSchema for Boot
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreimpl StructuralPartialEq for Boot
Auto Trait Implementations§
impl Freeze for Boot
impl RefUnwindSafe for Boot
impl Send for Boot
impl Sync for Boot
impl Unpin for Boot
impl UnsafeUnpin for Boot
impl UnwindSafe for Boot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.