SW Update / Reconfigurability #41
Labels
No Label
OPS TODO
api change
breaking api change
bug
documentation
duplicate
feature
help wanted
invalid
question
wontfix
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: eive/eive-obsw#41
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Check whether
tar
,git
andcmake
run on the Q7S and if not check whether they can be installedIf patch updates are possible, prepare simple program to patch a Hello World program, done from the OBSW image.
How to perform SW updates if there is the regular image and the update image? EIVE OBSW as systemd service? How to replace running image then? Maybe separate bootloader as systemd service which takes care of copying update to regular slot?
Suggestion for regular image path: /obsw/obsw-slot0
Suggestion for update/backup image path: /obsw/obsw-slot1
Patch is not possible, would require GCC toolchain on the system which is not feasibly due to size constraints. Regular updating via file transfer onto the SD card should still work.
Regular image path:
/usr/bin/eive_obsw
, started as asystemd
serviceBackup images:
/mnt/sdX/obsw/eive_obsw<dataString>.bak
, with X being the currently active/preferred SD cardSW update image currently being built:
/mnt/sdX/obsw/eive_obsw
SW update will be tranferred with CFDP
SW update manager class will take care of:
.bak
at the endsystemd
will take care of running it automatically on restartCoreController
will expose command to restart on a specific flash card/slot.Updates of device tree should be possible too
Regular update path for
*.xdi
files:/mnt/sdX/xdi
The command to copy the OBSW to a specific slot will be exposed as well. Three commands will be available:
Need to profile the
cp
command for larger images. If it takes a long time, useCommandExecutor
to copy it in the background conveniently.This was implemented, see update section in README