- Problem:
- Distribute Software Updates to customers
- Solution:
- use cheap standard media like USB memory sticks
- Implementation:
-
- Keep BOM (Versions, Timestamps etc.) in persistent memory (EEPROM etc.)
- When booting, check whether a USB memory stick is plugged in.
- If one is found:
- If
prepare.img
is found load it into memory.
If it is valid then run it (always).
- If
preinst.img
is found load it into memory.
If it is valid then run it. Update the EEPROM.
- If
firmware.img
is found load it into memory.
If it is valid, burn it into FLASH and update the EEPROM.
- If
kernel.img
is found load it into memory.
If it is valid, burn it into FLASH and update the EEPROM.
- If
app.img
is found load it into memory.
If it is valid, burn it into FLASH and update the EEPROM.
- If
disk.img
is found load it into memory.
If it is valid, burn it into FLASH and update the EEPROM.
- If
postinst.img
is found load it into memory.
If it is valid then run it. Update the EEPROM.