Skip to content

Architecture Diagrams

This page contains visual diagrams of the ELMOS architecture.


Component

High-level component architecture showing package relationships.

ELMOS Component ArchitectureELMOS Component Architecturecmd/elmoscore/appcore/configcore/contextcore/domaincore/infracore/uiassetsmain.goapp.gocommands/types.goloader.goarch.gocontext.gobuilder/emulator/rootfs/patch/module/toolchain/executor/filesystem/printer/tui/templates/
ELMOS Component ArchitectureELMOS Component Architecturecmd/elmoscore/appcore/configcore/contextcore/domaincore/infracore/uiassetsmain.goapp.gocommands/types.goloader.goarch.gocontext.gobuilder/emulator/rootfs/patch/module/toolchain/executor/filesystem/printer/tui/templates/

Sequence

Kernel build workflow sequence.

Kernel Build WorkflowKernel Build WorkflowUserelmos CLIKernelBuilderExecutorFileSystemMakeUserUserelmos CLIelmos CLIKernelBuilderKernelBuilderExecutorExecutorFileSystemFileSystemMakeMakeelmos kernel buildBuild(targets)Check kernel dir existsOKgetToolchainEnv()Run make with envmake ARCH=arm64 LLVM=1 ImageOutput streamSuccessBuild complete✓ Kernel built
Kernel Build WorkflowKernel Build WorkflowUserelmos CLIKernelBuilderExecutorFileSystemMakeUserUserelmos CLIelmos CLIKernelBuilderKernelBuilderExecutorExecutorFileSystemFileSystemMakeMakeelmos kernel buildBuild(targets)Check kernel dir existsOKgetToolchainEnv()Run make with envmake ARCH=arm64 LLVM=1 ImageOutput streamSuccessBuild complete✓ Kernel built

Class

Core domain class relationships.

Core Domain ClassesCore Domain Classesdomain/builderdomain/emulatordomain/rootfsconfigKernelBuildercfg: *Configctx: *Contextexec: Executorfs: FileSystemBuild(targets []string) errorConfigure(configType string) errorClean() errorQEMURunnercfg: *Configctx: *Contextexec: ExecutorRun(opts RunOptions) errorGetListMachines() []MachineInfoRunOptionsDebug: boolRun: boolGraphical: boolTargets: []TargetMachine: stringRootfsManagercfg: *Configexec: Executorfs: FileSystemCreate() errorUpdateDisk() errorConfigImage: ImageConfigBuild: BuildConfigQEMU: QEMUConfigPaths: PathsConfig
Core Domain ClassesCore Domain Classesdomain/builderdomain/emulatordomain/rootfsconfigKernelBuildercfg: *Configctx: *Contextexec: Executorfs: FileSystemBuild(targets []string) errorConfigure(configType string) errorClean() errorQEMURunnercfg: *Configctx: *Contextexec: ExecutorRun(opts RunOptions) errorGetListMachines() []MachineInfoRunOptionsDebug: boolRun: boolGraphical: boolTargets: []TargetMachine: stringRootfsManagercfg: *Configexec: Executorfs: FileSystemCreate() errorUpdateDisk() errorConfigImage: ImageConfigBuild: BuildConfigQEMU: QEMUConfigPaths: PathsConfig

State

Workspace state machine.

ELMOS Workspace State MachineELMOS Workspace State MachineMountedReadyConfiguringBuildingErrorRunningDebuggingelmos kernel configconfig completeelmos kernel buildbuild completebuild failedelmos qemu -rQEMU exitelmos qemu -dDebug session endfix & retryUnmountedInitialelmos initelmos exit
ELMOS Workspace State MachineELMOS Workspace State MachineMountedReadyConfiguringBuildingErrorRunningDebuggingelmos kernel configconfig completeelmos kernel buildbuild completebuild failedelmos qemu -rQEMU exitelmos qemu -dDebug session endfix & retryUnmountedInitialelmos initelmos exit

Deployment

Runtime deployment architecture.

ELMOS Deployment ViewELMOS Deployment ViewmacOS Hostelmos CLI/Volumes/elmoslinux/rootfs//.config/elmosQEMU VM/mnt/moduleselmos binarydisk.imgKernel SourceDebian Rootelmos.yamlLinux KernelRoot Filesystem9p mountmountslaunchesvirtiobuilds
ELMOS Deployment ViewELMOS Deployment ViewmacOS Hostelmos CLI/Volumes/elmoslinux/rootfs//.config/elmosQEMU VM/mnt/moduleselmos binarydisk.imgKernel SourceDebian Rootelmos.yamlLinux KernelRoot Filesystem9p mountmountslaunchesvirtiobuilds