-
Notifications
You must be signed in to change notification settings - Fork 3
Workflow
-
Either
-
the GitHub CLI, e.g.,
gh repo fork ssh://[email protected]/scarv/sca3s-harness.git --clone='false'
or
-
the GitHub UI:
-
-
Either use
-
the GitHub CLI,
gh repo clone sca3s-harness ./sca3s-harness
noting that in the example above, it is possible to clone the repository at the same time as creating the fork, or
-
git itself:
git clone ssh://[email protected]/${USER}/sca3s-harness.git ./sca3s-harness
-
-
Execute
cd ./sca3s-harness source ./bin/conf.sh
to configure the environment. For example, you should find that the
REPO_HOME
environment variable is set appropriately.
-
Decide on the kernel your target implementation will include; set the associated environment variable, e.g.,
export KERNEL="block"
-
Edit
${REPO_HOME}/src/sca3s/harness/kernel/${KERNEL}/kernel_imp.h
to specify parameters for the target implementation.
-
Edit
${REPO_HOME}/src/sca3s/harness/kernel/${KERNEL}/kernel_imp.c
to complete the target implementation itself.
-
Decide on the board your target implementation will be built for; set the associated environment variable, e.g.,
export BOARD="native"
-
Decide on the build context; set the associated environment variable, e.g.,
export CONTEXT="docker"
-
Either
-
for a native build context, execute
make clean-harness make deps-fetch-harness make deps-build-harness make build-harness
or
-
for a Docker-based build context, execute
make clean-harness make build-harness
which, if the build succeeds, should produce associated artifacts in
${REPO_HOME}/build/${BOARD}
. -
doing so is important, in so far as a "stale" working repository
may be rejected when used via
[`sca3s.scarv.org`](https://sca3s.scarv.org).
-
Execute
git commit --all --message="updated target implementation" git push
to commit and push any changes.