diagrams and simulation
This commit is contained in:
1 parent
bf9871eb9e
commit
d65910a7c5
18 files changed
+926
-4
No files matched your search
@@ -0,0 +1,43 @@
|
||||
@startuml
|
||||
title A/B storage: logical areas and access responsibilities
|
||||
left to right direction
|
||||
skinparam shadowing false
|
||||
skinparam monochrome true
|
||||
|
||||
actor "Installer" as installer
|
||||
actor "Boot control" as boot
|
||||
actor "OTA manager /\nconfirmation program" as manager
|
||||
actor "Running system\nand applications" as runtime
|
||||
|
||||
rectangle "Device storage (logical areas, not a partition table)" {
|
||||
rectangle "Shared boot components\nSeparate update and recovery method" as shared
|
||||
database "Boot state\nNormal slot, trial target, attempts, confirmation" as state
|
||||
rectangle "Slot A: retained system\nKernel + device tree + root filesystem" as A
|
||||
rectangle "Slot B: update target\nKernel + device tree + root filesystem" as B
|
||||
database "Persistent device data" as data {
|
||||
rectangle "Identity and calibration\nRestricted access" as identity
|
||||
rectangle "Configuration and application data\nMust support the retained version" as appdata
|
||||
rectangle "OTA progress, failure blocks\nand pending reports" as progress
|
||||
}
|
||||
rectangle "Download and work area\nDisposable preparation files" as work
|
||||
}
|
||||
|
||||
installer --> B : replace inactive slot
|
||||
installer --> work : use temporary files
|
||||
boot --> shared : execute
|
||||
boot --> state : read / save before Linux starts
|
||||
boot --> A : select matching components
|
||||
boot --> B : select matching components
|
||||
manager --> state : request trial / confirm\nthrough platform interface
|
||||
manager --> progress : read / save
|
||||
runtime --> appdata : read / write
|
||||
runtime --> identity : authorized access only
|
||||
|
||||
legend bottom
|
||||
A is running while B is prepared. Preserve A, boot state and device data.
|
||||
Persistent device data survives replacement of either system slot.
|
||||
Shared data is not rolled back by selecting A.
|
||||
Both system versions must understand the recovery records they read.
|
||||
Separate logical areas do not guarantee safe writes or whole-device recovery.
|
||||
endlegend
|
||||
@enduml
|
||||
Reference in new issue
Block a user