| Summary: | Implement factory reset | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] Meta-yocto | Reporter: | Richard Purdie <richard.purdie> | ||||
| Component: | meta-yocto | Assignee: | Unassigned <unassigned> | ||||
| Status: | RESOLVED OBSOLETE | QA Contact: | |||||
| Severity: | enhancement | ||||||
| Priority: | Low | CC: | anibal.limon, jessica.zhang, juan.m.cruz.alcaraz, leonardo.sandoval.gonzalez, mark.d.horn, net147, patrick.ohly, poky.bs.watcher, poky.watcher, Qi.Chen, randy.macleod, sgw, tim.orling | ||||
| Version: | unspecified | ||||||
| Target Milestone: | Future | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | Yes (doc changes required) | |||||
| Attachments: |
|
||||||
|
Description
Richard Purdie
2011-10-04 07:23:03 UTC
There are another option to don't depend on filesystem but it requires partition support in Yocto that now is done by Openembedded wic tool. Example of the partition/disk, - Bootloader - Linux Recovery OS (Minimal) - Linux RW - Linux RO The Bootloader need to have a mechanism (store some value on disk?) to detect when a factory reset is needed and if factory reset is needed boot Linux recovery OS if not set boots the Linux RW. The Linux Recovery OS reads the RO partition and then writes into RW and then reset. The settings for the factory reset/partition schema needs to be specified at level of configuration. Created attachment 2479 [details]
Design
Below is an article I read some time ago. http://0pointer.net/blog/projects/stateless.html I know it's based on systemd, and our project provides both sysvinit and systemd, but I think its approach is somewhat interesting. Note that the whole implementation is on the filesystem level. Hope it would provide some useful information. //Chen Qi There are a number of layers which implement this. Please look to them for solutions: http://layers.openembedded.org/layerindex/branch/master/layer/meta-mender-core/ http://layers.openembedded.org/layerindex/branch/master/layer/meta-resin-common/ http://layers.openembedded.org/layerindex/branch/master/layer/meta-swupdate/ http://layers.openembedded.org/layerindex/branch/master/layer/meta-updatehub/ |