SW Update / Reconfigurability #41

Closed
opened 2021-05-27 17:25:07 +02:00 by muellerr · 3 comments
Owner
  • Check whether tar, git and cmake run on the Q7S and if not check whether they can be installed

  • If 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

- Check whether `tar`, `git` and `cmake` run on the Q7S and if not check whether they can be installed - If 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
muellerr added the
documentation
label 2021-05-27 17:38:45 +02:00
muellerr added a new dependency 2021-06-21 17:57:47 +02:00
muellerr removed a dependency 2021-06-21 17:57:56 +02:00
Author
Owner

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 a systemd service
Backup images: /mnt/sdX/obsw/eive_obsw<dataString>.bak , with X being the currently active/preferred SD card
SW 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:

  1. Making a backup of the uploaded image by copying it and adding date string + .bak at the end
  2. Copying the SW update to the image path of another of the three flash cards/slots. systemd will take care of running it automatically on restart
  3. To run the new image, operator has to restart the OBC. CoreController 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

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 a `systemd` service Backup images: `/mnt/sdX/obsw/eive_obsw<dataString>.bak` , with X being the currently active/preferred SD card SW 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: 1. Making a backup of the uploaded image by copying it and adding date string + `.bak` at the end 2. Copying the SW update to the image path of another of the three flash cards/slots. `systemd` will take care of running it automatically on restart 3. To run the new image, operator has to restart the OBC. `CoreController` 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`
Author
Owner

The command to copy the OBSW to a specific slot will be exposed as well. Three commands will be available:

  1. Copy to other slot on same chip
  2. Copy to other chip slot 0
  3. Copy to other chip slot 1

Need to profile the cp command for larger images. If it takes a long time, use
CommandExecutor to copy it in the background conveniently.

The command to copy the OBSW to a specific slot will be exposed as well. Three commands will be available: 1. Copy to other slot on same chip 2. Copy to other chip slot 0 3. Copy to other chip slot 1 Need to profile the `cp` command for larger images. If it takes a long time, use `CommandExecutor` to copy it in the background conveniently.
Author
Owner

This was implemented, see update section in README

This was implemented, see [update](https://egit.irs.uni-stuttgart.de/eive/eive-obsw) section in README
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: eive/eive-obsw#41
No description provided.