add support for tar flashable idle/startup (sub)kernels #279

Merged
sb10q merged 1 commits from mwojcik/artiq-zynq:tarred_subkernels into master 2023-11-13 18:15:28 +08:00

This PR adds support for idle/startup kernels in .TAR format. It is basically the same as on ARTIQ, although idle kernel behavior is of course different.

Requires artiq#2263 to fully run.

The tar-no-std library required a small change from the original 0.1.8 version, that's why it's a fork on my GitHub for now - that probably could be moved to Gitea.

Tested with SoC master and 2.0 satellite.

This PR adds support for idle/startup kernels in .TAR format. It is basically the same as on ARTIQ, although idle kernel behavior is of course different. Requires artiq#2263 to fully run. The ``tar-no-std`` library required a small change from the original ``0.1.8`` version, that's why it's a fork on my GitHub for now - that probably could be moved to Gitea. Tested with SoC master and 2.0 satellite.
mwojcik added 1 commit 2023-11-03 16:23:22 +08:00

What is the purpose of TAR kernels?
Is it the way to run different kernels across master/sats?

What is the purpose of TAR kernels? Is it the way to run different kernels across master/sats?
Poster
Owner

What is the purpose of TAR kernels?
Is it the way to run different kernels across master/sats?

Currently, kernels with subkernels can be run only from the PC side, as each subkernel is compiled into a separate binary, then sent through master to appropriate satellite.

So it would be impossible to use them as an idle or startup kernel, as these just take a single ELF file for now.

To help with that we can pack up the main ELF and subkernel ELFs together into a single TAR file and then upload it onto the device - the firmware will unpack it and send the subkernels to appropriate destinations.

> What is the purpose of TAR kernels? > Is it the way to run different kernels across master/sats? Currently, kernels with subkernels can be run only from the PC side, as each subkernel is compiled into a separate binary, then sent through master to appropriate satellite. So it would be impossible to use them as an idle or startup kernel, as these just take a single ELF file for now. To help with that we can pack up the main ELF and subkernel ELFs together into a single TAR file and then upload it onto the device - the firmware will unpack it and send the subkernels to appropriate destinations.
mwojcik force-pushed tarred_subkernels from 5199defaff to 38af2de0c0 2023-11-07 17:30:00 +08:00 Compare
mwojcik force-pushed tarred_subkernels from 38af2de0c0 to b9fd750091 2023-11-09 17:01:01 +08:00 Compare
mwojcik force-pushed tarred_subkernels from b9fd750091 to aebc739c1e 2023-11-13 11:24:26 +08:00 Compare
sb10q merged commit aebc739c1e into master 2023-11-13 18:15:28 +08:00
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
2 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: M-Labs/artiq-zynq#279
There is no content yet.