Struct BuildIgvmCliCustomizations

Source
pub struct BuildIgvmCliCustomizations {
Show 18 fields pub build_label: Option<String>, pub override_kernel_pkg: Option<KernelPackageKindCli>, pub override_openvmm_hcl_feature: Vec<String>, pub override_arch: Option<BuildIgvmArch>, pub override_manifest: Option<PathBuf>, pub with_perf_tools: bool, pub with_debuginfo: bool, pub custom_openvmm_hcl: Option<PathBuf>, pub custom_openhcl_boot: Option<PathBuf>, pub custom_uefi: Option<PathBuf>, pub custom_kernel: Option<PathBuf>, pub custom_kernel_modules: Option<PathBuf>, pub custom_vtl0_kernel: Option<PathBuf>, pub custom_layer: Vec<PathBuf>, pub custom_directory: Vec<PathBuf>, pub custom_extra_rootfs: Vec<PathBuf>, pub with_sidecar: bool, pub custom_sidecar: Option<PathBuf>,
}

Fields§

§build_label: Option<String>

Set a custom label for this build-igvm invocation. If no label is provided, customized IGVM files will be output with the label {base_recipe_name}-custom

§override_kernel_pkg: Option<KernelPackageKindCli>

Override which kernel package to use.

§override_openvmm_hcl_feature: Vec<String>

Pass additional features when building openmm_hcl

§override_arch: Option<BuildIgvmArch>

Override architecture used when building. You probably don’t want this - prefer changing the base recipe to something more appropriate.

§override_manifest: Option<PathBuf>

Override the json manifest passed to igvmfilegen, none means the debug/release manifest from the base recipe will be used.

§with_perf_tools: bool

Ensure perf tools are included in the release initrd.

Ensures that openvmm_hcl is not stripped, so that perf tools work correctly, and requires that the file be built in --release mode, so that perf numbers are more representative of production binaries.

§with_debuginfo: bool

Preserve debuginfo in the openvmm_hcl binary in the IGVM file.

This increases the VTL2 memory requirements significantly, and will likely require passing a --override-manifest to compensate.

§custom_openvmm_hcl: Option<PathBuf>

Path to custom openvmm_hcl binary, none means openhcl will be built.

§custom_openhcl_boot: Option<PathBuf>

Path to custom openhcl_boot, none means the boot loader will be built.

§custom_uefi: Option<PathBuf>

Path to custom uefi MSVM.fd, none means the packaged uefi will be used.

§custom_kernel: Option<PathBuf>

Path to custom kernel vmlinux / Image, none means the packaged kernel will be used.

§custom_kernel_modules: Option<PathBuf>

Path to kernel modules, none means the packaged kernel modules will be used.

§custom_vtl0_kernel: Option<PathBuf>

Path to custom vtl0 linux kernel to use if the manifest includes a direct-boot linux VM.

If not specified, the packaged openvmm test linux direct kernel is used.

§custom_layer: Vec<PathBuf>

Additional layers to be included in the initrd

§custom_directory: Vec<PathBuf>

Additional directories to be included in the initrd

§custom_extra_rootfs: Vec<PathBuf>

Additional rootfs.config files to use to generate the initrd

§with_sidecar: bool

(experimental) Include the AP kernel in the IGVM file

§custom_sidecar: Option<PathBuf>

(experimental) Path to custom sidecar kernel binary, none means sidecar will be built.

Trait Implementations§

Source§

impl Args for BuildIgvmCliCustomizations

Source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
Source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via [FromArgMatches::from_arg_matches_mut] Read more
Source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via [FromArgMatches::update_from_arg_matches_mut] Read more
Source§

impl FromArgMatches for BuildIgvmCliCustomizations

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.