Comments (1)
So, rustBoot uses (its own) state-ids to represent the state of a (boot/update) partition. The state-id is actually a single-byte identifier that lives at the end of boot/update partition. It looks something like this - on flash-memory
[...header...][...padding...][....firmware image....][.... free space....][...partition sector flags...][single byte partition status][4-byte trailer magic]
- StateNew or (0xFF) means the image was never staged for boot, or triggered for an update.
- StateUpdating or (0x70): This is only valid in the
update
partition. This basically means that the OS/firmware has marked an image asready for update
and should replace the current image in the boot partition on the next reboot. - StateTesting or (0x10): This is only valid in the
boot
partition. It means the image has just been updated, and is pending a reboot. If we see the same state after a reboot, it means that the updated image failed to boot, despite being correctly verified. This particular situation triggers a rollback. - StateSuccess (0x00): This is only valid in the
boot
partition. It means the new image is stored inboot
has been successfully staged at least once, and the update is now complete.
from rustboot.
Related Issues (20)
- No available debug probes are connected HOT 1
- Add support for a QSPI enabled flash-driver for the RP2040 board HOT 3
- Add a rust-based flash driver for STM32F334 dev-board HOT 2
- Add a rust-based NVMC driver for the STM32F446RE board HOT 4
- Add a rust-based NVMC driver for the ATSAM4L8-XPRO board HOT 2
- rustBoot image signing tools HOT 11
- Add a rust-based flash driver for 'STM32L562E-DK' board HOT 1
- Add rust-based flash driver for the "STM32H723ZG" board HOT 1
- Add rust-based flash driver for the "STM32F746ZG" board
- Order IMX-8 chip set. HOT 8
- Upgrade board specific dependencies HOT 2
- Add support for STM32F469 MCU in examples HOT 10
- Add support for the nRF9160 HOT 4
- Rust based driver development for secure element STSAFE-A100 HOT 1
- Add a rust-based secure element "NXP SE050" driver for ARM TrustZone-M and A
- Support for NRF9160DK
- Build a prototype impl for a firmware distribution platform using ockam's secure channels HOT 1
- Could this boot a smartphone image?
- Firmware distribution platform based on IPFS protocol
- Potential for putting partitions in invalid state for smt32h723 HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rustboot.