Firmware Update
The SRX-8 software consists of two firmware images and a single bootloader. Both firmware images can be upgraded on-orbit using CSP while the bootloader can only be upgraded on ground.
The sys.boot.slot property shows which firmware image is currently running. The boot status
command can be used to see additional information about the state of the two firmware images:
[satctl] srx8 boot status
[slot 0] booted, preferred
status: stable
priority: 1
attempts: 2
contents: valid
[slot 1]
status: stable
priority: 0
attempts: 3
contents: valid
By default, the SRX-8 will always boot the stable image with the highest priority, which is
indicated by the preferred keyword in the example above. Booting any of the
images for a number of boots can be configured using BLIB.
A firmware image can be marked as stable using BLIB, but it will also be marked stable
automatically after an uptime of 120 seconds.
Satlab supplies the blib-update script that simplifies the firmware update process by wrapping
the process outlined below into a single command.
satlab@satlab:~$ blib-update -d 28 --mark-stable -c <can_device> <path_to_.slim_file>
The blib-update tool is part of satctl which can be obtained here: https://resources.satlab.com/software/satctl/
Manual Firmware Update
The boot flash command can be used to update a firmware image. Firmware images are stored
in SLIM (SatLab IMage) files. The SLIM file must already be transferred to the SRX-8 transmitter using BTP.
Firmware file uploads must use a block size of 128, which can be specified using the -s 128
argument to the btp command. The name of the new SLIM file must be flash0.
The example below shows how a .slim file can be moved to the SRX-8 transmitter and flashed to slot 1
from slot 0 using satctl:
[satctl] srx8 btp remove -t 60000 flash0
[satctl] srx8 btp push -c100 -s128 -i60000 <path_to_.slim_file> flash0
[satctl] srx8 boot flash flash0 1
Flashing "flash0" to slot 1
Flashed image OK
[satctl] srx8 boot prefer 1
[satctl] srx8 reboot
It is also possible to complete the flashing process using the serial interface instead:
[srx-8] boot flash flash0 other
Flashing image from flash0 to slot 1
Successfully flashed image
[srx-8] boot prefer other
[srx-8] reboot
Note
It is not possible to overwrite the booted image.
The SRX-8 automatically marks the boot as successful 120 seconds after a successful boot. It is also possible to do this programmatically.
More information regarding boot options of the two firmware images can be found in the BLIB Client Library.
Bootloader Image
The bootloader can only be updated using the boot loader flash command. It is not possible to
update it remotely via CSP. A bootloader image is stored as a part of a firmware image. It is therefore
not required to specify a file name when updating the bootloader.
The example below shows how to update and verify the bootloader image:
[srx-8] boot loader flash
Flash bootloader? [y/N] y
[ 509.854000] boot: flashing bootloader, 325104 bytes to 0
[srx-8] boot loader verify
Bootloader matches embedded