Skip to content

Conversation

@mchack-work
Copy link
Member

@mchack-work mchack-work commented Oct 25, 2024

Description

Containerfile for tkey-app-builder. Moves the qemu dockerfile to contrib as well, adds make targets, and updates docs accordingly.

Note that the make target doesn't successfully build the qemu OCI image. This is true also for trying to build the qemu image from the dockerfile in the main branch! See #8.

A temporary fix to build qemu with the new tkey-app-builder is included in this PR. I don't know if we can use that somehow.

Relates to tillitis/tillitis-key1#272

Type of change

Please tick any that are relevant to this PR and remove any that aren't.

  • Feature (non breaking change which adds functionality)
  • Documentation (a change to documentation)

Submission checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my changes
  • I have tested and verified my changes on target
  • My changes are well written and CI is passing
  • I have squashed my work to relevant commits and rebased on main for linear history
  • I have added a "Co-authored-by: x" if several people contributed, either pair programming or by squashing commits from different authors.
  • I have updated the documentation where relevant (readme, dev.tillitis.se etc.)
  • QEMU is updated to reflect changes

- Add a tkey-app-builder OCI image source:
  contrib/tkey-app-builder.dockerfile

- Move the qemu source under contrib.

- Update documentation to reflect this.
Temporary fix to make qemu build with our new tkey-app-builder by
installing missing package for Python venv and some more supporting
packages to be able to build.

The 444ee3d26c3acf651ff1bbb12023034ccee6ed68 commit to build the
firmware doesn't seem to exist anymore in tillitis-key1 so we use the
TK1-23.03.2 tag instead.

Of course the digest will be different when we build with new version
of the tools. We have to figure this out somehow, that is build a
Bellatrix version of a more modern codebase.

We probably also want to make the Ubuntu runtime slimmer.
@dehanj
Copy link
Member

dehanj commented Oct 28, 2024

A few comments:

  • Any specific reason for using clang-17? That means we are two majors below clang/llvm. Clang-19.1 is released, so maybe we should at least use clang-18?
  • Do we need bash? Might be useful to run scripts in general.
  • It is not possible to use this image (at least out of the box) in CI for tkey-device-signer, these to jobs would fail
      - name: check for SPDX tags
        run: ./tools/spdx-ensure

      - name: make
        run: ./build.sh

Requires git and bash.

# have this as part of its name, the tag is then used for versioning the image
# (could be updates to the TKey QEMU machine).
ARG TKEYREPO_TAG=TK1-23.03.1
ARG TKEYREPO_TAG=TK1-23.03.2

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps this could be the current release version?

Suggested change
ARG TKEYREPO_TAG=TK1-23.03.2
ARG TKEYREPO_TAG=TK1-24.03

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants