pub struct DistAssemblyInputs<'a> {
pub firmware: &'a HashMap<VisibleCore, PathBuf>,
pub firmware_originals: &'a HashMap<VisibleCore, PathBuf>,
pub application: &'a Path,
pub ta: Option<&'a Path>,
pub hmi: Option<HmiStaging<'a>>,
pub dts_files: &'a [(String, String)],
pub kconfig_fragments: &'a [(String, String)],
pub boot_files: &'a [(String, String)],
pub systemd_units: &'a [(String, String)],
}Expand description
Assembles the dist/ tree from the pipeline’s build outputs.
- each firmware ELF →
firmware/<core>.elf; - each firmware ELF’s unstripped original →
firmware/<core>_original.elf(retains the.defmtsection for host-side defmt table parsing); - the application binary →
app/<file_name>; - the signed TA (when present) →
ta/<file_name>; - the HMI assets (when present): a Cog dist tree →
www/(copied recursively), or a PocketJS<app>.js/<app>.pakpair →hmi/; - each
(name, contents)Linux device tree →dts/linux/<name>; a.dtsooverlay is verified withdtc(seeverify_dts), a merged.dtsis not (see below); - each
(name, contents)kernel config fragment →kernel/<name>; - each
(name, contents)boot-args file →boot/<name>; - each
(name, contents)systemd unit →systemd/<name>.
A .dtso overlay uses only the interrupt macros this module defines, so it is
self-contained enough to dtc-verify here (before the systemd units, so a
rejection fails early). A merged .dts #includes vendor .dtsi/dt-bindings
headers that are not on disk offline, so it is written but not compiled here;
the kernel build performs the final dtc.
Fields§
§firmware: &'a HashMap<VisibleCore, PathBuf>§firmware_originals: &'a HashMap<VisibleCore, PathBuf>The unstripped <core>_original.elf per core (keeps the .defmt section),
staged alongside the deployable ELF for host-side defmt table parsing.
application: &'a Path§ta: Option<&'a Path>§hmi: Option<HmiStaging<'a>>§dts_files: &'a [(String, String)]§kconfig_fragments: &'a [(String, String)]§boot_files: &'a [(String, String)]§systemd_units: &'a [(String, String)]Auto Trait Implementations§
impl<'a> Freeze for DistAssemblyInputs<'a>
impl<'a> RefUnwindSafe for DistAssemblyInputs<'a>
impl<'a> Send for DistAssemblyInputs<'a>
impl<'a> Sync for DistAssemblyInputs<'a>
impl<'a> Unpin for DistAssemblyInputs<'a>
impl<'a> UnsafeUnpin for DistAssemblyInputs<'a>
impl<'a> UnwindSafe for DistAssemblyInputs<'a>
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
Mutably borrows from an owned value. Read more